3, 2.42.4, and 2.5 out, 3, 2.42.4, and – Echelon FT 3150 Smart Transceiver User Manual

Page 18

Advertising
background image

Chapter 2 - Hardware Resources

12

FT 3120 / FT 3150 Smart Transceiver Data Book

Table 2.3 Program Control Instructions

Table 2.4 Memory/Stack Instructions

Mnemonic

Cycles

Size (bytes)

Description

Comments

NOP

1

1

No operation

SBR

1

1

Short unconditional branch

Offset 0 to 15

BR/BRC/
BRNC

2

2

Branch, branch on (not) carry

Offset -128 to +127

SBRZ/SBRNZ

3

1

Short branch on TOS (not)
zero

Offset 0 to 15. Drops TOS

BRF

4

3

Unconditional branch far

Absolute address

BRZ/BRNZ

4

2

Branch on TOS (not) zero

Offset -128 to +127. Drops TOS

RET

4

1

Return from subroutine

Drops two bytes from return
stack

BRNEQ

4/6

3

Branch if TOS not equal
(taken/not taken)

Offset -128 to +127. Drops TOS
if equal

DBRNZ

5

2

Decrement [RSP] and branch
if not zero

Offset -128 to +127. If not
taken, drops one byte from
return stack

CALLR

5

2

Call subroutine relative

Offset -128 to +127. Pushes two
bytes to return stack

CALL

6

2

Call subroutine

Address in low 8KB. Pushes
two bytes to return stack

CALLF

7

3

Call subroutine far

Absolute address. Pushes two
bytes to return stack

Mnemonic

Cycles

Size (bytes)

Comments / Effective Address (EA)

PUSH TOS

3

1

Increment DSP, duplicate TOS into NEXT

DROP TOS

3

1

Move NEXT to TOS, decrement DSP

DROP_R TOS

6

1

Move NEXT to TOS, decrement DSP, return from
call

PUSH (NEXT, DSP, RSP,
FLAGS)

4

1

Push processor register

POP (DSP, RSP, FLAGS)

4

1

Pop processor register

DROP NEXT

2

1

Decrement DSP

DROP_R NEXT

5

1

Decrement DSP and return from call

PUSH/POP !D

4

1

Byte register [8 to 23]

PUSH !TOS

4

1

EA = BP + TOS, push byte to NEXT

POP !TOS

4

1

EA = BP + TOS, pop byte from NEXT

PUSH [RSP]

4

1

Push from return stack to data stack, RSP
unchanged

DROP [RSP]

2

1

Increment RSP

PUSHS #literal

4

1

Push short literal value [0 to 7]

PUSH #literal

4

2

Push 8-bit literal value [0 to 255]

PUSHPOP

5

1

Pop from return stack, push to data stack

POPPUSH

5

1

Pop from data stack, push to return stack

LDBP address

5

3

Load base page pointer with 16-bit value

PUSH/POP [DSP][-D]

5

1

EA = BP + DSP - displacement [1 to 8]

PUSHD #literal

6

3

16-bit literal value (high byte first)

PUSHD [PTR]

6

1

Push from 16-bit pointer [0 to 3], high byte first

Advertising
This manual is related to the following products: