mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-25 09:24:19 +00:00
56 lines
1.1 KiB
Plaintext
56 lines
1.1 KiB
Plaintext
SIZ MACRO SIZE
|
||
;; SET "ORG" AND CREATE STACK
|
||
LOCAL STACK ;;LABEL ON THE STACK
|
||
ORG 100H ;;AT BASE OF TPA
|
||
LXI SP,STACK
|
||
JMP STACK ;;PAST STACK
|
||
DS SIZE*2 ;;DOUBLE PRECISION
|
||
STACK: ENDM
|
||
;
|
||
DUP MACRO
|
||
;; DUPLICATE TOP OF STACK
|
||
PUSH H
|
||
ENDM
|
||
;
|
||
SUM MACRO
|
||
;; ADD THE TOP TWO STACK ELEMENTS
|
||
POP D ;;TOP-1 TO DE
|
||
DAD D ;;BACK TO HL
|
||
ENDM
|
||
;
|
||
LSR MACRO LEN
|
||
;; LOGICAL SHIFT RIGHT BY LEN
|
||
REPT LEN ;;GENERATE INLINE
|
||
XRA A ;;CLEAR CARRY
|
||
MOV A,H
|
||
RAR ;;ROTATE WITH HIGH 0
|
||
MOV H,A
|
||
MOV A,L
|
||
RAR
|
||
MOV L,A ;;BACK WITH HIGH BIT
|
||
ENDM
|
||
ENDM
|
||
;
|
||
ADC0 EQU 1080H ;A-D CONVERTER 0
|
||
ADC1 EQU 1082H ;A-D CONVERTER 1
|
||
ADC2 EQU 1084H ;A-D CONVERTER 2
|
||
ADC3 EQU 1086H ;A-D CONVERTER 3
|
||
;
|
||
DAC0 EQU 1090H ;D-A CONVERTER 0
|
||
DAC1 EQU 1092H ;D-A CONVERTER 1
|
||
DAC2 EQU 1094H ;D-A CONVERTER 2
|
||
DAC3 EQU 1096H ;D-A CONVERTER 3
|
||
;
|
||
RDM MACRO ?C
|
||
;; READ A-D CONVERTER NUMBER "?C"
|
||
PUSH H ;;CLEAR THE STACK
|
||
;; READ FROM MEMORY MAPPED INPUT ADDRESS
|
||
LHLD ADC&?C
|
||
ENDM
|
||
;
|
||
WRM MACRO ?C
|
||
;; WRITE D-A CONVERTER NUMBER "?C"
|
||
SHLD DAC&?C ;;VALUE WRITTEN
|
||
POP H ;;RESTORE STACK
|
||
ENDM
|
||
|