mirror of
https://github.com/erkyrath/infocom-zcode-terps.git
synced 2026-01-27 12:22:34 +00:00
218 lines
3.8 KiB
NASM
218 lines
3.8 KiB
NASM
PAGE
|
|
SBTTL "--- OPCODE DISPATCH TABLES ---"
|
|
|
|
|
|
; 0-OPS
|
|
|
|
OPT0H: DB HIGH ZRTRUE ;0
|
|
DB HIGH ZRFALS ;1
|
|
DB HIGH ZPRI ;2
|
|
DB HIGH ZPRR ;3
|
|
DB HIGH ZNOOP ;4
|
|
DB HIGH ZSAVE ;5
|
|
DB HIGH ZREST ;6
|
|
DB HIGH ZSTART ;7
|
|
DB HIGH ZRSTAK ;8
|
|
DB HIGH POPVAL ;9
|
|
DB HIGH ZQUIT ;10
|
|
DB HIGH ZCRLF ;11
|
|
DB HIGH ZUSL ;12
|
|
DB HIGH ZVER ;13
|
|
DB HIGH BADOP0 ;14
|
|
DB HIGH BADOP0 ;15
|
|
|
|
OPT0L: DB LOW ZRTRUE ;0
|
|
DB LOW ZRFALS ;1
|
|
DB LOW ZPRI ;2
|
|
DB LOW ZPRR ;3
|
|
DB LOW ZNOOP ;4
|
|
DB LOW ZSAVE ;5
|
|
DB LOW ZREST ;6
|
|
DB LOW ZSTART ;7
|
|
DB LOW ZRSTAK ;8
|
|
DB LOW POPVAL ;9
|
|
DB LOW ZQUIT ;10
|
|
DB LOW ZCRLF ;11
|
|
DB LOW ZUSL ;12
|
|
DB LOW ZVER ;13
|
|
DB LOW BADOP0 ;14
|
|
DB LOW BADOP0 ;15
|
|
|
|
; 1-OPS
|
|
|
|
OPT1H: DB HIGH ZZERO ;0
|
|
DB HIGH ZNEXT ;1
|
|
DB HIGH ZFIRST ;2
|
|
DB HIGH ZLOC ;3
|
|
DB HIGH ZPTSIZ ;4
|
|
DB HIGH ZINC ;5
|
|
DB HIGH ZDEC ;6
|
|
DB HIGH ZPRB ;7
|
|
DB HIGH ZCALL1 ;8 (EZIP)
|
|
DB HIGH ZREMOV ;9
|
|
DB HIGH ZPRD ;10
|
|
DB HIGH ZRET ;11
|
|
DB HIGH ZJUMP ;12
|
|
DB HIGH ZPRINT ;13
|
|
DB HIGH ZVALUE ;14
|
|
DB HIGH ZBCOM ;15
|
|
|
|
OPT1L: DB LOW ZZERO ;0
|
|
DB LOW ZNEXT ;1
|
|
DB LOW ZFIRST ;2
|
|
DB LOW ZLOC ;3
|
|
DB LOW ZPTSIZ ;4
|
|
DB LOW ZINC ;5
|
|
DB LOW ZDEC ;6
|
|
DB LOW ZPRB ;7
|
|
DB LOW ZCALL1 ;8 (EZIP)
|
|
DB LOW ZREMOV ;9
|
|
DB LOW ZPRD ;10
|
|
DB LOW ZRET ;11
|
|
DB LOW ZJUMP ;12
|
|
DB LOW ZPRINT ;13
|
|
DB LOW ZVALUE ;14
|
|
DB LOW ZBCOM ;15
|
|
|
|
; 2-OPS
|
|
|
|
OPT2H: DB HIGH BADOP2 ;0 (UNDEFINED)
|
|
DB HIGH ZEQUAL ;1
|
|
DB HIGH ZLESS ;2
|
|
DB HIGH ZGRTR ;3
|
|
DB HIGH ZDLESS ;4
|
|
DB HIGH ZIGRTR ;5
|
|
DB HIGH ZIN ;6
|
|
DB HIGH ZBTST ;7
|
|
DB HIGH ZBOR ;8
|
|
DB HIGH ZBAND ;9
|
|
DB HIGH ZFSETP ;10
|
|
DB HIGH ZFSET ;11
|
|
DB HIGH ZFCLR ;12
|
|
DB HIGH ZSET ;13
|
|
DB HIGH ZMOVE ;14
|
|
DB HIGH ZGET ;15
|
|
DB HIGH ZGETB ;16
|
|
DB HIGH ZGETP ;17
|
|
DB HIGH ZGETPT ;18
|
|
DB HIGH ZNEXTP ;19
|
|
DB HIGH ZADD ;20
|
|
DB HIGH ZSUB ;21
|
|
DB HIGH ZMUL ;22
|
|
DB HIGH ZDIV ;23
|
|
DB HIGH ZMOD ;24
|
|
DB HIGH ZCALL2 ;25 (EZIP)
|
|
DB HIGH BADOP2 ;26
|
|
DB HIGH BADOP2 ;27
|
|
DB HIGH BADOP2 ;28
|
|
DB HIGH BADOP2 ;29
|
|
DB HIGH BADOP2 ;30
|
|
DB HIGH BADOP2 ;31
|
|
|
|
OPT2L: DB LOW BADOP2 ;0 (UNDEFINED)
|
|
DB LOW ZEQUAL ;1
|
|
DB LOW ZLESS ;2
|
|
DB LOW ZGRTR ;3
|
|
DB LOW ZDLESS ;4
|
|
DB LOW ZIGRTR ;5
|
|
DB LOW ZIN ;6
|
|
DB LOW ZBTST ;7
|
|
DB LOW ZBOR ;8
|
|
DB LOW ZBAND ;9
|
|
DB LOW ZFSETP ;10
|
|
DB LOW ZFSET ;11
|
|
DB LOW ZFCLR ;12
|
|
DB LOW ZSET ;13
|
|
DB LOW ZMOVE ;14
|
|
DB LOW ZGET ;15
|
|
DB LOW ZGETB ;16
|
|
DB LOW ZGETP ;17
|
|
DB LOW ZGETPT ;18
|
|
DB LOW ZNEXTP ;19
|
|
DB LOW ZADD ;20
|
|
DB LOW ZSUB ;21
|
|
DB LOW ZMUL ;22
|
|
DB LOW ZDIV ;23
|
|
DB LOW ZMOD ;24
|
|
DB LOW ZCALL2 ;25 (EZIP)
|
|
DB LOW BADOP2 ;26
|
|
DB LOW BADOP2 ;27
|
|
DB LOW BADOP2 ;28
|
|
DB LOW BADOP2 ;29
|
|
DB LOW BADOP2 ;30
|
|
DB LOW BADOP2 ;31
|
|
|
|
; X-OPS
|
|
|
|
OPTXH: DB HIGH ZCALL ;0
|
|
DB HIGH ZPUT ;1
|
|
DB HIGH ZPUTB ;2
|
|
DB HIGH ZPUTP ;3
|
|
DB HIGH ZREAD ;4
|
|
DB HIGH ZPRC ;5
|
|
DB HIGH ZPRN ;6
|
|
DB HIGH ZRAND ;7
|
|
DB HIGH ZPUSH ;8
|
|
DB HIGH ZPOP ;9
|
|
DB HIGH ZSPLIT ;10
|
|
DB HIGH ZSCRN ;11
|
|
|
|
; (EZIPS FROM HERE ON)
|
|
DB HIGH ZXCALL ;12
|
|
DB HIGH ZCLR ;13
|
|
DB HIGH ZERASE ;14
|
|
DB HIGH ZCURST ;15
|
|
DB HIGH ZCURGT ;16 (NOT IMPLEMENTED)
|
|
DB HIGH ZLIGHT ;17
|
|
DB HIGH ZBUFOUT ;18
|
|
DB HIGH ZDIRT ;19
|
|
DB HIGH ZDIRIN ;20 (NOT IMPLEMENTED)
|
|
DB HIGH ZSOUND ;21
|
|
DB HIGH ZINPUT ;22
|
|
DB HIGH ZINTBL ;23
|
|
DB HIGH BADOPX ;24
|
|
DB HIGH BADOPX ;25
|
|
DB HIGH BADOPX ;26
|
|
DB HIGH BADOPX ;27
|
|
DB HIGH BADOPX ;28
|
|
DB HIGH BADOPX ;29
|
|
DB HIGH BADOPX ;30
|
|
DB HIGH BADOPX ;31
|
|
|
|
OPTXL: DB LOW ZCALL ;0
|
|
DB LOW ZPUT ;1
|
|
DB LOW ZPUTB ;2
|
|
DB LOW ZPUTP ;3
|
|
DB LOW ZREAD ;4
|
|
DB LOW ZPRC ;5
|
|
DB LOW ZPRN ;6
|
|
DB LOW ZRAND ;7
|
|
DB LOW ZPUSH ;8
|
|
DB LOW ZPOP ;9
|
|
DB LOW ZSPLIT ;10
|
|
DB LOW ZSCRN ;11
|
|
|
|
; (EZIPS FROM HERE ON)
|
|
DB LOW ZXCALL ;12
|
|
DB LOW ZCLR ;13
|
|
DB LOW ZERASE ;14
|
|
DB LOW ZCURST ;15
|
|
DB LOW ZCURGT ;16 (NOT IMPLEMENTED)
|
|
DB LOW ZLIGHT ;17
|
|
DB LOW ZBUFOUT ;18
|
|
DB LOW ZDIRT ;19
|
|
DB LOW ZDIRIN ;20 (NOT IMPLEMENTED)
|
|
DB LOW ZSOUND ;21
|
|
DB LOW ZINPUT ;22
|
|
DB LOW ZINTBL ;23
|
|
DB LOW BADOPX ;24
|
|
DB LOW BADOPX ;25
|
|
DB LOW BADOPX ;26
|
|
DB LOW BADOPX ;27
|
|
DB LOW BADOPX ;28
|
|
DB LOW BADOPX ;29
|
|
DB LOW BADOPX ;30
|
|
DB LOW BADOPX ;31
|
|
|
|
END
|