Files
Digital-Research-Source-Code/MPM OPERATING SYSTEMS/MPM II/MPM II SOURCE/CONTROL/STACK.LIB
Sepp J Morris 31738079c4 Upload
Digital Research
2020-11-06 18:50:37 +01:00

56 lines
1.1 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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