mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-26 18:04:07 +00:00
Upload
Digital Research
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
; MACRO LIBRARY FOR 8-BIT COMPARISON OPERATION
|
||||
;
|
||||
TEST? MACRO X,Y
|
||||
;; UTILTITY MACRO TO GENERATE CONDITION CODES
|
||||
IF NOT NUL X ;;THEN LOAD X
|
||||
LDA X ;;X ASSUMED TO BE IN MEMORY
|
||||
ENDIF
|
||||
IRPC ?Y,Y ;;Y MAY BE CONSTANT OPERAND
|
||||
TDIG? SET '&?Y'-'0' ;;FIRST CHAR DIGIT?
|
||||
EXITM ;;STOP IRPC AFTER FIRST CHAR
|
||||
ENDM
|
||||
IF TDIG? <= 9 ;;Y NUMERIC?
|
||||
SUI Y ;;YES, SO SUB IMMEDIATE
|
||||
ELSE
|
||||
LXI H,Y ;;Y NOT NUMERIC
|
||||
SUB M ;;SO SUB FROM MEMORY
|
||||
ENDM
|
||||
;
|
||||
LSS MACRO X,Y,TL,FL
|
||||
;; X LSS THAN Y TEST,
|
||||
;; IF TL IS PRESENT, ASSUME TRUE TEST
|
||||
;; IF TL IS ABSENT, THEN INVERT TEST
|
||||
IF NUL TL
|
||||
GEQ X,Y,FL
|
||||
ELSE
|
||||
TEST? X,Y ;;SET CONDITION CODES
|
||||
JC TL
|
||||
ENDM
|
||||
;
|
||||
LEQ MACRO X,Y,TL,FL
|
||||
;; X LESS THAN OR EQUAL TO Y TEST
|
||||
IF NUL TL
|
||||
GEQ X,Y,FL
|
||||
ELSE
|
||||
LSS X,Y,TL
|
||||
JZ TL
|
||||
ENDM
|
||||
;
|
||||
EQL MACRO X,Y,TL,FL
|
||||
;; X EQUAL TO Y TEST
|
||||
IF NUL TL
|
||||
NEQ X,Y,FL
|
||||
ELSE
|
||||
TEST? X,Y
|
||||
JZ TL
|
||||
ENDM
|
||||
;
|
||||
NEQ MACRO X,Y,TL,FL
|
||||
;; X NOT EQUAL TO Y TEST
|
||||
IF NUL TL
|
||||
EQL X,Y,FL
|
||||
ELSE
|
||||
TEST? X,Y
|
||||
JNZ TL
|
||||
ENDM
|
||||
;
|
||||
GEQ MACRO X,Y,TL,FL
|
||||
;; X GREATER THAN OR EQUAL TO Y TEST
|
||||
IF NUL TL
|
||||
LSS X,Y,FL
|
||||
ELSE
|
||||
TEST? X,Y
|
||||
JNC TL
|
||||
ENDM
|
||||
;
|
||||
GTR MACRO X,Y,TL,FL
|
||||
;; X GREATER THAN Y TEST
|
||||
IF NUL TL
|
||||
LEQ X,Y,FL
|
||||
ELSE
|
||||
LOCAL GFL ;;FALSE LABEL
|
||||
TEST? X,Y
|
||||
JC GFL
|
||||
DCR A
|
||||
JNC TL
|
||||
GFL: ENDM
|
||||
|
||||
Reference in New Issue
Block a user