mirror of
https://github.com/erkyrath/infocom-zcode-terps.git
synced 2026-01-11 23:43:24 +00:00
55 lines
752 B
Plaintext
55 lines
752 B
Plaintext
|
|
SUBTTL MACROS
|
|
PAGE +
|
|
|
|
GTAWRD MACRO D,S ;;GET ABSOLUTE WORD
|
|
MOV D&X,ES:&S
|
|
XCHG D&H,D&L
|
|
ENDM
|
|
|
|
PTAWRD MACRO D,S ;;PUT ABSOLUTE WORK
|
|
XCHG S&H,S&L
|
|
MOV ES:&D,S&X
|
|
ENDM
|
|
|
|
MOVM MACRO D,S,R ;;MOVE MEMORY TO MEMORY
|
|
MOV R,S
|
|
MOV D,R
|
|
ENDM
|
|
|
|
PUSHZ MACRO S ;;PUSH ONTO Z STACK
|
|
XCHG SP,DI
|
|
PUSH S
|
|
XCHG SP,DI
|
|
ENDM
|
|
|
|
POPZ MACRO D ;;POP FROM Z STACK
|
|
XCHG SP,DI
|
|
POP D
|
|
XCHG SP,DI
|
|
ENDM
|
|
|
|
POPZT MACRO D ;;GET TOP OF Z STACK
|
|
MOV D,SS:[DI]
|
|
ENDM
|
|
|
|
PUSHZT MACRO S ;;PUT TOP OF Z STACK
|
|
MOV SS:[DI],S
|
|
ENDM
|
|
|
|
PRINT MACRO STR ;;PRINT A STRING, POINTER IS ARGUMENT
|
|
PUSH AX
|
|
MOV AX,OFFSET STR
|
|
CALL MPRNT
|
|
POP AX
|
|
ENDM
|
|
|
|
FATAL MACRO ERR ;;PRINT FATAL ERROR AND DIE
|
|
CALL MCRLF
|
|
MOV AX,OFFSET FATHDR
|
|
CALL MPRNT
|
|
MOV AX,OFFSET ERR
|
|
CALL MPRNT
|
|
JMP FINISH
|
|
ENDM
|