83Plus:OS:RST Routines

From WikiTI
Jump to: navigation, search

Introduction

The Z80 restart instruction, or RST, can be used instead of a B_CALL for some system entry points. The advantage is that using the RST instruction takes only one byte, instead of the three bytes required for a B_CALL, and is very quick when compared with the relatively large overhead inherent of a B_CALL.

RST Routines

All the RST routines work exactly the same as the corresponding B_CALLs:

B_CALL RST
FindSym rFindSym
PushRealO1 rPushRealO1
Mov9ToOP1 rMov9ToOP1
FPAdd rFPAdd

Example

rst rFPAdd

Equates

rOP1ToOP2   EQU  08h
rFindSym    EQU  10h
rPushRealO1 EQU  18h
rMov9ToOP1  EQU  20h
rFPAdd      EQU  30h

Remarks

You cannot define your own RSTs; they are part of the operating system.

rst 00 is the OS reset
rst 28h is BCALL
rst 38h is the interrupt routine