S3F80P5_UM_ REV1.00 INSTRUCTION SET
ENTER — Enter
ENTER
Operation: SP ← SP – 2
@SP ← IP
IP ← PC
PC ← @IP
IP ← IP + 2
This instruction is useful when implementing threaded-code languages. The contents of the
instruction pointer are pushed to the stack. The program counter (PC) value is then written to the
instruction pointer. The program memory word that is pointed to by the instruction pointer is
loaded into the PC, and the instruction pointer is incremented by two.
Flags: No flags are affected.
Format:
Bytes Cycles Opcode
(Hex)
opc 1 14 1F
Example: The diagram below shows one example of how to use an ENTER statement.
0050
IP
0022
SP
22 Data
Address Data
0040
PC 40
41
42
43
Enter
Address H
Address L
Address H
Address Data
1F
01
10
Memory
0043
IP
0020
SP
20
21
22
IPH
IPL
Data
Address Data
0110
PC 40
41
42
43
Enter
Address H
Address L
Address H
Address Data
1F
01
10
Memory
00
50
Stack Stack
110 Routine
Before After
6-41