Stack Instructions
| Mnemonic | Bytes | T-States | Description |
|---|---|---|---|
| push qq | 1 | 11 | Pushes qq onto the stack |
| push ii | 2 | 15 | Pushes ii onto the stack |
| pop qq | 1 | 10 | Pops qq from the stack |
| pop ii | 2 | 14 | Pops ii from the stack |
Relative and Absolute Jumps
| Mnemonic | Bytes | T-States | Description |
|---|---|---|---|
| jp nn | 3 | 10 | Performs a jump to nn |
| jp cc,nn | 3 | 10 (+1) | Performs a jump to nn if cc is true |
| jr e | 2 | 12 | Performs a relative jump to memory location e bytes away |
| jr ff,e | 2 | 7 (+5) | Performs a relative jump to memory location e bytes away if ff is true |
| jp hl jp (hl) |
1 | 4 | Performs a jump to hl Note: some assemblers (eg Assembly Studio and TASM) and the z80 Technical Data use jp (hl). However, it does the same thing and does not jump to (hl). |
| jp ii jp (ii) |
2 | 8 | Performs a jump to ii Note: some assemblers (eg Assembly Studio and TASM) and the z80 Technical Data use jp (ii). However, it does the same thing and does not jump to (ii). |
| djnz e | 2 | 8 (+5) | Decrements b and if b is not zero then performs a relative jump to e |
Calls, Returns and Restarts
| Mnemonic | Bytes | T-States | Description |
|---|---|---|---|
| call nn | 3 | 17 | Pushes the program counter onto the stack and jumps to nn |
| call cc,nn | 3 | 10 (+7) | Pushes the program counter onto the stack and jumps to nn if cc is true |
| ret | 1 | 10 | Pops the value on top of the stack into the program counter |
| ret cc | 1 | 5 (+6) | Pops the value on top of the stack into the program counter if cc is true |
| reti | 2 | 14 | Returns from an interrupt |
| retn | 2 | 14 | Returns from a non-maskable interrupt Note: there are no non-maskable interrupts on the ti86. |
| rst p | 1 | 11 | Pushes the value of the program counter onto the stack and restarts the processor
at the specified location Note: TASM and Assembly Studio both require a two digit number with a lowercase 'h' as the prefix, so neither rst $28 nor rst 0h would assemble. |


