mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-12-11 15:53:01 +00:00
Upload
Digital Research
This commit is contained in:
52
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/as0com.asm
Normal file
52
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/as0com.asm
Normal file
@@ -0,0 +1,52 @@
|
||||
TITLE 'ASM COMMON DATA AREA'
|
||||
;
|
||||
; COPYRIGHT (C) 1977, 1978, 1979, 1980
|
||||
; DIGITAL RESEARCH
|
||||
; BOX 579, PACIFIC GROVE
|
||||
; CALIFORNIA, 93950
|
||||
;
|
||||
; Revised:
|
||||
; 20 Jan 80 by Thomas Rolander
|
||||
;
|
||||
; COMMON DATA FOR MP/M ASSEMBLER MODULE
|
||||
org 0
|
||||
base equ $
|
||||
|
||||
ORG 100H
|
||||
ENDA EQU base+20F0H ;END OF ASSEMBLER PROGRAM
|
||||
BDOS EQU base+5H ;ENTRY TO DOS, USED TO COMPUTE END MEMORY
|
||||
LXI SP,ENDMOD
|
||||
LHLD BDOS+1
|
||||
SHLD SYMAX ;COMPUTE END OF MEMORY
|
||||
JMP ENDMOD
|
||||
COPY: DB ' COPYRIGHT(C) 1980, DIGITAL RESEARCH '
|
||||
org 10ch
|
||||
;
|
||||
; PRINT BUFFER AND PRINT BUFFER POINTER
|
||||
PBMAX EQU 90 ;MAX PRINT BUFFER
|
||||
PBUFF: DS PBMAX
|
||||
PBP: DS 1 ;PRINT BUFFER POINTER
|
||||
;
|
||||
; SCANNER PARAMETERS
|
||||
TOKEN: DS 1 ;CURRENT TOKEN
|
||||
VALUE: DS 2 ;BINARY VALUE FOR NUMBERS
|
||||
ACCLEN: DS 1 ;ACCUMULATOR LENGTH
|
||||
ACMAX EQU 64 ;LENGTH OF ACCUMULATOR
|
||||
ACCUM: DS ACMAX ;ACCUMULATOR (MUST FOLLLOW ACCLEN)
|
||||
;
|
||||
; OPERAND EXPRESSION EVALUATOR PARAMETERS
|
||||
EVALUE: DS 2 ;VALUE OF EXPRESSION AFTER EVALUATION
|
||||
;
|
||||
; SYMBOL TABLE MODULE PARAMETERS
|
||||
SYTOP: DW ENDA ;FIRST LOCATION AVAILABLE FOR SYMBOL TABLE
|
||||
SYMAX: DS 2 ;LAST AVAILABLE LOCATION FOR SYMBOL TABLE
|
||||
;
|
||||
; MISCELLANEOUS DATA AREAS
|
||||
PASS: DS 1 ;PASS # 0,1
|
||||
FPC: DS 2 ;FILL ADDRESS FOR NEXT HEX RECORD
|
||||
ASPC: DS 2 ;ASSEMBLER'S PSEUDO PC
|
||||
SYBAS: DW ENDA ;SYMBOL TABLE BASE
|
||||
SYADR: DS 2 ;CURRENT SYMBOL BASE
|
||||
ENDMOD EQU ($ AND 0FF00H)+100H
|
||||
END
|
||||
|
||||
730
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/as1io.asm
Normal file
730
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/as1io.asm
Normal file
@@ -0,0 +1,730 @@
|
||||
TITLE 'ASM IO MODULE'
|
||||
; I/O MODULE FOR MP/M ASSEMBLER
|
||||
;
|
||||
org 0
|
||||
base equ $
|
||||
|
||||
ORG 200H
|
||||
BOOT EQU base+00H ;REBOOT LOCATION
|
||||
; I/O MODULE ENTRY POINTS
|
||||
JMP INIT ;INITIALIZE, START ASSEMBLER
|
||||
JMP SETUP ;FILE SETUP
|
||||
JMP GNC ;GET NEXT CHARACTER
|
||||
JMP PNC ;PUT NEXT OUTPUT CHARACTER
|
||||
JMP PNB ;PUT NEXT HEX BYTE
|
||||
JMP PCHAR ;PRINT CONSOLE CHARACTER
|
||||
JMP PCON ;PRINT CONSOLE BUFFER TO CRLF
|
||||
JMP WOBUFF ;WRITE OUTBUFFER
|
||||
JMP PERR ;PLACE ERROR CHARACTER INTO PBUFF
|
||||
JMP DHEX ;PLACE HEX BYTE INTO OUTPUT BUFFER
|
||||
JMP EOR ;END OF ASSEMBLY
|
||||
; DATA FOR I/O MODULE
|
||||
BPC: DS 2 ;BASE PC FOR CURRENT HEX RECORD
|
||||
DBL: DS 1 ;HEX BUFFER LENGTH
|
||||
DBUFF: DS 16 ;HEX BUFFER
|
||||
;
|
||||
; DISK NAMES
|
||||
CDISK: DS 1 ;CURRENTLY SELECTED DISK
|
||||
ADISK: DS 1 ;.ASM DISK
|
||||
PDISK: DS 1 ;.PRN DISK
|
||||
HDISK: DS 1 ;.HEX DISK
|
||||
;
|
||||
;
|
||||
;
|
||||
; COMMON EQUATES
|
||||
QBMAX EQU 90 ;MAX PRINT SIZE
|
||||
QBUFF EQU base+10CH ;PRINT BUFFER
|
||||
QBP EQU QBUFF+QBMAX ;PRINT BUFFER POINTER
|
||||
;
|
||||
TOKEN EQU QBP+1 ;CURRENT TOKEN UDER SCAN
|
||||
VALUE EQU TOKEN+1 ;VALUE OF NUMBER IN BINARY
|
||||
ACCLEN EQU VALUE+2 ;ACCUMULATOR LENGTH
|
||||
ACMAX EQU 64 ;MAX ACCUMULATOR LENGTH
|
||||
ACCUM EQU ACCLEN+1
|
||||
;
|
||||
EVALUE EQU ACCUM+ACMAX ;VALUE FROM EXPRESSION ANALYSIS
|
||||
;
|
||||
SYTOP EQU EVALUE+2 ;CURRENT SYMBOL TOP
|
||||
SYMAX EQU SYTOP+2 ;MAX ADDRESS+1
|
||||
;
|
||||
PASS EQU SYMAX+2 ;CURRENT PASS NUMBER
|
||||
FPC EQU PASS+1 ;FILL ADDRESS FOR DHEX ROUTINE
|
||||
ASPC EQU FPC+2 ;ASSEMBLER'S PSEUDO PC
|
||||
;
|
||||
CR EQU 0DH ;CARRIAGE RETURN
|
||||
LF EQU 0AH ;LINE FEED
|
||||
EOF EQU 1AH ;END OF FILE MARK
|
||||
;
|
||||
;
|
||||
; DOS ENTRY POINTS
|
||||
BDOS EQU base+5H ;DOS ENTRY POINT
|
||||
READC EQU 1 ;READ CONSOLE DEVICE
|
||||
WRITC EQU 2 ;WRITE CONSOLE DEVICE
|
||||
REDYC EQU 11 ;CONSOLE CHARACTER READY
|
||||
SELECT EQU 14 ;SELECT DISK SPECIFIED BY REGISTER E
|
||||
OPENF EQU 15 ;OPEN FILE
|
||||
CLOSF EQU 16 ;CLOSE FILE
|
||||
DELEF EQU 19 ;DELETE FILE
|
||||
READF EQU 20 ;READ FILE
|
||||
WRITF EQU 21 ;WRITE FILE
|
||||
MAKEF EQU 22 ;MAKE A FILE
|
||||
CSEL EQU 25 ;RETURN CURRENTLY SELECTED DISK
|
||||
SETDM EQU 26 ;SET DMA ADDRESS
|
||||
;
|
||||
; FILE AND BUFFERING PARAMETERS
|
||||
NSB EQU 8 ;NUMBER OF SOURCE BUFFERS
|
||||
NPB EQU 6 ;NUMBER OF PRINT BUFFERS
|
||||
NHB EQU 6 ;NUMBER OF HEX BUFFERS
|
||||
;
|
||||
SSIZE EQU NSB*128
|
||||
PSIZE EQU NPB*128
|
||||
HSIZE EQU NHB*128
|
||||
;
|
||||
; FILE CONTROL BLOCKS
|
||||
SCB: DS 9 ;FILE NAME
|
||||
DB 'ASM' ;FILE TYPE
|
||||
SCBR: DS 1 ;REEL NUMBER (ZEROED IN SETUP)
|
||||
DS 19 ;MISC AND DISK MAP
|
||||
SCBCR: DS 1 ;CURRENT RECORD (ZEROED IN SETUP)
|
||||
;
|
||||
PCB: DS 9
|
||||
DB 'PRN',0
|
||||
DS 19
|
||||
DB 0 ;RECORD TO WRITE NEXT
|
||||
;
|
||||
HCB: DS 9
|
||||
DB 'HEX',0
|
||||
DS 19
|
||||
DB 0
|
||||
;
|
||||
; POINTERS AND BUFFERS
|
||||
SBP: DW SSIZE ;NEXT CHARACTER POSITION TO READ
|
||||
SBUFF: DS SSIZE
|
||||
;
|
||||
PBP: DW 0
|
||||
PBUFF: DS PSIZE
|
||||
;
|
||||
HBP: DW 0
|
||||
HBUFF: DS HSIZE
|
||||
FCB EQU base+5CH ;FILE CONTROL BLOCK ADDRESS
|
||||
FNM EQU 1 ;POSITION OF FILE NAME
|
||||
FLN EQU 9 ;FILE NAME LENGTH
|
||||
BUFF EQU base+80H ;INPUT DISK BUFFER ADDRESS
|
||||
;
|
||||
SEL: ;SELECT DISK IN REG-A
|
||||
LXI H,CDISK
|
||||
CMP M ;SAME?
|
||||
RZ
|
||||
MOV M,A ;CHANGE CURRENT DISK
|
||||
MOV E,A
|
||||
MVI C,SELECT
|
||||
CALL BDOS
|
||||
RET
|
||||
;
|
||||
SCNP: ;SCAN THE NEXT PARAMETER
|
||||
INX H
|
||||
MOV A,M
|
||||
CPI ' '
|
||||
JZ SCNP0
|
||||
SBI 'A' ;NORMALIZE
|
||||
RET
|
||||
SCNP0: LDA CDISK
|
||||
RET
|
||||
;
|
||||
PCON: ;PRINT MESSAGE AT H,L TO CONSOLE DEVICE
|
||||
MOV A,M
|
||||
CALL PCHAR
|
||||
MOV A,M
|
||||
INX H
|
||||
CPI CR
|
||||
JNZ PCON
|
||||
MVI A,LF
|
||||
CALL PCHAR
|
||||
RET
|
||||
;
|
||||
FNAME: ;FILL NAME FROM DEFAULT FILE CONTROL BLOCK
|
||||
LXI D,FCB
|
||||
MVI B,FLN
|
||||
FNAM0: LDAX D ;GET NEXT FILE CHARACTER
|
||||
CPI '?'
|
||||
JZ FNERR ;FILE NAME ERROR
|
||||
MOV M,A ;STORE TO FILE CNTRL BLOCK
|
||||
INX H
|
||||
INX D
|
||||
DCR B
|
||||
JNZ FNAM0 ;FOR NEXT CHARACTER
|
||||
RET
|
||||
;
|
||||
INIT: ;SET UP STACK AND FILES, START ASSEMBLER
|
||||
LXI H,TITL
|
||||
CALL PCON
|
||||
JMP SET0
|
||||
;
|
||||
OPEN: ;OPEN FILE ADDRESSED BY D,E
|
||||
MVI C,OPENF
|
||||
CALL BDOS
|
||||
CPI 255
|
||||
RNZ
|
||||
; OPEN ERROR
|
||||
LXI H,ERROP
|
||||
CALL PCON
|
||||
JMP BOOT
|
||||
;
|
||||
CLOSE: ;CLOSE FILE ADDRESSED BY D,E
|
||||
MVI C,CLOSF
|
||||
CALL BDOS
|
||||
CPI 255
|
||||
RNZ ;CLOSE OK
|
||||
LXI H,ERRCL
|
||||
CALL PCON
|
||||
JMP BOOT
|
||||
;
|
||||
DELETE: ;DELETE FILE ADDRESSED BY D,E
|
||||
MVI C,DELEF
|
||||
JMP BDOS
|
||||
;
|
||||
MAKE: ;MAKE FILE ADDRESSED BY D,E
|
||||
MVI C,MAKEF
|
||||
CALL BDOS
|
||||
CPI 255
|
||||
RNZ
|
||||
; MAKE ERROR
|
||||
LXI H,ERRMA
|
||||
CALL PCON
|
||||
JMP BOOT
|
||||
;
|
||||
SELA: LDA ADISK
|
||||
CALL SEL
|
||||
RET
|
||||
;
|
||||
NPR: ;RETURN ZERO FLAG IF NO PRINT FILE
|
||||
LDA PDISK
|
||||
CPI 'Z'-'A'
|
||||
RZ
|
||||
CPI 'X'-'A' ;CONSOLE
|
||||
RET
|
||||
;
|
||||
SELP: LDA PDISK
|
||||
CALL SEL
|
||||
RET
|
||||
;
|
||||
SELH: LDA HDISK
|
||||
CALL SEL
|
||||
RET
|
||||
;
|
||||
SET0: ;SET UP FILES FOR INPUT AND OUTPUT
|
||||
LDA FCB ;GET FIRST CHARACTER
|
||||
CPI ' ' ;MAY HAVE FORGOTTEN NAME
|
||||
JZ FNERR ;FILE NAME ERROR
|
||||
MVI C,CSEL ;CURRENT DISK?
|
||||
CALL BDOS ;GET IT TO REG-A
|
||||
STA CDISK
|
||||
;
|
||||
; SCAN PARAMETERS
|
||||
LXI H,FCB+FLN-1
|
||||
CALL SCNP
|
||||
STA ADISK
|
||||
CALL SCNP
|
||||
STA HDISK
|
||||
CALL SCNP
|
||||
STA PDISK
|
||||
;
|
||||
LXI H,SCB ;ADDRESS SOURCE FILE CONTROL BLOCK
|
||||
CALL FNAME ;FILE NAME OBTAINED FROM DEFAULT FCB
|
||||
;
|
||||
CALL NPR ;Z OR X?
|
||||
JZ NOPR
|
||||
LXI H,PCB ;ADDRESS PRINT FILE CONTROL BLOCK
|
||||
PUSH H ;SAVE A COPY FOR OPEN
|
||||
PUSH H ;SAVE A COPY FOR DELETE
|
||||
CALL FNAME ;FILL PCB
|
||||
CALL SELP
|
||||
POP D ;FCB ADDRESS
|
||||
CALL DELETE
|
||||
POP D ;FCB ADDRESS
|
||||
CALL MAKE
|
||||
;
|
||||
NOPR: ;TEST FOR HEX FILE
|
||||
LDA HDISK
|
||||
CPI 'Z'-'A'
|
||||
JZ NOHEX
|
||||
LXI H,HCB
|
||||
PUSH H
|
||||
PUSH H
|
||||
CALL FNAME
|
||||
CALL SELH
|
||||
POP D
|
||||
CALL DELETE
|
||||
POP D
|
||||
CALL MAKE
|
||||
;
|
||||
; FILES SET UP, CALL ASSEMBLER
|
||||
NOHEX: JMP ENDMOD
|
||||
;
|
||||
SETUP: ;SETUP INPUT FILE FOR SOURCE PROGRAM
|
||||
LXI H,SSIZE
|
||||
SHLD SBP ;CAUSE IMMEDIATE READ
|
||||
XRA A ;ZERO VALUE
|
||||
STA SCBR ;CLEAR REEL NUMBER
|
||||
STA SCBCR ;CLEAR CURRENT RECORD
|
||||
STA DBL ;CLEAR HEX BUFFER LENGTH
|
||||
CALL SELA
|
||||
LXI D,SCB
|
||||
CALL OPEN
|
||||
;
|
||||
RET
|
||||
;
|
||||
FNERR: ;FILE NAME ERROR
|
||||
LXI H,ERRFN
|
||||
CALL PCON
|
||||
JMP BOOT
|
||||
;
|
||||
;
|
||||
GCOMP: ;COMPARE D,E AGAINS H,L
|
||||
MOV A,D
|
||||
CMP H
|
||||
RNZ
|
||||
MOV A,E
|
||||
CMP L
|
||||
RET
|
||||
;
|
||||
GNC: ;GET NEXT CHARACTER FROM SOURCE BUFFER
|
||||
PUSH B
|
||||
PUSH D
|
||||
PUSH H ;ENVIRONMENT SAVED
|
||||
LHLD SBP
|
||||
LXI D,SSIZE
|
||||
CALL GCOMP
|
||||
JNZ GNC2
|
||||
;
|
||||
; READ ANOTHER BUFFER
|
||||
CALL SELA
|
||||
LXI H,0
|
||||
SHLD SBP
|
||||
MVI B,NSB ;NUMBER OF SOURCE BUFFERS
|
||||
LXI H,SBUFF
|
||||
GNC0: ;READ 128 BYTES
|
||||
PUSH B ;SAVE COUNT
|
||||
PUSH H ;SAVE BUFFER ADDRESS
|
||||
MVI C,READF
|
||||
LXI D,SCB
|
||||
CALL BDOS ;PERFORM THE READ
|
||||
POP H ;RESTORE BUFFER ADDRESS
|
||||
POP B ;RESTORE BUFFER COUNT
|
||||
ORA A ;SET FLAGS
|
||||
MVI C,128
|
||||
JNZ GNC1
|
||||
; NORMAL READ OCCURRED
|
||||
LXI D,BUFF ;SOURCE BUFFER ADDRESS
|
||||
MVI C,128
|
||||
MOV0: LDAX D ;GET CHARACTER
|
||||
MOV M,A ;STORE CHARACTER
|
||||
INX D
|
||||
INX H
|
||||
DCR C
|
||||
JNZ MOV0
|
||||
; BUFFER LOADED, TRY NEXT BUFFER
|
||||
;
|
||||
DCR B
|
||||
JNZ GNC0
|
||||
JMP GNC2
|
||||
;
|
||||
GNC1: ;EOF OR ERROR
|
||||
CPI 3 ;ALLOW 0,1,2
|
||||
JNC FRERR ;FILE READ ERROR
|
||||
GNCE: MVI M,EOF ;STORE AND END OF FILE CHARACTER
|
||||
INX H
|
||||
DCR C
|
||||
JNZ GNCE ;FILL CURRENT BUFFER WITH EOF'S
|
||||
;
|
||||
GNC2: ;GET CHARACTER TO ACCUMULATOR AND RETURN
|
||||
LXI D,SBUFF
|
||||
LHLD SBP
|
||||
PUSH H ;SAVE CURRENT SBP
|
||||
INX H ;READY FOR NEXT READ
|
||||
SHLD SBP
|
||||
POP H ;RESTORE PREVIOUS SBP
|
||||
DAD D ;ABSOLUTE ADDRESS OF CHARACTER
|
||||
MOV A,M ;GET IT
|
||||
POP H
|
||||
POP D
|
||||
POP B
|
||||
RET
|
||||
;
|
||||
FRERR: LXI H,ERRFR
|
||||
CALL PCON ;PRINT READ ERROR MESSAGE
|
||||
JMP BOOT
|
||||
;
|
||||
PNC: ;SAME AT PNCF, BUT ENVIRONMENT IS SAVED FIRST
|
||||
PUSH B
|
||||
; CHECK FOR CONSOLE OUTPUT / NO OUTPUT
|
||||
MOV B,A ;SAVE CHARACTER
|
||||
LDA PDISK ;Z OR X?
|
||||
CPI 'Z'-'A' ;Z NO OUTPUT
|
||||
JZ PNRET
|
||||
;
|
||||
CPI 'X'-'A'
|
||||
MOV A,B ;RECOVER CHAR FOR CON OUT
|
||||
JNZ PNGO
|
||||
CALL PCHAR
|
||||
JMP PNRET
|
||||
;
|
||||
; NOT X OR Z, SO PRINT IT
|
||||
PNGO: PUSH D
|
||||
PUSH H
|
||||
CALL PNCF
|
||||
POP H
|
||||
POP D
|
||||
PNRET: POP B
|
||||
RET
|
||||
;
|
||||
PNCF: ;PRINT NEXT CHARACTER
|
||||
LHLD PBP
|
||||
XCHG
|
||||
LXI H,PBUFF
|
||||
DAD D
|
||||
MOV M,A ;CHARACTER STORED AT PBP IN PBUFF
|
||||
XCHG ;PBP TO H,L
|
||||
INX H ;POINT TO NEXT CHARACTER
|
||||
SHLD PBP ;REPLACE IT
|
||||
XCHG
|
||||
LXI H,PSIZE
|
||||
CALL GCOMP ;AT END OF BUFFER?
|
||||
RNZ ;RETURN IF NOT
|
||||
;
|
||||
; OVERFLOW, WRITE BUFFER
|
||||
CALL SELP
|
||||
LXI H,0
|
||||
SHLD PBP
|
||||
LXI H,PBUFF
|
||||
LXI D,PCB ;D,E ADDRESS FILE CONTROL BLOCK
|
||||
MVI B,NPB ;NUMBER OF BUFFERS TO B
|
||||
; (DROP THROUGH TO WBUFF)
|
||||
;
|
||||
WBUFF: ;WRITE BUFFERS STARTING AT H,L FOR B BUFFERS
|
||||
; CHECK FOR EOF'S
|
||||
MOV A,M
|
||||
CPI EOF
|
||||
RZ ;DON'T DO THE WRITE
|
||||
;
|
||||
PUSH B ;SAVE NUMBER OF BUFFERS
|
||||
PUSH D ;SAVE FCB ADDRESS
|
||||
MVI C,128 ;READY FOR MOVE
|
||||
LXI D,BUFF
|
||||
WBUF0: ;MOVE TO BUFFER
|
||||
MOV A,M ;GET CHARACTER
|
||||
STAX D ;PUT CHARACTER
|
||||
INX H
|
||||
INX D
|
||||
DCR C
|
||||
JNZ WBUF0
|
||||
;
|
||||
; WRITE BUFFER
|
||||
POP D ;RECOVER FCB ADDRESS
|
||||
PUSH D ;SAVE IT AGAIN FOR LATER
|
||||
PUSH H ;SAVE BUFFER ADDRESS
|
||||
MVI C,WRITF ;DOS WRITE FUNCTION
|
||||
CALL BDOS
|
||||
POP H ;RECOVER BUFFER ADDRESS
|
||||
POP D ;RECOVER FCB ADDRESS
|
||||
POP B ;RECOVER BUFFER COUNT
|
||||
ORA A ;SET ERROR RETURN FLAGS
|
||||
JNZ FWERR
|
||||
;
|
||||
; WRITE OK
|
||||
DCR B
|
||||
RZ ;RETURN IF NO MORE BUFFERS TO WRITE
|
||||
JMP WBUFF
|
||||
;
|
||||
FWERR: ;ERROR IN WRITE
|
||||
LXI H,ERRFW
|
||||
CALL PCON ;ERROR MESSAGE OUT
|
||||
JMP EORC ;TO CLOSE AND REBOOT
|
||||
;
|
||||
;
|
||||
PNB: ;PUT NEXT HEX BYTE
|
||||
PUSH B
|
||||
PUSH D
|
||||
PUSH H
|
||||
CALL PNBF
|
||||
POP H
|
||||
POP D
|
||||
POP B
|
||||
RET
|
||||
;
|
||||
PNBF: ;PUT NEXT BYTE
|
||||
; (SIMILAR TO THE PNCF SUBROUTINE)
|
||||
LHLD HBP
|
||||
XCHG
|
||||
LXI H,HBUFF
|
||||
DAD D
|
||||
MOV M,A ;CHARACTER STORED AT HBP IN HBUFF
|
||||
XCHG
|
||||
INX H ;HBP INCREMENTED
|
||||
SHLD HBP
|
||||
XCHG ;BACK TO D,E
|
||||
LXI H,HSIZE
|
||||
CALL GCOMP ;EQUAL?
|
||||
RNZ
|
||||
;
|
||||
; OVERFLOW, WRITE BUFFERS
|
||||
CALL SELH
|
||||
LXI H,0
|
||||
SHLD HBP
|
||||
LXI H,HBUFF
|
||||
LXI D,HCB ;FILE CONTROL BLOCK FOR HEX FILE
|
||||
MVI B,NHB
|
||||
JMP WBUFF ;WRITE BUFFERS
|
||||
;
|
||||
PCHAR: ;PRINT CHARACTER IN REGISTER A
|
||||
PUSH B
|
||||
PUSH D
|
||||
PUSH H
|
||||
MVI C,WRITC
|
||||
MOV E,A
|
||||
CALL BDOS
|
||||
POP H
|
||||
POP D
|
||||
POP B
|
||||
RET
|
||||
;
|
||||
WOCHAR: ;WRITE CHARACTER IN REG-A WITH REFLECT AT CONSOLE IF ERROR
|
||||
MOV C,A ;SAVE THE CHAR
|
||||
CALL PNC ;PRINT CHAR
|
||||
LDA QBUFF
|
||||
CPI ' '
|
||||
RZ
|
||||
; ERROR IN LINE
|
||||
LDA PDISK
|
||||
CPI 'X'-'A'
|
||||
RZ ;ALREADY PRINTED IF 'X'
|
||||
;
|
||||
MOV A,C ;RECOVER CHARACTER
|
||||
CALL PCHAR ;PRINT IT
|
||||
RET
|
||||
;
|
||||
WOBUFF: ;WRITE THE OUTPUT BUFFER TO THE PRINT FILE
|
||||
LDA QBP ;GET CHARACTER COUNT
|
||||
LXI H,QBUFF ;BASE OF BUFFER
|
||||
WOB0: ORA A ;ZERO COUNT?
|
||||
JZ WOBE
|
||||
; NOT END, SAVE COUNT AND GET CHARACTER
|
||||
MOV B,A ;SAVE COUNT
|
||||
MOV A,M
|
||||
CALL WOCHAR ;WRITE CHARACTER
|
||||
INX H ;ADDRESS NEXT CHARACTER OF BUFFER
|
||||
MOV A,B ;GET COUNT
|
||||
DCR A
|
||||
JMP WOB0
|
||||
;
|
||||
WOBE: ;END OF PRINT - ZERO QBP
|
||||
STA QBP
|
||||
; FOLLOW BY CR LF
|
||||
MVI A,CR
|
||||
CALL WOCHAR
|
||||
MVI A,LF
|
||||
CALL WOCHAR
|
||||
LXI H,QBUFF
|
||||
MVI A,QBMAX ;READY TO BLANK OUT
|
||||
WOB2: MVI M,' '
|
||||
INX H
|
||||
DCR A
|
||||
JNZ WOB2
|
||||
RET
|
||||
;
|
||||
;
|
||||
PERR: ;FILL QBUFF ERROR MESSAGE POSITION
|
||||
MOV B,A ;SAVE CHARACTER
|
||||
LXI H,QBUFF
|
||||
MOV A,M
|
||||
CPI ' '
|
||||
RNZ ;DON'T CHANGE IT IF ALREADY SET
|
||||
MOV M,B ;STORE ERROR CHARACTER
|
||||
RET
|
||||
;
|
||||
EOR: ;END OF ASSEMBLER
|
||||
CALL NPR ;Z OR A?
|
||||
JZ EOPR
|
||||
; FILL OUTPUT FILES WITH EOF'S
|
||||
EOR2: LHLD PBP
|
||||
MOV A,L
|
||||
ORA H ;VALUE ZERO?
|
||||
JZ EOPR
|
||||
MVI A,EOF ;CTL-Z IS END OF FILE
|
||||
CALL PNC ;PUT ENDFILES IN PRINT BUFFER
|
||||
JMP EOR2 ;EVENTUALLY BUFFER IS WRITTEN
|
||||
;
|
||||
EOPR: ;END OF PRINT FILE, CHECK HEX
|
||||
LDA HDISK
|
||||
CPI 'Z'-'A'
|
||||
JZ EORC
|
||||
EOR0: ;WRITE TERMINATING RECORD INTO HEX FILE
|
||||
LDA DBL ;MAY BE ZERO ALREADY
|
||||
ORA A
|
||||
CNZ WHEX ;WRITE HEX BUFFER IF NOT ZERO
|
||||
LHLD FPC ;GET CURRENT FPC AS LAST ADDRESS
|
||||
SHLD BPC ;RECORD LENGTH ZERO, BASE ADDRESS 0000
|
||||
CALL WHEX ;WRITE HEX BUFFER
|
||||
;
|
||||
; NOW CLEAR OUTPUT BUFFER FOR HEX FILE
|
||||
EOR1: LHLD HBP
|
||||
MOV A,L
|
||||
ORA H
|
||||
JZ EORC
|
||||
MVI A,EOF
|
||||
CALL PNB
|
||||
JMP EOR1
|
||||
;
|
||||
; CLOSE FILES AND TERMINATE
|
||||
EORC:
|
||||
CALL NPR
|
||||
JZ EORPC
|
||||
CALL SELP
|
||||
LXI D,PCB
|
||||
CALL CLOSE
|
||||
EORPC:
|
||||
LDA HDISK
|
||||
CPI 'Z'-'A'
|
||||
JZ EORHC
|
||||
CALL SELH
|
||||
LXI D,HCB
|
||||
CALL CLOSE
|
||||
;
|
||||
EORHC:
|
||||
LXI H,ENDA
|
||||
CALL PCON
|
||||
JMP BOOT
|
||||
;
|
||||
TITL: DB 'MP/M ASSEMBLER - VER 1.1',CR
|
||||
ERROP: DB 'NO SOURCE FILE PRESENT',CR
|
||||
ERRMA: DB 'NO DIRECTORY SPACE',CR
|
||||
ERRFN: DB 'SOURCE FILE NAME ERROR',CR
|
||||
ERRFR: DB 'SOURCE FILE READ ERROR',CR
|
||||
ERRFW: DB 'OUTPUT FILE WRITE ERROR',CR
|
||||
ERRCL: DB 'CANNOT CLOSE FILES',CR
|
||||
ENDA: DB 'END OF ASSEMBLY',CR
|
||||
;
|
||||
DHEX: ;DATA TO HEX BUFFER (BYTE IN REG-A)
|
||||
PUSH B
|
||||
MOV B,A ;HOLD CHARACTER FOR 'Z' TEST
|
||||
LDA HDISK
|
||||
CPI 'Z'-'A'
|
||||
MOV A,B ;RECOVER CHARACTER
|
||||
JZ DHRET
|
||||
PUSH D ;ENVIRONMENT SAVED
|
||||
PUSH PSW ;SAVE DATA BYTE
|
||||
LXI H,DBL ;CURRENT LENGTH
|
||||
MOV A,M ;TO ACCUM
|
||||
ORA A ;ZERO?
|
||||
JZ DHEX3
|
||||
;
|
||||
; LENGTH NOT ZERO, MAY BE FULL BUFFER
|
||||
CPI 16
|
||||
JC DHEX1 ;BR IF LESS THAN 16 BYTES
|
||||
; BUFFER FULL, DUMP IT
|
||||
CALL WHEX ;DBL = 0 UPON RETURN
|
||||
JMP DHEX3 ;SET BPC AND DATA BYTE
|
||||
;
|
||||
DHEX1: ;PARTIAL BUFFER IN PROGRESS, CHECK FOR SEQUENTIAL BYTE LOAD
|
||||
LHLD FPC
|
||||
XCHG
|
||||
LHLD BPC ;BASE PC IN H,L
|
||||
MOV C,A ;CURRENT LENGTH OF BUFFER
|
||||
MVI B,0 ;IS IN B,C
|
||||
DAD B ;BPC+DBL TO H,L
|
||||
MOV A,E ;READY FOR COMPARE
|
||||
CMP L ;EQUAL?
|
||||
JNZ DHEX2 ;BR IF NOT
|
||||
MOV A,D ;CHECK HO BYTE
|
||||
CMP H
|
||||
JZ DHEX4 ;BR IF SAME ADDRESS
|
||||
;
|
||||
DHEX2: ;NON SEQUENTIAL ADDRESS, DUMP AND CHANGE BASE ADDRESS
|
||||
CALL WHEX
|
||||
DHEX3: ;SET NEW BASE
|
||||
LHLD FPC
|
||||
SHLD BPC
|
||||
;
|
||||
DHEX4: ;STORE DATA BYTE AND INC DBL
|
||||
LXI H,DBL
|
||||
MOV E,M ;LENGTH TO REG-E
|
||||
INR M ;DBL=DBL+1
|
||||
MVI D,0 ;HIGH ORDER ZERO FOR DOUBLE ADD
|
||||
LXI H,DBUFF
|
||||
DAD D ;DBUFF+DBL TO H,L
|
||||
POP PSW ;RESTORE DATA BYTE
|
||||
MOV M,A ;INTO DATA BUFFER
|
||||
POP D
|
||||
DHRET: POP B ;ENVIRONMENT RESTORED
|
||||
RET
|
||||
;
|
||||
WRC: ;WRITE CHARACTER WITH CHECK SUM IN D
|
||||
PUSH PSW
|
||||
RRC
|
||||
RRC
|
||||
RRC
|
||||
RRC
|
||||
ANI 0FH
|
||||
CALL HEXC ;OUTPUT HEX CHARACTER
|
||||
POP PSW ;RESTORE BYTE
|
||||
PUSH PSW ;SAVE A VERSION
|
||||
ANI 0FH
|
||||
CALL HEXC ;WRITE LOW NIBBLE
|
||||
POP PSW ;RESTORE BYTE
|
||||
ADD D ;COMPUTE CHECKSUM
|
||||
MOV D,A ;SAVE CS
|
||||
RET
|
||||
;
|
||||
HEXC: ;WRITE CHARACTER
|
||||
ADI 90H
|
||||
DAA
|
||||
ACI 40H
|
||||
DAA
|
||||
JMP PNB ;PUT BYTE
|
||||
;
|
||||
WHEX: ;WRITE CURRENT HEX BUFFER
|
||||
MVI A,':' ;RECORD HEADER
|
||||
CALL PNB ;PUT BYTE
|
||||
LXI H,DBL ;RECORD LENGTH ADDRESS
|
||||
MOV E,M ;LENGTH TO REG-E
|
||||
XRA A ;ZERO TO REG-A
|
||||
MOV D,A ;CLEAR CHECKSUM
|
||||
MOV M,A ;LENGTH IS ZEROED FOR NEXT WRITE
|
||||
LHLD BPC ;BASE ADDRESS FOR RECORD
|
||||
MOV A,E ;LENGTH TO A
|
||||
CALL WRC ;WRITE HEX VALUE
|
||||
MOV A,H ;HIGH ORDER BASE ADDR
|
||||
CALL WRC ;WRITE HO BYTE
|
||||
MOV A,L ;LOW ORDER BASE ADDR
|
||||
CALL WRC ;WRITE LO BYTE
|
||||
XRA A ;ZERO TO A
|
||||
CALL WRC ;WRITE RECORD TYPE 00
|
||||
MOV A,E ;CHECK FOR LENGTH 0
|
||||
ORA A
|
||||
JZ WHEX1
|
||||
;
|
||||
; NON - ZERO, WRITE DATA BYTES
|
||||
LXI H,DBUFF
|
||||
WHEX0: MOV A,M ;GET BYTE
|
||||
INX H
|
||||
CALL WRC ;WRITE DATA BYTE
|
||||
DCR E ;END OF BUFFER?
|
||||
JNZ WHEX0
|
||||
;
|
||||
; END OF DATA BYTES, WRITE CHECK SUM
|
||||
WHEX1: XRA A
|
||||
SUB D ;COMPUTE CHECKSUM
|
||||
CALL WRC
|
||||
;
|
||||
; SEND CRLF AT END OF RECORD
|
||||
MVI A,CR
|
||||
CALL PNB
|
||||
MVI A,LF
|
||||
CALL PNB
|
||||
RET
|
||||
;
|
||||
;
|
||||
;
|
||||
ENDMOD EQU ($ AND 0FFE0H)+20H
|
||||
END
|
||||
|
||||
408
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/as2scan.asm
Normal file
408
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/as2scan.asm
Normal file
@@ -0,0 +1,408 @@
|
||||
TITLE 'ASM SCANNER MODULE'
|
||||
org 0
|
||||
base equ $
|
||||
|
||||
ORG 1100H
|
||||
JMP ENDMOD ;END OF THIS MODULE
|
||||
JMP INITS ;INITIALIZE THE SCANNER
|
||||
JMP SCAN ;CALL THE SCANNER
|
||||
;
|
||||
;
|
||||
; ENTRY POINTS IN I/O MODULE
|
||||
IOMOD EQU base+200H
|
||||
GNCF EQU IOMOD+6H
|
||||
WOBUFF EQU IOMOD+15H
|
||||
PERR EQU IOMOD+18H
|
||||
;
|
||||
LASTC: DS 1 ;LAST CHAR SCANNED
|
||||
NEXTC: DS 1 ;LOOK AHEAD CHAR
|
||||
STYPE: DS 1 ;RADIX INDICATOR
|
||||
;
|
||||
; COMMON EQUATES
|
||||
PBMAX EQU 90 ;MAX PRINT SIZE
|
||||
PBUFF EQU base+10CH ;PRINT BUFFER
|
||||
PBP EQU PBUFF+PBMAX ;PRINT BUFFER POINTER
|
||||
;
|
||||
TOKEN EQU PBP+1 ;CURRENT TOKEN UDER SCAN
|
||||
VALUE EQU TOKEN+1 ;VALUE OF NUMBER IN BINARY
|
||||
ACCLEN EQU VALUE+2 ;ACCUMULATOR LENGTH
|
||||
ACMAX EQU 64 ;MAX ACCUMULATOR LENGTH
|
||||
ACCUM EQU ACCLEN+1
|
||||
;
|
||||
EVALUE EQU ACCUM+ACMAX ;VALUE FROM EXPRESSION ANALYSIS
|
||||
;
|
||||
SYTOP EQU EVALUE+2 ;CURRENT SYMBOL TOP
|
||||
SYMAX EQU SYTOP+2 ;MAX ADDRESS+1
|
||||
;
|
||||
PASS EQU SYMAX+2 ;CURRENT PASS NUMBER
|
||||
FPC EQU PASS+1 ;FILL ADDRESS FOR NEXT HEX BYTE
|
||||
ASPC EQU FPC+2 ;ASSEMBLER'S PSEUDO PC
|
||||
;
|
||||
; GLOBAL EQUATES
|
||||
IDEN EQU 1 ;IDENTIFIER
|
||||
NUMB EQU 2 ;NUMBER
|
||||
STRNG EQU 3 ;STRING
|
||||
SPECL EQU 4 ;SPECIAL CHARACTER
|
||||
;
|
||||
PLABT EQU 0001B ;PROGRAM LABEL
|
||||
DLABT EQU 0010B ;DATA LABEL
|
||||
EQUT EQU 0100B ;EQUATE
|
||||
SETT EQU 0101B ;SET
|
||||
MACT EQU 0110B ;MACRO
|
||||
;
|
||||
EXTT EQU 1000B ;EXTERNAL
|
||||
REFT EQU 1011B ;REFER
|
||||
GLBT EQU 1100B ;GLOBAL
|
||||
;
|
||||
BINV EQU 2
|
||||
OCTV EQU 8
|
||||
DECV EQU 10
|
||||
HEXV EQU 16
|
||||
CR EQU 0DH
|
||||
LF EQU 0AH
|
||||
EOF EQU 1AH
|
||||
TAB EQU 09H ;TAB CHARACTER
|
||||
;
|
||||
;
|
||||
; UTILITY SUBROUTINES
|
||||
GNC: ;GET NEXT CHARACTER AND ECHO TO PRINT FILE
|
||||
CALL GNCF
|
||||
PUSH PSW
|
||||
CPI CR
|
||||
JZ GNC0
|
||||
CPI LF ;IF LF THEN DUMP CURRENT BUFFER
|
||||
JZ GNC0
|
||||
;
|
||||
;NOT A CR OR LF, PLACE INTO BUFFER IF THERE IS ENOUGH ROOM
|
||||
LDA PBP
|
||||
CPI PBMAX
|
||||
JNC GNC0
|
||||
; ENOUGH ROOM, PLACE INTO BUFFER
|
||||
MOV E,A
|
||||
MVI D,0 ;DOUBLE PRECISION PBP IN D,E
|
||||
INR A
|
||||
STA PBP ;INCREMENTED PBP IN MEMORY
|
||||
LXI H,PBUFF
|
||||
DAD D ;PBUFF(PBP)
|
||||
POP PSW
|
||||
MOV M,A ;PBUFF(PBP) = CHAR
|
||||
RET
|
||||
GNC0: ;CHAR NOT PLACED INTO BUFFER
|
||||
POP PSW
|
||||
RET
|
||||
;
|
||||
INITS: ;INITIALIZE THE SCANNER
|
||||
CALL ZERO
|
||||
STA NEXTC ;CLEAR NEXT CHARACTER
|
||||
STA PBP
|
||||
MVI A,LF ;SET LAST CHAR TO LF
|
||||
STA LASTC
|
||||
CALL WOBUFF ;CLEAR BUFFER
|
||||
MVI A,16 ;START OF PRINT LINE
|
||||
STA PBP
|
||||
RET
|
||||
;
|
||||
ZERO: XRA A
|
||||
STA ACCLEN
|
||||
STA STYPE
|
||||
RET
|
||||
;
|
||||
SAVER: ;STORE THE NEXT CHARACTER INTO THE ACCUMULATOR AND UPDATE ACCLEN
|
||||
LXI H,ACCLEN
|
||||
MOV A,M
|
||||
CPI ACMAX
|
||||
JC SAV1 ;JUMP IF NOT UP TO LAST POSITION
|
||||
MVI M,0
|
||||
CALL ERRO
|
||||
SAV1: MOV E,M ;D,E WILL HOLD INDEX
|
||||
MVI D,0
|
||||
INR M ;ACCLEN INCREMENTED
|
||||
INX H ;ADDRESS ACCUMULATOR
|
||||
DAD D ;ADD INDEX TO ACCUMULATOR
|
||||
LDA NEXTC ;GET CHARACTER
|
||||
MOV M,A ;INTO ACCUMULATOR
|
||||
RET
|
||||
;
|
||||
TDOLL: ;TEST FOR DOLLAR SIGN, ASSUMING H,L ADDRESS NEXTC
|
||||
MOV A,M
|
||||
CPI '$'
|
||||
RNZ
|
||||
XRA A ;TO GET A ZERO
|
||||
MOV M,A ;CLEARS NEXTC
|
||||
RET ;WITH ZERO FLAG SET
|
||||
;
|
||||
NUMERIC: ;CHECK NEXTC FOR NUMERIC, RETURN ZERO FLAG IF NOT NUMERIC
|
||||
LDA NEXTC
|
||||
SUI '0'
|
||||
CPI 10
|
||||
; CARRY RESET IF NUMERIC
|
||||
RAL
|
||||
ANI 1B ;ZERO IF NOT NUMERIC
|
||||
RET
|
||||
;
|
||||
HEX: ;RETURN ZERO FLAG IF NEXTC IS NOT HEXADECIMAL
|
||||
CALL NUMERIC
|
||||
RNZ ;RETURNS IF 0-9
|
||||
LDA NEXTC
|
||||
SUI 'A'
|
||||
CPI 6
|
||||
; CARRY SET IF OUT OF RANGE
|
||||
RAL
|
||||
ANI 1B
|
||||
RET
|
||||
;
|
||||
LETTER: ;RETURN ZERO FLAG IF NEXTC IS NOT A LETTER
|
||||
LDA NEXTC
|
||||
SUI 'A'
|
||||
CPI 26
|
||||
RAL
|
||||
ANI 1B
|
||||
RET
|
||||
;
|
||||
ALNUM: ;RETURN ZERO FLAG IF NOT ALPHANUMERIC
|
||||
CALL LETTER
|
||||
RNZ
|
||||
CALL NUMERIC
|
||||
RET
|
||||
;
|
||||
TRANS: ;TRANSLATE TO UPPER CASE
|
||||
LDA NEXTC
|
||||
CPI 'A' OR 1100000B ;LOWER CASE A
|
||||
RC ;CARRY IF LESS THAN LOWER A
|
||||
CPI ('Z' OR 1100000B)+1 ;LOWER CASE Z
|
||||
RNC ;NO CARRY IF GREATER THAN LOWER Z
|
||||
ANI 1011111B ;CONVERT TO UPPER CASE
|
||||
STA NEXTC
|
||||
RET
|
||||
;
|
||||
GNCN: ;GET CHARACTER AND STORE TO NEXTC
|
||||
CALL GNC
|
||||
STA NEXTC
|
||||
CALL TRANS ;TRANSLATE TO UPPER CASE
|
||||
RET
|
||||
;
|
||||
EOLT: ;END OF LINE TEST FOR COMMENT SCAN
|
||||
CPI CR
|
||||
RZ
|
||||
CPI EOF
|
||||
RZ
|
||||
CPI '!'
|
||||
RET
|
||||
;
|
||||
SCAN: ;FIND NEXT TOKEN IN INPUT STREAM
|
||||
XRA A
|
||||
STA TOKEN
|
||||
CALL ZERO
|
||||
;
|
||||
; DEBLANK
|
||||
DEBL: LDA NEXTC
|
||||
CPI TAB ;TAB CHARACTER TREATED AS BLANK OUTSIDE STRING
|
||||
JZ DEB0
|
||||
CPI ';' ;MAY BE A COMMENT
|
||||
JZ DEB1 ;DEBLANK THROUGH COMMENT
|
||||
CPI '*' ;PROCESSOR TECH COMMENT
|
||||
JNZ DEB2 ;NOT *
|
||||
LDA LASTC
|
||||
CPI LF ;LAST LINE FEED?
|
||||
JNZ DEB2 ;NOT LF*
|
||||
; COMMENT FOUND, REMOVE IT
|
||||
DEB1: CALL GNCN
|
||||
CALL EOLT ;CR, EOF, OR !
|
||||
JZ FINDL ;HANDLE END OF LINE
|
||||
JMP DEB1 ;OTHERWISE CONTINUE SCAN
|
||||
DEB2: ORI ' ' ;MAY BE ZERO
|
||||
CPI ' '
|
||||
JNZ FINDL
|
||||
DEB0: CALL GNCN ;GET NEXT AND STORE TO NEXTC
|
||||
JMP DEBL
|
||||
;
|
||||
; LINE DEBLANKED, FIND TOKEN TYPE
|
||||
FINDL: ;LOOK FOR LETTER, DECIMAL DIGIT, OR STRING QUOTE
|
||||
CALL LETTER
|
||||
JZ FIND0
|
||||
MVI A,IDEN
|
||||
JMP STOKEN
|
||||
;
|
||||
FIND0: CALL NUMERIC
|
||||
JZ FIND1
|
||||
MVI A,NUMB
|
||||
JMP STOKEN
|
||||
;
|
||||
FIND1: LDA NEXTC
|
||||
CPI ''''
|
||||
JNZ FIND2
|
||||
XRA A
|
||||
STA NEXTC ;DON'T STORE THE QUOTE
|
||||
MVI A,STRNG
|
||||
JMP STOKEN
|
||||
;
|
||||
FIND2: ;ASSUME IT IS A SPECIAL CHARACTER
|
||||
CPI LF ;IF LF THEN DUMP THE BUFFER
|
||||
JNZ FIND3
|
||||
; LF FOUND
|
||||
LDA PASS
|
||||
ORA A
|
||||
CNZ WOBUFF
|
||||
LXI H,PBUFF ;CLEAR ERROR CHAR ON BOTH PASSES
|
||||
MVI M,' '
|
||||
MVI A,16
|
||||
STA PBP ;START NEW LINE
|
||||
FIND3: MVI A,SPECL
|
||||
;
|
||||
STOKEN: STA TOKEN
|
||||
;
|
||||
;
|
||||
; LOOP WHILE CURRENT ITEM IS ACCUMULATING
|
||||
SCTOK: LDA NEXTC
|
||||
STA LASTC ;SAVE LAST CHARACTER
|
||||
ORA A
|
||||
CNZ SAVER ;STORE CHARACTER INTO ACCUM IF NOT ZERO
|
||||
CALL GNCN ;GET NEXT TO NEXTC
|
||||
LDA TOKEN
|
||||
CPI SPECL
|
||||
RZ ;RETURN IF SPECIAL CHARACTER
|
||||
CPI STRNG
|
||||
CNZ TRANS ;TRANSLATE TO UPPER CASE IF NOT IN STRING
|
||||
LXI H,NEXTC
|
||||
LDA TOKEN
|
||||
;
|
||||
CPI IDEN
|
||||
JNZ SCT2
|
||||
;
|
||||
; ACCUMULATING AN IDENTIFIER
|
||||
CALL TDOLL ;$?
|
||||
JZ SCTOK ;IF SO, SKIP IT
|
||||
CALL ALNUM ;ALPHA NUMERIC?
|
||||
RZ ;RETURN IF END
|
||||
; NOT END OF THE IDENTIFIER
|
||||
JMP SCTOK
|
||||
;
|
||||
SCT2: ;NOT SPECIAL OR IDENT, CHECK NUMBER
|
||||
CPI NUMB
|
||||
JNZ SCT3
|
||||
;
|
||||
; ACCUMULATING A NUMBER, CHECK FOR $
|
||||
CALL TDOLL
|
||||
JZ SCTOK ;SKIP IF FOUND
|
||||
CALL HEX ;HEX CHARACTER?
|
||||
JNZ SCTOK ;STORE IT IF FOUND
|
||||
; END OF NUMBER, LOOK FOR RADIX INDICATOR
|
||||
;
|
||||
LDA NEXTC
|
||||
CPI 'O' ;OCTAL INDICATOR
|
||||
JZ NOCT
|
||||
CPI 'Q' ;OCTAL INDICATOR
|
||||
JNZ NUM2
|
||||
;
|
||||
NOCT: ;OCTAL
|
||||
MVI A,OCTV
|
||||
JMP SSTYP
|
||||
;
|
||||
NUM2: CPI 'H'
|
||||
JNZ NUM3
|
||||
MVI A,HEXV
|
||||
SSTYP: STA STYPE
|
||||
XRA A
|
||||
STA NEXTC ;CLEARS THE LOOKAHEAD CHARACTER
|
||||
JMP NCON
|
||||
;
|
||||
; RADIX MUST COME FROM ACCUM
|
||||
NUM3: LDA LASTC
|
||||
CPI 'B'
|
||||
JNZ NUM4
|
||||
MVI A,BINV
|
||||
JMP SSTY1
|
||||
;
|
||||
NUM4: CPI 'D'
|
||||
MVI A,DECV
|
||||
JNZ SSTY2
|
||||
SSTY1: LXI H,ACCLEN
|
||||
DCR M ;ACCLEN DECREMENTED TO REMOVE RADIX INDICATOR
|
||||
SSTY2: STA STYPE
|
||||
;
|
||||
NCON: ;NUMERIC CONVERSION OCCURS HERE
|
||||
LXI H,0
|
||||
SHLD VALUE ;VALUE ACCUMULATES BINARY EQUIVALENT
|
||||
LXI H,ACCLEN
|
||||
MOV C,M ;C=ACCLEN
|
||||
INX H ;ADDRESSES ACCUM
|
||||
CLOP: ;NEXT DIGIT IS PROCESSED HERE
|
||||
MOV A,M
|
||||
INX H ;READY FOR NEXT LOOP
|
||||
CPI 'A'
|
||||
JNC CLOP1 ;NOT HEX A-F
|
||||
SUI '0' ;NORMALIZE
|
||||
JMP CLOP2
|
||||
;
|
||||
CLOP1: ;HEX A-F
|
||||
SUI 'A'-10
|
||||
CLOP2: ;CHECK SIZE AGAINST RADIX
|
||||
PUSH H ;SAVE ACCUM ADDR
|
||||
PUSH B ;SAVE CURRENT POSITION
|
||||
MOV C,A
|
||||
LXI H,STYPE
|
||||
CMP M
|
||||
CNC ERRV ;VALUE ERROR IF DIGIT>=RADIX
|
||||
MVI B,0 ;DOUBLE PRECISION DIGIT
|
||||
MOV A,M ;RADIX TO ACCUMULATOR
|
||||
LHLD VALUE
|
||||
XCHG ;VALUE TO D,E - ACCUMULATE RESULT IN H,L
|
||||
LXI H,0 ;ZERO ACCUMULATOR
|
||||
CLOP3: ;LOOP UNTIL RADIX GOES TO ZERO
|
||||
ORA A
|
||||
JZ CLOP4
|
||||
RAR ;TEST LSB
|
||||
JNC TTWO ;SKIP SUMMING OPERATION IF LSB=0
|
||||
DAD D ;ADD IN VALUE
|
||||
TTWO: ;MULTIPLY VALUE * 2 FOR SHL OPERATION
|
||||
XCHG
|
||||
DAD H
|
||||
XCHG
|
||||
JMP CLOP3
|
||||
;
|
||||
;
|
||||
CLOP4: ;END OF NUMBER CONVERSION
|
||||
DAD B ;DIGIT ADDED IN
|
||||
SHLD VALUE
|
||||
POP B
|
||||
POP H
|
||||
DCR C ;MORE DIGITS?
|
||||
JNZ CLOP
|
||||
RET ;DONE WITH THE NUMBER
|
||||
;
|
||||
SCT3: ;MUST BE A STRING
|
||||
LDA NEXTC
|
||||
CPI CR ;END OF LINE?
|
||||
JZ ERRO ;AND RETURN
|
||||
CPI ''''
|
||||
JNZ SCTOK
|
||||
CALL GNCN
|
||||
CPI ''''
|
||||
RNZ ;RETURN IF SINGLE QUOTE ENCOUNTERED
|
||||
JMP SCTOK ;OTHERWISE TREAT AS ONE QUOTE
|
||||
;
|
||||
; END OF SCANNER
|
||||
;
|
||||
; ERROR MESSAGE ROUTINES
|
||||
ERRV: ;'V' VALUE ERROR
|
||||
PUSH PSW
|
||||
MVI A,'V'
|
||||
JMP ERR
|
||||
;
|
||||
ERRO: ;'O' OVERFLOW ERROR
|
||||
PUSH PSW
|
||||
MVI A,'O'
|
||||
JMP ERR
|
||||
;
|
||||
ERR: ;PRINT ERROR MESSAGE
|
||||
PUSH B
|
||||
PUSH H
|
||||
CALL PERR
|
||||
POP H
|
||||
POP B
|
||||
POP PSW
|
||||
RET
|
||||
;
|
||||
ENDMOD EQU ($ AND 0FFE0H) + 20H
|
||||
END
|
||||
|
||||
385
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/as3sym.asm
Normal file
385
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/as3sym.asm
Normal file
@@ -0,0 +1,385 @@
|
||||
TITLE 'ASM SYMBOL TABLE MODULE'
|
||||
; SYMBOL TABLE MANIPULATION MODULE
|
||||
;
|
||||
org 0
|
||||
base equ $
|
||||
|
||||
ORG 1340H
|
||||
IOMOD EQU base+200H ;IO MODULE ENTRY POINT
|
||||
PCON EQU IOMOD+12H
|
||||
EOR EQU IOMOD+1EH
|
||||
;
|
||||
;
|
||||
; ENTRY POINTS TO SYMBOL TABLE MODULE
|
||||
JMP ENDMOD
|
||||
JMP INISY
|
||||
JMP LOOKUP
|
||||
JMP FOUND
|
||||
JMP ENTER
|
||||
JMP SETTY
|
||||
JMP GETTY
|
||||
JMP SETVAL
|
||||
JMP GETVAL
|
||||
;
|
||||
; COMMON EQUATES
|
||||
PBMAX EQU 90 ;MAX PRINT SIZE
|
||||
PBUFF EQU base+10CH ;PRINT BUFFER
|
||||
PBP EQU PBUFF+PBMAX ;PRINT BUFFER POINTER
|
||||
;
|
||||
TOKEN EQU PBP+1 ;CURRENT TOKEN UDER SCAN
|
||||
VALUE EQU TOKEN+1 ;VALUE OF NUMBER IN BINARY
|
||||
ACCLEN EQU VALUE+2 ;ACCUMULATOR LENGTH
|
||||
ACMAX EQU 64 ;MAX ACCUMULATOR LENGTH
|
||||
ACCUM EQU ACCLEN+1
|
||||
;
|
||||
EVALUE EQU ACCUM+ACMAX ;VALUE FROM EXPRESSION ANALYSIS
|
||||
;
|
||||
SYTOP EQU EVALUE+2 ;CURRENT SYMBOL TOP
|
||||
SYMAX EQU SYTOP+2 ;MAX ADDRESS+1
|
||||
;
|
||||
PASS EQU SYMAX+2 ;CURRENT PASS NUMBER
|
||||
FPC EQU PASS+1 ;FILL ADDRESS FOR NEXT HEX BYTE
|
||||
ASPC EQU FPC+2 ;ASSEMBLER'S PSEUDO PC
|
||||
SYBAS EQU ASPC+2 ;BASE OF SYMBOL TABLE
|
||||
SYADR EQU SYBAS+2 ;CURRENT SYMBOL BEING ACCESSED
|
||||
;
|
||||
; GLOBAL EQUATES
|
||||
IDEN EQU 1 ;IDENTIFIER
|
||||
NUMB EQU 2 ;NUMBER
|
||||
STRNG EQU 3 ;STRING
|
||||
SPECL EQU 4 ;SPECIAL CHARACTER
|
||||
;
|
||||
PLABT EQU 0001B ;PROGRAM LABEL
|
||||
DLABT EQU 0010B ;DATA LABEL
|
||||
EQUT EQU 0100B ;EQUATE
|
||||
SETT EQU 0101B ;SET
|
||||
MACT EQU 0110B ;MACRO
|
||||
;
|
||||
EXTT EQU 1000B ;EXTERNAL
|
||||
REFT EQU 1011B ;REFER
|
||||
GLBT EQU 1100B ;GLOBAL
|
||||
;
|
||||
;
|
||||
CR EQU 0DH
|
||||
;
|
||||
; DATA AREAS
|
||||
; SYMBOL TABLE BEGINS AT THE END OF THIS MODULE
|
||||
FIXD EQU 5 ;5 BYTES OVERHEAD WITH EACH SYMBOL ENTRY
|
||||
; 2BY COLLISION, 1BY TYPE/LEN, 2BY VALUE
|
||||
HSIZE EQU 128 ;HASH TABLE SIZE
|
||||
HMASK EQU HSIZE-1 ;HASH MASK FOR CODING
|
||||
HASHT: DS HSIZE*2 ;HASH TABLE
|
||||
HASHC: DS 1 ;HASH CODE AFTER CALL ON LOOKUP
|
||||
;
|
||||
; SYMBOL TABLE ENTRY FORMAT IS
|
||||
; -----------------
|
||||
; : HIGH VAL BYTE :
|
||||
; -----------------
|
||||
; : LOW VAL BYTE :
|
||||
; -----------------
|
||||
; : CHARACTER N :
|
||||
; -----------------
|
||||
; : ... :
|
||||
; -----------------
|
||||
; : CHARACTER 1 :
|
||||
; -----------------
|
||||
; : TYPE : LENG :
|
||||
; -----------------
|
||||
; : HIGH COLLISION:
|
||||
; -----------------
|
||||
; SYADR= : LOW COLLISION :
|
||||
; -----------------
|
||||
;
|
||||
; WHERE THE LOW/HIGH COLLISION FIELD ADDRESSES ANOTHER ENTRY WITH
|
||||
; THE SAME HASH CODE (OR ZERO IF THE END OF CHAIN), TYPE DESCRIBES
|
||||
; THE ENTRY TYPE (GIVEN BELOW), LENG IS THE NUMBER OF CHARACTERS IN
|
||||
; THE SYMBOL PRINTNAME -1 (I.E., LENG=0 IS A SINGLE CHARACTER PRINT-
|
||||
; NAME, WHILE LENG=15 INDICATES A 16 CHARACTER NAME). CHARACTER 1
|
||||
; THROUGH N GIVE THE PRINTNAME CHARACTERS IN ASCII UPPER CASE (ALL
|
||||
; LOWER CASE NAMES ARE TRANSLATED ON INPUT), AND THE LOW/HIGH VALUE
|
||||
; GIVE THE PARTICULAR ADDRESS OR CONSTANT VALUE ASSOCIATED WITH THE
|
||||
; NAME. THE REPRESENTATION OF MACROS DIFFERS IN THE FIELDS WHICH
|
||||
; FOLLOW THE VALUE FIELD (MACROS ARE NOT CURRENTLY IMPLEMENTED).
|
||||
;
|
||||
; THE TYPE FIELD CONSISTS OF FOUR BITS WHICH ARE ASSIGNED AS
|
||||
; FOLLOWS:
|
||||
;
|
||||
; 0000 UNDEFINED SYMBOL
|
||||
; 0001 LOCAL LABELLED PROGRAM
|
||||
; 0010 LOCAL LABELLED DATA
|
||||
; 0011 (UNUSED)
|
||||
; 0100 EQUATE
|
||||
; 0101 SET
|
||||
; 0110 MACRO
|
||||
; 0111 (UNUSED)
|
||||
;
|
||||
; 1000 (UNUSED)
|
||||
; 1001 EXTERN LABELLED PROGRAM
|
||||
; 1010 EXTERN LABELLED DATA
|
||||
; 1011 REFERENCE TO MODULE
|
||||
; 1100 (UNUSED)
|
||||
; 1101 GLOBAL UNDEFINED SYMBOL
|
||||
; 1110 GLOBAL LABELLED PROGRAM
|
||||
; 1111 (UNUSED)
|
||||
;
|
||||
; TYPE DEFINITIONS
|
||||
;
|
||||
PLABT EQU 0001B ;PROGRAM LABEL
|
||||
DLABT EQU 0010B ;DATA LABEL
|
||||
EQUT EQU 0100B ;EQUATE
|
||||
SETT EQU 0101B ;SET
|
||||
MACT EQU 0110B ;MACRO
|
||||
;
|
||||
EXTT EQU 1000B ;EXTERNAL ATTRIBUTE
|
||||
REFT EQU 1011B ;REFER
|
||||
GLBT EQU 1100B ;GLOBAL ATTRIBUTE
|
||||
;
|
||||
;
|
||||
INISY: ;INITIALIZE THE SYMBOL TABLE
|
||||
LXI H,HASHT ;ZERO THE HASH TABLE
|
||||
MVI B,HSIZE
|
||||
XRA A ;CLEAR ACCUM
|
||||
INI0:
|
||||
MOV M,A
|
||||
INX H
|
||||
MOV M,A ;CLEAR DOUBLE WORD
|
||||
INX H
|
||||
DCR B
|
||||
JNZ INI0
|
||||
;
|
||||
; SET SYMBOL TABLE POINTERS
|
||||
LXI H,0
|
||||
SHLD SYADR
|
||||
;
|
||||
RET
|
||||
;
|
||||
CHASH: ;COMPUTE HASH CODE FOR CURRENT ACCUMULATOR
|
||||
LXI H,ACCLEN
|
||||
MOV B,M ;GET ACCUM LENGTH
|
||||
XRA A ;CLEAR ACCUMULATOR
|
||||
CH0: INX H ;MOVE TO FIRST/NEXT CHARACTER POSITION
|
||||
ADD M ;ADD WITH OVERFLOW
|
||||
DCR B
|
||||
JNZ CH0
|
||||
ANI HMASK ;MASK BITS FOR MODULO HZISE
|
||||
STA HASHC ;FILL HASHC WITH RESULT
|
||||
RET
|
||||
;
|
||||
SETLN: ;SET THE LENGTH FIELD OF THE CURRENT SYMBOL
|
||||
MOV B,A ;SAVE LENGTH IN B
|
||||
LHLD SYADR
|
||||
INX H
|
||||
INX H
|
||||
MOV A,M ;GET TYPE/LENGTH FIELD
|
||||
ANI 0F0H ;MASK OUT TYPE FIELD
|
||||
ORA B ;MASK IN LENGTH
|
||||
MOV M,A
|
||||
RET
|
||||
;
|
||||
GETLN: ;GET THE LENGTH FIELD TO REG-A
|
||||
LHLD SYADR
|
||||
INX H
|
||||
INX H
|
||||
MOV A,M
|
||||
ANI 0FH
|
||||
INR A ;LENGTH IS STORED AS VALUE - 1
|
||||
RET
|
||||
;
|
||||
FOUND: ;FOUND RETURNS TRUE IF SYADR IS NOT ZERO (TRUE IS NZ FLAG HERE)
|
||||
LHLD SYADR
|
||||
MOV A,L
|
||||
ORA H
|
||||
RET
|
||||
;
|
||||
LOOKUP: ;LOOK FOR SYMBOL IN ACCUMULATOR
|
||||
CALL CHASH ;COMPUTE HASH CODE
|
||||
; NORMALIZE IDENTIFIER TO 16 CHARACTERS
|
||||
LXI H,ACCLEN
|
||||
MOV A,M
|
||||
CPI 17
|
||||
JC LENOK
|
||||
MVI M,16
|
||||
LENOK:
|
||||
; LOOK FOR SYMBOL THROUGH HASH TABLE
|
||||
LXI H,HASHC
|
||||
MOV E,M
|
||||
MVI D,0 ;DOUBLE HASH CODE IN D,E
|
||||
LXI H,HASHT ;BASE OF HASH TABLE
|
||||
DAD D
|
||||
DAD D ;HASHT(HASHC)
|
||||
MOV E,M ;LOW ORDER ADDRESS
|
||||
INX H
|
||||
MOV H,M
|
||||
MOV L,E ;HEADER TO LIST OF SYMBOLS IS IN H,L
|
||||
LOOK0: SHLD SYADR
|
||||
CALL FOUND
|
||||
RZ ;RETURN IF SYADR BECOMES ZERO
|
||||
;
|
||||
; OTHERWISE EXAMINE CHARACTER STRING FOR MATCH
|
||||
CALL GETLN ;GET LENGTH TO REG-A
|
||||
LXI H,ACCLEN
|
||||
CMP M
|
||||
JNZ LCOMP
|
||||
;
|
||||
; LENGTH MATCH, TRY TO MATCH CHARACTERS
|
||||
MOV B,A ;STRING LENGTH IN B
|
||||
INX H ;HL ADDRESSES ACCUM
|
||||
XCHG ;TO D,E
|
||||
LHLD SYADR
|
||||
INX H
|
||||
INX H
|
||||
INX H ;ADDRESSES CHARACTERS
|
||||
LOOK1: LDAX D ;NEXT CHARACTER FROM ACCUM
|
||||
CMP M ;NEXT CHARACTER IN SYMBOL TABLE
|
||||
JNZ LCOMP
|
||||
; CHARACTER MATCHED, INCREMENT TO NEXT
|
||||
INX D
|
||||
INX H
|
||||
DCR B
|
||||
JNZ LOOK1
|
||||
;
|
||||
; COMPLETE MATCH AT CURRENT SYMBOL, SYADR IS SET
|
||||
RET
|
||||
;
|
||||
LCOMP: ;NOT FOUND, MOVE SYADR DOWN ONE COLLISION ADDRESS
|
||||
LHLD SYADR
|
||||
MOV E,M
|
||||
INX H
|
||||
MOV D,M ;COLLISION ADDRESS IN D,E
|
||||
XCHG
|
||||
JMP LOOK0
|
||||
;
|
||||
;
|
||||
ENTER: ;ENTER SYMBOL IN ACCUMULATOR
|
||||
; ENSURE THERE IS ENOUGH SPACE IN THE TABLE
|
||||
LXI H,ACCLEN
|
||||
MOV E,M
|
||||
MVI D,0 ;DOUBLE PRECISION ACCLEN IN D,E
|
||||
LHLD SYTOP
|
||||
SHLD SYADR ;NEXT SYMBOL LOCATION
|
||||
DAD D ;SYTOP+ACCLEN
|
||||
LXI D,FIXD ;FIXED DATA/SYMBOL
|
||||
DAD D ;HL HAS NEXT TABLE LOCATION FOR SYMBOL
|
||||
XCHG ;NEW SYTOP IN D,E
|
||||
LHLD SYMAX ;MAXIMUM SYMTOP VALUE
|
||||
MOV A,E
|
||||
SUB L ;COMPUTE 16-BIT DIFFERENCE
|
||||
MOV A,D
|
||||
SBB H
|
||||
XCHG ;NEW SYTOP IN H,L
|
||||
JNC OVERER ;OVERFLOW IN TABLE
|
||||
;
|
||||
; OTHERWISE NO ERROR
|
||||
SHLD SYTOP ;SET NEW TABLE TOP
|
||||
LHLD SYADR ;SET COLLISION FIELD
|
||||
XCHG ;CURRENT SYMBOL ADDRESS TO D,E
|
||||
LXI H,HASHC ;HASH CODE FOR CURRENT SYMBOL TO H,L
|
||||
MOV C,M ;LOW BYTE
|
||||
MVI B,0 ;DOUBLE PRECISION VALUE IN B,C
|
||||
LXI H,HASHT ;BASE OF HASH TABLE
|
||||
DAD B
|
||||
DAD B ;HASHT(HASHC) IN H,L
|
||||
; D,E ADDRESSES CURRENT SYMBOL - CHANGE LINKS
|
||||
MOV C,M ;LOW ORDER OLD HEADER
|
||||
INX H
|
||||
MOV B,M ;HIGH ORDER OLD HEADER
|
||||
MOV M,D ;HIGH ORDER NEW HEADER TO HASH TABLE
|
||||
DCX H
|
||||
MOV M,E ;LOW ORDER NEW HEADER TO HASH TABLE
|
||||
XCHG ;H,L HOLDS SYMBOL TABLE ADDRESS
|
||||
MOV M,C ;LOW ORDER OLD HEADER TO COLLISION FIELD
|
||||
INX H
|
||||
MOV M,B ;HIGH ORDER OLD HEADER TO COLLISION FIELD
|
||||
;
|
||||
; HASH CHAIN NOW REPAIRED FOR THIS ENTRY, COPY THE PRINTNAME
|
||||
LXI D,ACCLEN
|
||||
LDAX D ;GET SYMBOL LENGTH
|
||||
CPI 17 ;LARGER THAN 16 SYMBOLS?
|
||||
JC ENT1
|
||||
MVI A,16 ;TRUNCATE TO 16 CHARACTERS
|
||||
; COPY LENGTH FIELD, FOLLOWED BY PRINTNAME CHARACTERS
|
||||
ENT1: MOV B,A ;COPY LENGTH TO B
|
||||
DCR A ;1-16 CHANGED TO 0-15
|
||||
INX H ;FOLLOWING COLLISION FIELD
|
||||
MOV M,A ;STORE LENGTH WITH UNDEFINED TYPE (0000)
|
||||
ENT2: INX H
|
||||
INX D
|
||||
LDAX D
|
||||
MOV M,A ;STORE NEXT CHARACTER OF PRINTNAME
|
||||
DCR B ;LENGTH=LENGTH-1
|
||||
JNZ ENT2 ;FOR ANOTHER CHARACTER
|
||||
;
|
||||
; PRINTNAME COPIED, ZERO THE VALUE FIELD
|
||||
XRA A ;ZERO A
|
||||
INX H ;LOW ORDER VALUE
|
||||
MOV M,A
|
||||
INX H
|
||||
MOV M,A ;HIGH ORDER VALUE
|
||||
RET
|
||||
;
|
||||
OVERER: ;OVERFLOW IN SYMBOL TABLE
|
||||
LXI H,ERRO
|
||||
CALL PCON
|
||||
JMP EOR ;END OF EXECUTION
|
||||
ERRO: DB 'SYMBOL TABLE OVERFLOW',CR
|
||||
;
|
||||
SETTY: ;SET CURRENT SYMBOL TYPE TO VALUE IN REG-A
|
||||
RAL
|
||||
RAL
|
||||
RAL
|
||||
RAL
|
||||
ANI 0F0H ;TYPE MOVED TO HIGH ORDER 4-BITS
|
||||
MOV B,A ;SAVE IT IN B
|
||||
LHLD SYADR ;BASE OF SYMBOL TO ACCESS
|
||||
INX H
|
||||
INX H ;ADDRESS OF TYPE/LENGTH FIELD
|
||||
MOV A,M ;GET IT AND MASK
|
||||
ANI 0FH ;LEAVE LENGTH
|
||||
ORA B ;MASK IN TYPE
|
||||
MOV M,A ;STORE IT
|
||||
RET
|
||||
;
|
||||
GETTY: ;RETURN THE TYPE OF THE VALUE IN CURRENT SYMBOL
|
||||
LHLD SYADR
|
||||
INX H
|
||||
INX H
|
||||
MOV A,M
|
||||
RAR
|
||||
RAR
|
||||
RAR
|
||||
RAR
|
||||
ANI 0FH ;TYPE MOVED TO LOW 4-BITS OF REG-A
|
||||
RET
|
||||
;
|
||||
VALADR: ;GET VALUE FIELD ADDRESS FOR CURRENT SYMBOL
|
||||
CALL GETLN ;PRINTNAME LENGTH TO ACCUM
|
||||
LHLD SYADR ;BASE ADDRESS
|
||||
MOV E,A
|
||||
MVI D,0
|
||||
DAD D ;BASE(LEN)
|
||||
INX H
|
||||
INX H ;FOR COLLISION FIELD
|
||||
INX H ;FOR TYPE/LEN FIELD
|
||||
RET ;WITH H,L ADDRESSING VALUE FIELD
|
||||
;
|
||||
SETVAL: ;SET THE VALUE FIELD OF THE CURRENT SYMBOL
|
||||
; VALUE IS SENT IN H,L
|
||||
PUSH H ;SAVE VALUE TO SET
|
||||
CALL VALADR
|
||||
POP D ;POP VALUE TO SET, HL HAS ADDRESS TO FILL
|
||||
MOV M,E
|
||||
INX H
|
||||
MOV M,D ;FIELD SET
|
||||
RET
|
||||
;
|
||||
GETVAL: ;GET THE VALUE FIELD OF THE CURRENT SYMBOL TO H,L
|
||||
CALL VALADR ;ADDRESS OF VALUE FIELD TO H,L
|
||||
MOV E,M
|
||||
INX H
|
||||
MOV D,M
|
||||
XCHG
|
||||
RET
|
||||
;
|
||||
ENDMOD EQU ($ AND 0FFE0H) + 20H
|
||||
END
|
||||
|
||||
418
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/as4sear.asm
Normal file
418
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/as4sear.asm
Normal file
@@ -0,0 +1,418 @@
|
||||
TITLE 'ASM TABLE SEARCH MODULE'
|
||||
org 0
|
||||
base equ $
|
||||
|
||||
ORG 15A0H
|
||||
JMP ENDMOD ;TO NEXT MODULE
|
||||
JMP BSEAR
|
||||
JMP BGET
|
||||
;
|
||||
; COMMON EQUATES
|
||||
PBMAX EQU 90 ;MAX PRINT SIZE
|
||||
PBUFF EQU base+10CH ;PRINT BUFFER
|
||||
PBP EQU PBUFF+PBMAX ;PRINT BUFFER POINTER
|
||||
;
|
||||
TOKEN EQU PBP+1 ;CURRENT TOKEN UDER SCAN
|
||||
VALUE EQU TOKEN+1 ;VALUE OF NUMBER IN BINARY
|
||||
ACCLEN EQU VALUE+2 ;ACCUMULATOR LENGTH
|
||||
ACMAX EQU 64 ;MAX ACCUMULATOR LENGTH
|
||||
ACCUM EQU ACCLEN+1
|
||||
;
|
||||
EVALUE EQU ACCUM+ACMAX ;VALUE FROM EXPRESSION ANALYSIS
|
||||
;
|
||||
SYTOP EQU EVALUE+2 ;CURRENT SYMBOL TOP
|
||||
SYMAX EQU SYTOP+2 ;MAX ADDRESS+1
|
||||
;
|
||||
PASS EQU SYMAX+2 ;CURRENT PASS NUMBER
|
||||
FPC EQU PASS+1 ;FILL ADDRESS FOR NEXT HEX BYTE
|
||||
ASPC EQU FPC+2 ;ASSEMBLER'S PSEUDO PC
|
||||
;
|
||||
; GLOBAL EQUATES
|
||||
IDEN EQU 1 ;IDENTIFIER
|
||||
NUMB EQU 2 ;NUMBER
|
||||
STRNG EQU 3 ;STRING
|
||||
SPECL EQU 4 ;SPECIAL CHARACTER
|
||||
;
|
||||
PLABT EQU 0001B ;PROGRAM LABEL
|
||||
DLABT EQU 0010B ;DATA LABEL
|
||||
EQUT EQU 0100B ;EQUATE
|
||||
SETT EQU 0101B ;SET
|
||||
MACT EQU 0110B ;MACRO
|
||||
;
|
||||
EXTT EQU 1000B ;EXTERNAL
|
||||
REFT EQU 1011B ;REFER
|
||||
GLBT EQU 1100B ;GLOBAL
|
||||
;
|
||||
;
|
||||
CR EQU 0DH ;CARRIAGE RETURN
|
||||
;
|
||||
;
|
||||
; TABLE DEFINITIONS
|
||||
;
|
||||
; TYPES
|
||||
XBASE EQU 0 ;START OF OPERATORS
|
||||
; O1 THROUGH O15 DENOTE OPERATIONS
|
||||
RT EQU 16
|
||||
PT EQU RT+1 ;RT IS REGISTER TYPE, PT IS PSEUDO OPERATION
|
||||
OBASE EQU PT+1
|
||||
O1 EQU OBASE+1 ;SIMPLE
|
||||
O2 EQU OBASE+2 ;LXI
|
||||
O3 EQU OBASE+3 ;DAD
|
||||
O4 EQU OBASE+4 ;PUSH/POP
|
||||
O5 EQU OBASE+5 ;JMP/CALL
|
||||
O6 EQU OBASE+6 ;MOV
|
||||
O7 EQU OBASE+7 ;MVI
|
||||
O8 EQU OBASE+8 ;ACC IMMEDIATE
|
||||
O9 EQU OBASE+9 ;LDAX/STAX
|
||||
O10 EQU OBASE+10 ;LHLD/SHLD/LDA/STA
|
||||
O11 EQU OBASE+11 ;ACCUM REGISTER
|
||||
O12 EQU OBASE+12 ;INC/DEC
|
||||
O13 EQU OBASE+13 ;INX/DCX
|
||||
O14 EQU OBASE+14 ;RST
|
||||
O15 EQU OBASE+15 ;IN/OUT
|
||||
;
|
||||
; X1 THROUGH X15 DENOTE OPERATORS
|
||||
X1 EQU XBASE ;*
|
||||
X2 EQU XBASE+1 ;/
|
||||
X3 EQU XBASE+2 ;MOD
|
||||
X4 EQU XBASE+3 ;SHL
|
||||
X5 EQU XBASE+4 ;SHR
|
||||
X6 EQU XBASE+5 ;+
|
||||
X7 EQU XBASE+6 ;-
|
||||
X8 EQU XBASE+7 ;UNARY -
|
||||
X9 EQU XBASE+8 ;NOT
|
||||
X10 EQU XBASE+9 ;AND
|
||||
X11 EQU XBASE+10;OR
|
||||
X12 EQU XBASE+11;XOR
|
||||
X13 EQU XBASE+12;(
|
||||
X14 EQU XBASE+13;)
|
||||
X15 EQU XBASE+14;,
|
||||
X16 EQU XBASE+15;CR
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
; RESERVED WORD TABLES
|
||||
;
|
||||
; BASE ADDRESS VECTOR FOR CHARACTERS
|
||||
CINX: DW CHAR1 ;LENGTH 1 BASE
|
||||
DW CHAR2 ;LENGTH 2 BASE
|
||||
DW CHAR3 ;LENGTH 3 BASE
|
||||
DW CHAR4 ;LENGTH 4 BASE
|
||||
DW CHAR5 ;LENGTH 5 BASE
|
||||
DW CHAR6 ;LENGTH 6 BASE
|
||||
;
|
||||
CMAX EQU ($-CINX)/2-1 ;LARGEST STRING TO MATCH
|
||||
;
|
||||
CLEN: ;LENGTH VECTOR GIVES THE NUMBER OF ITEMS IN EACH TABLE
|
||||
DB CHAR2-CHAR1
|
||||
DB (CHAR3-CHAR2)/2
|
||||
DB (CHAR4-CHAR3)/3
|
||||
DB (CHAR5-CHAR4)/4
|
||||
DB (CHAR6-CHAR5)/5
|
||||
;
|
||||
TVINX: ;TABLE OF TYPE,VALUE PAIRS FOR EACH RESERVED SYMBOL
|
||||
DW TV1
|
||||
DW TV2
|
||||
DW TV3
|
||||
DW TV4
|
||||
DW TV5
|
||||
;
|
||||
; CHARACTER VECTORS FOR 1,2,3,4, AND 5 CHARACTER NAMES
|
||||
CHAR1: DB CR,'()*'
|
||||
DB '+'
|
||||
DB ',-/A'
|
||||
DB 'BCDE'
|
||||
DB 'HLM'
|
||||
;
|
||||
CHAR2: DB 'DBDIDSDW'
|
||||
DB 'EIIFINOR'
|
||||
DB 'SP'
|
||||
;
|
||||
CHAR3: DB 'ACIADCADDADI'
|
||||
DB 'ANAANDANICMA'
|
||||
DB 'CMCCMPCPIDAA'
|
||||
DB 'DADDCRDCXEND'
|
||||
DB 'EQUHLTINRINX'
|
||||
DB 'JMPLDALXIMOD'
|
||||
DB 'MOVMVINOPNOT'
|
||||
DB 'ORAORGORIOUT'
|
||||
DB 'POPPSWRALRAR'
|
||||
DB 'RETRLCRRCRST'
|
||||
DB 'SBBSBISETSHL'
|
||||
DB 'SHRSTASTCSUB'
|
||||
DB 'SUIXORXRAXRI'
|
||||
;
|
||||
CHAR4: DB 'CALLENDMLDAXLHLDPCHL'
|
||||
DB 'PUSHSHLDSPHLSTAX'
|
||||
DB 'XCHGXTHL'
|
||||
;
|
||||
CHAR5: DB 'ENDIFMACROTITLE'
|
||||
;
|
||||
CHAR6: ;END OF CHARACTER VECTOR
|
||||
;
|
||||
TV1: ;TYPE,VALUE PAIRS FOR CHAR1 VECTOR
|
||||
DB X16,10, X13,20 ;CR (
|
||||
DB X14,30, X1,80 ;) *
|
||||
DB X6,70 ;+
|
||||
DB X15,10, X7,70 ;, -
|
||||
DB X2,80, RT,7 ;/ A
|
||||
DB RT,0, RT,1 ;B C
|
||||
DB RT,2, RT,3 ;D E
|
||||
DB RT,4, RT,5 ;H L
|
||||
DB RT,6 ;M
|
||||
;
|
||||
TV2: ;TYPE,VALUE PAIRS FOR CHAR2 VECTOR
|
||||
DB PT,1, O1,0F3H ;DB DI
|
||||
DB PT,2, PT,3 ;DS DW
|
||||
DB O1,0FBH, PT,8 ;EI IF
|
||||
DB O15,0DBH, X11,40 ;IN OR
|
||||
DB RT,6 ;SP
|
||||
;
|
||||
;
|
||||
TV3: ;TYPE,VALUE PAIRS FOR CHAR3 VECTOR
|
||||
DB O8,0CEH, O11,88H ;ACI ADC
|
||||
DB O11,80H, O8,0C6H ;ADD ADI
|
||||
DB O11,0A0H, X10,50 ;ANA AND
|
||||
DB O8,0E6H, O1,2FH ;ANI CMA
|
||||
DB O1,3FH, O11,0B8H ;CMC CMP
|
||||
DB O8,0FEH, O1,27H ;CPI DAA
|
||||
DB O3,09H, O12,05H ;DAD DCR
|
||||
DB O13,0BH, PT,4 ;DCX END
|
||||
DB PT,7, O1,76H ;EQU HLT
|
||||
DB O12,04H, O13,03H ;INR INX
|
||||
DB O5,0C3H, O10,3AH ;JMP LDA
|
||||
DB O2,01H, X3,80 ;LXI MOD
|
||||
DB O6,40H, O7,06H ;MOV MVI
|
||||
DB O1,00H, X9,60 ;NOP NOT
|
||||
DB O11,0B0H, PT,10 ;ORA ORG
|
||||
DB O8,0F6H, O15,0D3H ;ORI OUT
|
||||
DB O4,0C1H, RT,6 ;POP PSW
|
||||
DB O1,17H, O1,1FH ;RAL RAR
|
||||
DB O1,0C9H, O1,07H ;RET RLC
|
||||
DB O1,0FH, O14,0C7H ;RRC RST
|
||||
DB O11,098H, O8,0DEH ;SBB SBI
|
||||
DB PT,11, X4,80 ;SET SHL
|
||||
DB X5,80, O10,32H ;STA STC
|
||||
DB O1,37H, O11,90H ;STC SUB
|
||||
DB O8,0D6H, X12,40 ;SUI XOR
|
||||
DB O11,0A8H, O8,0EEH ;XRA XRI
|
||||
;
|
||||
;
|
||||
TV4: ;TYPE,VALUE PAIRS FOR CHAR4 VECTOR
|
||||
DB O5,0CDH ;CALL
|
||||
DB PT,6, O9,0AH ;ENDM LDAX
|
||||
DB O10,02AH, O1,0E9H ;LHLD PCHL
|
||||
DB O4,0C5H, O10,22H ;PUSH SHLD
|
||||
DB O1,0F9H, O9,02H ;SPHL STAX
|
||||
DB O1,0EBH, O1,0E3H ;XCHG XTHL
|
||||
;
|
||||
TV5: ;TYPE,VALUE PAIRS FOR CHAR5 VECTOR
|
||||
DB PT,5, PT,9 ;ENDIF MACRO
|
||||
DB PT,12 ;TITLE
|
||||
;
|
||||
SUFTAB: ;TABLE OF SUFFIXES FOR J C AND R OPERATIONS
|
||||
DB 'NZZ NCC POPEP M '
|
||||
;
|
||||
BSEAR: ;BINARY SEARCH MNEMONIC TABLE
|
||||
; INPUT: UR = UPPER BOUND OF TABLE (I.E., TABLE LENGTH-1)
|
||||
; SR = SIZE OF EACH TABLE ELEMENT
|
||||
; H,L ADDRESS BASE OF TABLE TO SEARCH
|
||||
; OUTPUT: ZERO FLAG INDICATES MATCH WAS FOUND, IN WHICH CASE
|
||||
; THE ACCUMULATOR CONTAINS AN INDEX TO THE ELEMENT
|
||||
; NOT ZERO FLAG INDICATES NO MATCH FOUND IN TABLE
|
||||
;
|
||||
UR EQU B ;UPPER BOUND REGISTER
|
||||
LR EQU C ;LOWER BOUND REGISTER
|
||||
SR EQU D ;SIZE REGISTER
|
||||
MR EQU E ;MIDDLE POINTER REGISTER
|
||||
SP1 EQU B ;SIZE PRIME, USED IN COMPUTING MIDDLE POSITON
|
||||
SP1P EQU C ;ANOTHER COPY OF SIZE PRIME
|
||||
KR EQU H ;K
|
||||
;
|
||||
MVI MR,255 ;MARK M <> OLD M
|
||||
INR UR ;U=U+1
|
||||
MVI LR,0 ;L = 0
|
||||
;
|
||||
; COMPUTE M' = (U+L)/2
|
||||
NEXT: XRA A
|
||||
MOV A,UR ;CY=0, A=U
|
||||
ADD LR ;(U+L)
|
||||
RAR ;(U+L)/2
|
||||
CMP MR ;SAME AS LAST TIME THROUGH?
|
||||
JZ NMATCH ;JUMP IF = TO NO MATCH
|
||||
;
|
||||
; MORE ELEMENTS TO SCAN
|
||||
MOV MR,A ;NEW MIDDLE VALUE
|
||||
PUSH H ;SAVE A COPY OF THE BASE ADDRESS
|
||||
PUSH D ;SAVE S,M
|
||||
PUSH B ;SAVE U,L
|
||||
PUSH H ;SAVE ANOTHER COPY OF THE BASE ADDRESS
|
||||
MOV SP1,SR ;S' = S
|
||||
MOV SP1P,SP1 ;S'' = S'
|
||||
MVI SR,0 ;FOR DOUBLE ADD OPERATION BELOW (DOUBLE M)
|
||||
;
|
||||
LXI KR,0 ;K=0
|
||||
SUMK: DAD D ;K = K + M
|
||||
DCR SP1 ;S' = S' - 1
|
||||
JNZ SUMK ;DECREMENT IF SP1 <> 0
|
||||
;
|
||||
; K IS NOW RELATIVE BYTE POSITION
|
||||
POP D ;TABLE BASE ADDRESS
|
||||
DAD D ;H,L CONTAINS ABSOLUTE ADDRESS OF BYTE TO COMPARE
|
||||
LXI D,ACCUM ;D,E ADDRESS CHARACTERS TO COMPARE
|
||||
;
|
||||
COMK: ;COMPARE NEXT CHARACTER
|
||||
LDAX D ;ACCUM CHARACTER TO REG A
|
||||
CMP M ;SAME AS TABLE ENTRY?
|
||||
INX D
|
||||
INX H ;TO NEXT POSITIONS
|
||||
JNZ NCOM ;JUMP IF NOT THE SAME
|
||||
DCR SP1P ;MORE CHARACTERS?
|
||||
JNZ COMK
|
||||
;
|
||||
; COMPLETE MATCH AT M
|
||||
POP B
|
||||
POP D ;M RESTORED
|
||||
POP H
|
||||
MOV A,MR ;VALUE OF M COPIED IN A
|
||||
RET ;WITH ZERO FLAG SET
|
||||
;
|
||||
NCOM: ;NO MATCH, DETERMINE IF LESS OR GREATER
|
||||
POP B ;U,L
|
||||
POP D ;S,M
|
||||
POP H ;TABLE ADDRESS
|
||||
JC NCOML
|
||||
; ACCUM IS HIGHER
|
||||
MOV LR,MR ;L = M
|
||||
JMP NEXT
|
||||
;
|
||||
NCOML: ;ACCUMULATOR IS LOW
|
||||
MOV UR,MR ;U = M
|
||||
JMP NEXT
|
||||
;
|
||||
NMATCH: ;NO MATCH
|
||||
XRA A
|
||||
INR A ;SETS NOT ZERO FLAG
|
||||
RET
|
||||
;
|
||||
PREFIX: ;J C OR R PREFIX?
|
||||
LDA ACCUM
|
||||
LXI B,(0C2H SHL 8) OR O5 ;JNZ OPCODE TO B, TYPE TO C
|
||||
CPI 'J'
|
||||
RZ ;RETURN WITH ZERO FLAG SET IF J
|
||||
MVI B,0C4H ;CNZ OPCODE TO B, TYPE IS IN C
|
||||
CPI 'C'
|
||||
RZ
|
||||
LXI B,(0C0H SHL 8) OR O1 ;RNZ OPCODE
|
||||
CPI 'R'
|
||||
RET
|
||||
;
|
||||
SUFFIX: ;J R OR C RECOGNIZED, LOOK FOR SUFFIX
|
||||
LDA ACCLEN
|
||||
CPI 4 ;CHECK LENGTH
|
||||
JNC NSUFF ;CARRY IF 0,1,2,3 IN LENGTH
|
||||
CPI 3
|
||||
JZ SUF0 ;ASSUME 1 OR 2 IF NO BRANCH
|
||||
CPI 2
|
||||
JNZ NSUFF ;RETURNS IF 0 OR 1
|
||||
LXI H,ACCUM+2
|
||||
MVI M,' ' ;BLANK-OUT FOR MATCH ATTEMPT
|
||||
SUF0: ;SEARCH 'TIL END OF TABLE
|
||||
LXI B,8 ;B=0, C=8 COUNTS TABLE DOWN TO ZERO OR MATCH
|
||||
LXI D,SUFTAB
|
||||
NEXTS: ;LOOK AT NEXT SUFFIX
|
||||
LXI H,ACCUM+1 ;SUFFIX POSITION
|
||||
LDAX D ;CHARACTER TO ACCUM
|
||||
CMP M
|
||||
INX D ;READY FOR NEXT CHARACTER
|
||||
JNZ NEXT0 ;JMP IF NO MATCH
|
||||
LDAX D ;GET NEXT CHARACTER
|
||||
INX H ;READY FOR COMPARE WITH ACCUM
|
||||
CMP M ;SAME?
|
||||
RZ ;RETURN WITH ZERO FLAG SET, B IS SUFIX
|
||||
NEXT0: INX D ;MOVE TO NEXT CHARACTER
|
||||
INR B ;COUNT SUFFIX UP
|
||||
DCR C ;COUNT TABLE LENGTH DOWN
|
||||
JNZ NEXTS
|
||||
; END OF TABLE, MARK WITH NON ZERO FLAG
|
||||
INR C
|
||||
RET
|
||||
;
|
||||
NSUFF: ;NOT PROPER SUFFIX - SET NON ZERO FLAG
|
||||
XRA A
|
||||
INR A
|
||||
RET
|
||||
;
|
||||
BGET: ;PERFORM BINARY SEARCH, AND EXTRACT TYPE AND VAL FIELDS FOR
|
||||
; THE ITEM. ZERO FLAG INDICATES MATCH WAS FOUND, WITH TYPE
|
||||
; IN THE ACCUMULATOR, AND VAL IN REGISTER B. THE SEARCH IS BASED
|
||||
; UPON THE LENGTH OF THE ACCUMULATOR
|
||||
LDA ACCLEN ;ITEM LENGTH
|
||||
MOV C,A ;SAVE A COPY
|
||||
DCR A ;ACCLEN-1
|
||||
MOV E,A
|
||||
MVI D,0 ;DOUBLE ACCLEN-1 TO D,E
|
||||
PUSH D ;SAVE A COPY FOR LATER
|
||||
CPI CMAX ;TOO LONG?
|
||||
JNC NGET ;NOT IN RANGE IF CARRY
|
||||
LXI H,CLEN ;LENGTH VECTOR
|
||||
DAD D
|
||||
MOV UR,M ;FILL UPPER BOUND FROM MEMORY
|
||||
LXI H,CINX
|
||||
DAD D
|
||||
DAD D ;BASE ADDRESS TO H,L
|
||||
MOV D,M
|
||||
INX H
|
||||
MOV H,M
|
||||
MOV L,D ;NOW IN H,L
|
||||
MOV SR,C ;FILL THE SIZE REGISTER
|
||||
CALL BSEAR ;PERFORM THE BINARY SEARCH
|
||||
JNZ SCASE ;ZERO IF FOUND
|
||||
POP D ;RESTORE INDEX
|
||||
LXI H,TVINX
|
||||
DAD D
|
||||
DAD D ;ADDRESSING PROPER TV ELEMENT
|
||||
MOV E,M
|
||||
INX H
|
||||
MOV D,M
|
||||
; D,E IS BASE ADDRESS OF TYPE/VALUE VECTOR, ADD DISPLACEMENT
|
||||
MOV L,A
|
||||
MVI H,0
|
||||
DAD H ;DOUBLED
|
||||
DAD D ;INDEXED
|
||||
MOV A,M ;TYPE TO ACC
|
||||
INX H
|
||||
MOV B,M ;VALUE TO B
|
||||
RET ;TYPE IN ACC, VALUE IN B
|
||||
;
|
||||
SCASE: ;NAME NOT TOO LONG, BUT NOT FOUND IN TABLES, MAY BE J C OR R
|
||||
POP D ;RESTORE INDEX
|
||||
CALL PREFIX
|
||||
RNZ ;NOT FOUND AS PREFIX J C OR R IF NOT ZERO FLAG
|
||||
PUSH B ;SAVE VALUE AND TYPE
|
||||
CALL SUFFIX ;ZERO IF SUFFIX MATCHED
|
||||
MOV A,B ;READY FOR MASK IF ZERO FLAG
|
||||
POP B ;RECALL VALUE AND TYPE
|
||||
RNZ ;RETURN IF NOT ZERO FLAG SET
|
||||
; MASK IN THE PROPER BITS AND RETURN
|
||||
ORA A ;CLEAR CARRY
|
||||
RAL
|
||||
RAL
|
||||
RAL
|
||||
ORA B ;VALUE SET TO JNZ ...
|
||||
MOV B,A ;REPLACE
|
||||
MOV A,C ;RETURN WITH TYPE IN REGISTER A
|
||||
CMP A ;CLEAR THE ZERO FLAG
|
||||
RET
|
||||
;
|
||||
NGET: ;CAN'T FIND THE ENTRY, RETURN WITH ZERO FLAG RESET
|
||||
POP D ;GET THE ELEMENT BACK
|
||||
XRA A ;CLEAR
|
||||
INR A ;ZERO FLAG RESET
|
||||
RET
|
||||
;
|
||||
;
|
||||
ENDMOD EQU ($ AND 0FFE0H) + 20H ;NEXT MODULE ADDRESS
|
||||
END
|
||||
|
||||
597
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/as5oper.asm
Normal file
597
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/as5oper.asm
Normal file
@@ -0,0 +1,597 @@
|
||||
TITLE 'ASM OPERAND SCAN MODULE'
|
||||
; OPERAND SCAN MODULE
|
||||
org 0
|
||||
base equ $
|
||||
|
||||
ORG 1860H
|
||||
;
|
||||
; EXTERNALS
|
||||
IOMOD EQU base+200H ;I/O MODULE
|
||||
SCMOD EQU base+1100H ;SCANNER MODULE
|
||||
SYMOD EQU base+1340H ;SYMBOL TABLE MODULE
|
||||
BMOD EQU base+15A0H ;BINARY SEARCH MODULE
|
||||
;
|
||||
;
|
||||
PERR EQU IOMOD+18H
|
||||
SCAN EQU SCMOD+6H ;SCANNER ENTRY POINT
|
||||
CR EQU 0DH ;CARRIAGE RETURN
|
||||
;
|
||||
LOOKUP EQU SYMOD+6H ;LOOKUP
|
||||
FOUND EQU LOOKUP+3 ;FOUND SYMBOL IF ZERO FLAG NOT SET
|
||||
ENTER EQU FOUND+3 ;ENTER SYMBOL
|
||||
SETTY EQU ENTER+3 ;SET TYPE FIELD
|
||||
GETTY EQU SETTY+3 ;SET TYPE FIELD
|
||||
SETVAL EQU GETTY+3 ;SET VALUE FIELD
|
||||
GETVAL EQU SETVAL+3 ;GET VALUE FIELD
|
||||
;
|
||||
BSEAR EQU BMOD+3 ;BINARY SEARCH ROUTINE
|
||||
BGET EQU BSEAR+3 ;GET VALUES WITH SEARCH
|
||||
;
|
||||
; COMMON EQUATES
|
||||
PBMAX EQU 90 ;MAX PRINT SIZE
|
||||
PBUFF EQU base+10CH ;PRINT BUFFER
|
||||
PBP EQU PBUFF+PBMAX ;PRINT BUFFER POINTER
|
||||
;
|
||||
TOKEN EQU PBP+1 ;CURRENT TOKEN UDER SCAN
|
||||
VALUE EQU TOKEN+1 ;VALUE OF NUMBER IN BINARY
|
||||
ACCLEN EQU VALUE+2 ;ACCUMULATOR LENGTH
|
||||
ACMAX EQU 64 ;MAX ACCUMULATOR LENGTH
|
||||
ACCUM EQU ACCLEN+1
|
||||
;
|
||||
EVALUE EQU ACCUM+ACMAX ;VALUE FROM EXPRESSION ANALYSIS
|
||||
;
|
||||
SYTOP EQU EVALUE+2 ;CURRENT SYMBOL TOP
|
||||
SYMAX EQU SYTOP+2 ;MAX ADDRESS+1
|
||||
;
|
||||
PASS EQU SYMAX+2 ;CURRENT PASS NUMBER
|
||||
FPC EQU PASS+1 ;FILL ADDRESS FOR NEXT HEX BYTE
|
||||
ASPC EQU FPC+2 ;ASSEMBLER'S PSEUDO PC
|
||||
;
|
||||
; GLOBAL EQUATES
|
||||
IDEN EQU 1 ;IDENTIFIER
|
||||
NUMB EQU 2 ;NUMBER
|
||||
STRNG EQU 3 ;STRING
|
||||
SPECL EQU 4 ;SPECIAL CHARACTER
|
||||
;
|
||||
PLABT EQU 0001B ;PROGRAM LABEL
|
||||
DLABT EQU 0010B ;DATA LABEL
|
||||
EQUT EQU 0100B ;EQUATE
|
||||
SETT EQU 0101B ;SET
|
||||
MACT EQU 0110B ;MACRO
|
||||
;
|
||||
EXTT EQU 1000B ;EXTERNAL
|
||||
REFT EQU 1011B ;REFER
|
||||
GLBT EQU 1100B ;GLOBAL
|
||||
;
|
||||
;
|
||||
; TABLE DEFINITIONS
|
||||
XBASE EQU 0 ;START OF OPERATORS
|
||||
OPER EQU 15 ;LAST OPERATOR
|
||||
RT EQU 16
|
||||
PT EQU RT+1 ;RT IS REGISTER TYPE, PT IS PSEUDO OPERATION
|
||||
OBASE EQU PT+1
|
||||
;
|
||||
PLUS EQU 5
|
||||
MINUS EQU 6
|
||||
NOTF EQU 8 ;NOT
|
||||
LPAR EQU 12
|
||||
RPAR EQU 13
|
||||
OSMAX EQU 10
|
||||
VSMAX EQU 8*2
|
||||
;
|
||||
;
|
||||
; BEGINNING OF MODULE
|
||||
JMP ENDMOD ;PAST THIS MODULE
|
||||
JMP OPAND ;SCAN OPERAND FIELD
|
||||
JMP MULF ;MULTIPLY FUNCTION
|
||||
JMP DIVE ;DIVIDE FUNCTION
|
||||
UNARY: DS 1 ;TRUE IF NEXT OPERATOR IS UNARY
|
||||
OPERV: DS OSMAX ;OPERATOR STACK
|
||||
HIERV: DS OSMAX ;OPERATOR PRIORITY
|
||||
VSTACK: DS VSMAX ;VALUE STACK
|
||||
OSP: DS 1 ;OPERATOR STACK POINTER
|
||||
VSP: DS 1 ;VALUE STACK POINTER
|
||||
;
|
||||
;
|
||||
;
|
||||
STKV: ;PLACE CURRENT H,L VALUE AT TOP OF VSTACK
|
||||
XCHG ;HOLD VALUE IN D,E
|
||||
LXI H,VSP
|
||||
MOV A,M
|
||||
CPI VSMAX
|
||||
JC STKV0
|
||||
CALL ERREX ;OVERFLOW IN EXPRESSION
|
||||
MVI M,0 ;VSP=0
|
||||
STKV0: MOV A,M ;GET VSP
|
||||
INR M ;VSP=VSP+1
|
||||
INR M ;VSP=VSP+2
|
||||
MOV C,A ;SAVE VSP
|
||||
MVI B,0 ;DOUBLE VSP
|
||||
LXI H,VSTACK
|
||||
DAD B
|
||||
MOV M,E ;LOW BYTE
|
||||
INX H
|
||||
MOV M,D ;HIGH BYTE
|
||||
RET
|
||||
;
|
||||
STKO: ;STACK OPERATOR (REG-A) AND PRIORITY (REG-B)
|
||||
PUSH PSW ;SAVE IT
|
||||
LXI H,OSP
|
||||
MOV A,M
|
||||
CPI OSMAX
|
||||
JC STKO1
|
||||
MVI M,0
|
||||
CALL ERREX ;OPERATOR STACK OVERFLOW
|
||||
STKO1: MOV E,M ;GET OSP
|
||||
MVI D,0
|
||||
INR M ;OSP=OSP+1
|
||||
POP PSW ;RECALL OPERATOR
|
||||
LXI H,OPERV
|
||||
DAD D ;OPERV(OSP)
|
||||
MOV M,A ;OPERV(OSP)=OPERATOR
|
||||
LXI H,HIERV
|
||||
DAD D
|
||||
MOV M,B ;HIERV(OSP)=PRIORITY
|
||||
RET
|
||||
;
|
||||
LODV1: ;LOAD TOP ELEMENT FROM VSTACK TO H,L
|
||||
LXI H,VSP
|
||||
MOV A,M
|
||||
ORA A
|
||||
JNZ LODOK
|
||||
CALL ERREX ;UNDERFLOW
|
||||
LXI H,0
|
||||
RET
|
||||
;
|
||||
LODOK: DCR M
|
||||
DCR M ;VSP=VSP-2
|
||||
MOV C,M ;LOW BYTE
|
||||
MVI B,0
|
||||
LXI H,VSTACK
|
||||
DAD B ;VSTACK(VSP)
|
||||
MOV C,M ;GET LOW BYTE
|
||||
INX H
|
||||
MOV H,M
|
||||
MOV L,C
|
||||
RET
|
||||
;
|
||||
LODV2: ;LOAD TOP TWO ELEMENTS DE HOLDS TOP, HL HOLDS TOP-1
|
||||
CALL LODV1
|
||||
XCHG
|
||||
CALL LODV1
|
||||
RET
|
||||
;
|
||||
APPLY: ;APPLY OPERATOR IN REG-A TO TOP OF STACK
|
||||
MOV L,A
|
||||
MVI H,0
|
||||
DAD H ;OPERATOR NUMBER*2
|
||||
LXI D,OPTAB
|
||||
DAD D ;INDEXED OPTAB
|
||||
MOV E,M ;LOW ADDRESS
|
||||
INX H
|
||||
MOV H,M ;HIGH ADDRESS
|
||||
MOV L,E
|
||||
PCHL ;SET PC AND GO TO SUBROUTINE
|
||||
;
|
||||
OPTAB: DW MULOP
|
||||
DW DIVOP
|
||||
DW MODOP
|
||||
DW SHLOP
|
||||
DW SHROP
|
||||
DW ADDOP
|
||||
DW SUBOP
|
||||
DW NEGOP
|
||||
DW NOTOP
|
||||
DW ANDOP
|
||||
DW OROP
|
||||
DW XOROP
|
||||
DW ERREX ;(
|
||||
;
|
||||
; SPECIFIC HANDLERS FOLLOW
|
||||
SHFT: ;SET UP OPERANDS FOR SHIFT L AND R
|
||||
CALL LODV2
|
||||
MOV A,D ;ENSURE 0-15
|
||||
ORA A
|
||||
JNZ SHERR
|
||||
MOV A,E
|
||||
CPI 17
|
||||
RC ;RETURN IF 0-16 SHIFT
|
||||
SHERR: CALL ERREX
|
||||
MVI A,16
|
||||
RET
|
||||
;
|
||||
NEGF: ;COMPUTE 0-H,L TO H,L
|
||||
XRA A
|
||||
SUB L
|
||||
MOV L,A
|
||||
MVI A,0
|
||||
SBB H
|
||||
MOV H,A
|
||||
RET
|
||||
;
|
||||
DIVF: CALL LODV2
|
||||
DIVE: ;(EXTERNAL ENTRY FROM MAIN PROGRAM)
|
||||
XCHG ;SWAP D,E WITH H,L FOR DIVIDE FUNCTION
|
||||
; COMPUTE X/Y WHERE X IS IN D,E AND Y IS IN H,L
|
||||
; THE VALUE OF X/Y APPEARS IN D,E AND X MOD Y IS IN H,L
|
||||
;
|
||||
SHLD DTEMP ;SAVE X IN TEMPORARY
|
||||
LXI H,BNUM ;STORE BIT COUNT
|
||||
MVI M,11H
|
||||
LXI B,0 ;INTIALIZE RESULT
|
||||
PUSH B
|
||||
XRA A ;CLEAR FLAGS
|
||||
DLOOP:
|
||||
MOV A,E ;GET LOW Y BYTE
|
||||
RAL
|
||||
MOV E,A
|
||||
MOV A,D
|
||||
RAL
|
||||
MOV D,A
|
||||
DCR M ;DECREMENT BIT COUNT
|
||||
POP H ;RESTORE TEMP RESULT
|
||||
RZ ;ZERO BIT COUNT MEANS ALL DONE
|
||||
MVI A,0 ;ADD IN CARRY
|
||||
ACI 0 ;CARRY
|
||||
DAD H ;SHIFT TEMP RESULT LEFT ONE BIT
|
||||
MOV B,H ;COPY HA AND L TO A A ND C
|
||||
ADD L
|
||||
LHLD DTEMP ;GET ADDRESS OF X
|
||||
SUB L ;SUBTRACT FROM TEMPORARY RESULT
|
||||
MOV C,A
|
||||
MOV A,B
|
||||
SBB H
|
||||
MOV B,A
|
||||
PUSH B ;SAVE TEMP RESULT IN STACK
|
||||
JNC DSKIP ;NO BORROW FROM SUBTRACT
|
||||
DAD B ;ADD X BACK IN
|
||||
XTHL ;REPLACE TEMP RESULT ON STACK
|
||||
DSKIP: LXI H,BNUM ;RESTORE H,L
|
||||
CMC
|
||||
JMP DLOOP ;REPEAT LOOP STEPS
|
||||
;
|
||||
DTEMP: DS 2
|
||||
BNUM: DS 1
|
||||
;
|
||||
MULF: ;MULTIPLY D,E BY H,L AND REPLACE H,L WITH RESULT
|
||||
MOV B,H
|
||||
MOV C,L ;COPY OF 1ST VALUE TO B,C FOR SHIFT AND ADD
|
||||
LXI H,0 ;H,L IS THE ACCUMULATOR
|
||||
MUL0: XRA A
|
||||
MOV A,B ;CARRY IS CLEARED
|
||||
RAR
|
||||
MOV B,A
|
||||
MOV A,C
|
||||
RAR
|
||||
MOV C,A
|
||||
JC MUL1 ;SKIP THIS ADD IF LSB IS ZERO
|
||||
ORA B
|
||||
RZ ;RETURN WITH H,L
|
||||
JMP MUL2 ;SKIP ADD
|
||||
MUL1: DAD D ;ADD CURRENT VALUE OF D
|
||||
MUL2: XCHG ;READY FOR *2
|
||||
DAD H
|
||||
XCHG
|
||||
JMP MUL0
|
||||
;
|
||||
MULOP: ;MULTIPLY D,E BY H,L
|
||||
CALL LODV2
|
||||
CALL MULF
|
||||
JMP ENDOP
|
||||
;
|
||||
DIVOP: ;DIVIDE H,L BY D,E
|
||||
CALL DIVF
|
||||
XCHG ;RESULT TO H,L
|
||||
JMP ENDOP
|
||||
;
|
||||
MODOP: CALL DIVF
|
||||
JMP ENDOP
|
||||
;
|
||||
SHLOP: CALL SHFT ;CHECK VALUES
|
||||
SHL0: ORA A ;DONE?
|
||||
JZ ENDOP
|
||||
DAD H ;HL=HL*2
|
||||
DCR A
|
||||
JMP SHL0
|
||||
;
|
||||
SHROP: CALL SHFT
|
||||
SHR0: ORA A ;DONE?
|
||||
JZ ENDOP
|
||||
PUSH PSW ;SAVE CURRENT COUNT
|
||||
XRA A
|
||||
MOV A,H
|
||||
RAR
|
||||
MOV H,A
|
||||
MOV A,L
|
||||
RAR
|
||||
MOV L,A
|
||||
POP PSW
|
||||
DCR A
|
||||
JMP SHR0
|
||||
;
|
||||
ADDOP: CALL LODV2
|
||||
ADD0: DAD D
|
||||
JMP ENDOP
|
||||
;
|
||||
SUBOP: CALL LODV2
|
||||
XCHG ;TREAT AS HL+(-DE)
|
||||
CALL NEGF ;0-HL
|
||||
JMP ADD0
|
||||
;
|
||||
NEGOP: CALL LODV1
|
||||
NEG0: CALL NEGF ;COMPUTE 0-HL
|
||||
JMP ENDOP
|
||||
;
|
||||
NOTOP: CALL LODV1
|
||||
INX H ;65536-HL = 65535-(HL+1)
|
||||
JMP NEG0
|
||||
;
|
||||
ANDOP: CALL LODV2
|
||||
MOV A,D
|
||||
ANA H
|
||||
MOV H,A
|
||||
MOV A,E
|
||||
ANA L
|
||||
MOV L,A
|
||||
JMP ENDOP
|
||||
;
|
||||
OROP: CALL LODV2
|
||||
MOV A,D
|
||||
ORA H
|
||||
MOV H,A
|
||||
MOV A,E
|
||||
ORA L
|
||||
MOV L,A
|
||||
JMP ENDOP
|
||||
;
|
||||
XOROP: CALL LODV2
|
||||
MOV A,D
|
||||
XRA H
|
||||
MOV H,A
|
||||
MOV A,E
|
||||
XRA L
|
||||
MOV L,A
|
||||
;
|
||||
ENDOP: JMP STKV
|
||||
;
|
||||
;
|
||||
;
|
||||
ENDEXP: ;RETURNS ZERO FLAG IF SYMBOL IS CR, ;, OR ,
|
||||
LDA TOKEN
|
||||
CPI SPECL
|
||||
RNZ ;NOT END IF NOT SPECIAL
|
||||
;
|
||||
LDA ACCUM
|
||||
CPI CR
|
||||
RZ
|
||||
CPI ';'
|
||||
RZ
|
||||
CPI ','
|
||||
RZ
|
||||
CPI '!'
|
||||
RET
|
||||
;
|
||||
OPAND: ;SCAN THE OPERAND FIELD OF AN INSTRUCTION
|
||||
; (NOT A DB WITH FIRST TOKEN STRING > 2 OR 0)
|
||||
XRA A
|
||||
STA OSP ;ZERO OPERATOR STACK POINTER
|
||||
STA VSP
|
||||
DCR A ;255
|
||||
STA UNARY
|
||||
LXI H,0
|
||||
SHLD EVALUE
|
||||
;
|
||||
OP0: ;ARRIVE HERE WITH NEXT ITEM ALREADY SCANNED
|
||||
CALL ENDEXP ;DONE?
|
||||
JNZ OP1
|
||||
; EMPTY THE OPERATOR STACK
|
||||
EMPOP: LXI H,OSP
|
||||
MOV A,M ;GET THE OSP AND CHECK FOR EMPTY
|
||||
ORA A
|
||||
JZ CHKVAL ;JUMP IF EMPTY
|
||||
DCR M ;POP ELEMENT
|
||||
MOV E,A ;COPY FOR DOUBLE ADD
|
||||
DCR E
|
||||
MVI D,0
|
||||
LXI H,OPERV
|
||||
DAD D ;INDEXED - OPERV(OSP)
|
||||
MOV A,M ;GET OPERATOR
|
||||
CALL APPLY ;APPLY OPERATOR
|
||||
JMP EMPOP
|
||||
;
|
||||
CHKVAL:
|
||||
LDA VSP ;MUST HAVE ONE ELEMENT IT THE STACK
|
||||
CPI 2
|
||||
CNZ ERREX
|
||||
LDA PBUFF
|
||||
CPI ' '
|
||||
RNZ ;EVALUE REMAINS AT ZERO
|
||||
LHLD VSTACK ;GET DOUBLE BYTE IN STACK
|
||||
SHLD EVALUE
|
||||
RET
|
||||
;
|
||||
OP1: ;MORE TO SCAN
|
||||
LDA PBUFF
|
||||
CPI ' '
|
||||
JNZ GETOP
|
||||
LDA TOKEN
|
||||
CPI STRNG ;IS THIS A STRING?
|
||||
JNZ OP3
|
||||
;
|
||||
; STRING - CONVERT TO DOUBLE PRECISION
|
||||
LDA ACCLEN
|
||||
ORA A
|
||||
CZ ERREX ;ERROR IF LENGTH=0
|
||||
CPI 3
|
||||
CNC ERREX ;ERROR IF LENGTH>2
|
||||
MVI D,0
|
||||
LXI H,ACCUM
|
||||
MOV E,M ;LSBYTE
|
||||
INX H
|
||||
DCR A ;A HAS THE LENGTH
|
||||
JZ OP2 ;ONE OR TWO BYTES
|
||||
MOV D,M ;FILL HIGH ORDER
|
||||
OP2: XCHG ;VALUE TO H,L
|
||||
JMP STNUM ;STORE TO STACK
|
||||
;
|
||||
OP3: ;NOT A STRING, CHECK FOR NUMBER
|
||||
CPI NUMB
|
||||
JNZ OP4
|
||||
LHLD VALUE ;NUMERIC VALUE
|
||||
JMP STNUM
|
||||
;
|
||||
OP4: ;NOT STRING OR NUMBER, MUST BE ID OR SPECL
|
||||
CALL BGET ;BINARY SEARCH, GET ATTRIBUTES
|
||||
JNZ OP6 ;MATCH?
|
||||
; YES, MAY BE OPERATOR
|
||||
CPI OPER+1
|
||||
JNC OP5
|
||||
; OPERATOR ENCOUNTERED MS NIBBLE OF B IS PRIORITY NUMBER LS NIBBLE
|
||||
; IS THE OPERATOR
|
||||
; ACC HAS THE OPERATOR NUMBER, B HAS PRIORITY
|
||||
CPI LPAR ;(?
|
||||
MOV C,A ;SAVE COPY OF OPERATOR NUMBER
|
||||
LDA UNARY
|
||||
JNZ OPER1 ;JUMP IF NOT A (
|
||||
; ( ENCOUNTERED, UNARY MUST BE TRUE
|
||||
ORA A
|
||||
CZ ERREX
|
||||
MVI A,0FFH
|
||||
STA UNARY ;UNARY IS SET TRUE
|
||||
MOV A,C ;RECOVER OPERATOR
|
||||
JMP OPER4 ;CALLS STKO AND SETS UNARY TO TRUE
|
||||
;
|
||||
;
|
||||
OPER1: ;NOT A LEFT PAREN
|
||||
ORA A
|
||||
JNZ OPER6 ;MUST BE + OR - SINCE UNARY IS SET
|
||||
;
|
||||
; UNARY NOT SET, MUST BE BINARY OPERATOR
|
||||
OPER2: ;COMPARE HIERARCHY OF TOS
|
||||
PUSH B ;SAVE PRIORITY AND OPERATOR NUMBER
|
||||
LDA OSP
|
||||
ORA A
|
||||
JZ OPER3 ;NO MORE OPERATORS IN STACK
|
||||
MOV E,A ;OSP TO E
|
||||
DCR E ;OSP-1
|
||||
MVI D,0
|
||||
LXI H,HIERV
|
||||
DAD D ;HL ADDRESSES TOP OF OPERATOR STACK
|
||||
MOV A,M ;PRIORITY OF TOP OPERATOR
|
||||
CMP B ;CURRENT GREATER?
|
||||
JC OPER3 ;JUMP IF SO
|
||||
; APPLY TOP OPERATOR TO VALUE STACK
|
||||
LXI H,OSP
|
||||
MOV M,E ;OSP=OSP-1
|
||||
LXI H,OPERV
|
||||
DAD D
|
||||
MOV A,M ;OPERATOR NUMBER TO ACC
|
||||
CALL APPLY
|
||||
POP B ;RESTORE OPERATOR NUMBER AND PRIORITY
|
||||
JMP OPER2 ;FOR ANOTHER TEST
|
||||
;
|
||||
OPER3: ;ARRIVE HERE WHEN OPERATOR IS STACKED
|
||||
; CHECK FOR RIGHT PAREN BALANCE
|
||||
POP B ;OPERATOR NUMBER IN C, PRIORITY IN B
|
||||
MOV A,C
|
||||
CPI RPAR
|
||||
JNZ OPER4 ;JUMP IF NOT A RIGHT PAREN
|
||||
;
|
||||
; RIGHT PAREN FOUND, STACK MUST CONTAIN LEFT PAREN TO DELETE
|
||||
LXI H,OSP
|
||||
MOV A,M
|
||||
ORA A ;ZERO?
|
||||
JZ LPERR ;PAREN ERROR IF SO
|
||||
DCR A ;OSP-1
|
||||
MOV M,A ;STORED TO MEMORY
|
||||
MOV E,A
|
||||
MVI D,0
|
||||
LXI H,OPERV
|
||||
DAD D
|
||||
MOV A,M ;TOP OPERATOR IN REG-A
|
||||
CPI LPAR
|
||||
JZ NLERR ;JMP IF NO ERROR - PARENS BALANCE
|
||||
LPERR: CALL ERREX
|
||||
NLERR: ;ERROR REPORTING COMPLETE
|
||||
XRA A
|
||||
JMP OPER5 ;TO CLEAR UNARY FLAG
|
||||
;
|
||||
OPER4: ;ORDINARY OPERATOR
|
||||
CALL STKO
|
||||
MVI A,0FFH ;TO SET UNARY FLAG
|
||||
OPER5: STA UNARY
|
||||
JMP GETOP ;FOR ANOTHER ELEMENT
|
||||
;
|
||||
OPER6: ;UNARY SET, MUST BE + OR -
|
||||
MOV A,C ;RECALL OPERATOR
|
||||
CPI PLUS
|
||||
JZ GETOP ;IGNORE UNARY PLUS
|
||||
CPI MINUS
|
||||
JNZ CHKNOT
|
||||
INR A ;CHANGE TO UNARY MINUS
|
||||
MOV C,A
|
||||
JMP OPER2
|
||||
CHKNOT: ;UNARY NOT SYMBOL?
|
||||
CPI NOTF
|
||||
CNZ ERREX
|
||||
JMP OPER2
|
||||
;
|
||||
;
|
||||
OP5: ;ELEMENT FOUND IN TABLE, NOT AN OPERATOR
|
||||
CPI PT ;PSEUDO OPERATOR?
|
||||
CZ ERREX ;ERROR IF SO
|
||||
MOV L,B ;GET LOW VALUE TO L
|
||||
MVI H,0 ;ZERO HIGH ORDER BYTE
|
||||
JMP STNUM ;STORE IT
|
||||
;
|
||||
OP6: ;NOT FOUND IN TABLE SCAN, $?
|
||||
LDA TOKEN
|
||||
CPI SPECL
|
||||
JNZ OP7
|
||||
LDA ACCUM
|
||||
CPI '$'
|
||||
JZ CURPC ;USE CURRENT PC
|
||||
CALL ERREX
|
||||
LXI H,0
|
||||
JMP STNUM
|
||||
CURPC: LHLD ASPC ;GET CURRENT PC
|
||||
JMP STNUM
|
||||
;
|
||||
OP7: ;NOT $, LOOK IT UP
|
||||
CALL LOOKUP
|
||||
CALL FOUND
|
||||
JNZ FIDENT
|
||||
; NOT FOUND IN SYMBOL TABLE, ENTER IF PASS 1
|
||||
MVI A,'P'
|
||||
CALL PERR
|
||||
CALL ENTER ;ENTER SYMBOL WITH ZERO TYPE FIELD
|
||||
JMP FIDE0
|
||||
FIDENT: CALL GETTY ;TYPE TO H,L
|
||||
ANI 111B
|
||||
MVI A,'U'
|
||||
CZ PERR
|
||||
;
|
||||
FIDE0:
|
||||
CALL GETVAL ;VALUE TO H,L
|
||||
;
|
||||
STNUM: ;STORE H,L TO VALUE STACK
|
||||
LDA UNARY
|
||||
ORA A ;UNARY OPERATION SET
|
||||
CZ ERREX ;OPERAND ENCOUNTERED WITH UNARY OFF
|
||||
XRA A
|
||||
STA UNARY ;SET TO OFF
|
||||
CALL STKV ;STACK THE VALUE
|
||||
;
|
||||
GETOP: CALL SCAN
|
||||
JMP OP0
|
||||
;
|
||||
ERREX: ;PUT 'E' ERROR IN OUTPUT BUFFER
|
||||
PUSH H
|
||||
MVI A,'E'
|
||||
CALL PERR
|
||||
POP H
|
||||
RET
|
||||
;
|
||||
ENDMOD EQU ($ AND 0FFE0H) + 20H ;NEXT HALF PAGE
|
||||
END
|
||||
|
||||
895
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/as6main.asm
Normal file
895
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/as6main.asm
Normal file
@@ -0,0 +1,895 @@
|
||||
TITLE 'ASM MAIN MODULE'
|
||||
; MP/M RESIDENT ASSEMBLER MAIN PROGRAM
|
||||
;
|
||||
; COPYRIGHT (C) 1976, 1977, 1978, 1979, 1980
|
||||
; DIGITAL RESEARCH
|
||||
; BOX 579, PACIFIC GROVE
|
||||
; CALIFORNIA, 93950
|
||||
;
|
||||
; Revised:
|
||||
; 20 Jan 80 by Thomas Rolander
|
||||
;
|
||||
;
|
||||
org 0
|
||||
base equ $
|
||||
|
||||
ORG 1BA0H
|
||||
; MODULE ENTRY POINTS
|
||||
IOMOD EQU base+200H ;IO MODULE
|
||||
SCMOD EQU base+1100H ;SCANNER MODULE
|
||||
SYMOD EQU base+1340H ;SYMBOL TABLE MODULE
|
||||
BMOD EQU base+15A0H ;BINARY SEARCH MODULE
|
||||
OPMOD EQU base+1860H ;OPERAND SCAN MODULE
|
||||
;
|
||||
SETUP EQU IOMOD+3H ;FILE SETUP FOR EACH PASS
|
||||
PCON EQU IOMOD+12H ;WRITE CONSOLE BUFFER TO CR
|
||||
WOBUFF EQU IOMOD+15H ;WRITE PRINT BUFFER AND REINITIALIZE
|
||||
PERR EQU IOMOD+18H ;WRITE ERROR CHARACTER TO PRINT BUFFER
|
||||
DHEX EQU IOMOD+1BH ;SEND HEX CHARACTER TO MACHINE CODE FILE
|
||||
EOR EQU IOMOD+1EH ;END OF PROCESSING, CLOSE FILES AND TERMINATE
|
||||
;
|
||||
INITS EQU SCMOD+3H ;INITIALIZE SCANNER MODULE
|
||||
SCAN EQU SCMOD+6H ;SCAN NEXT TOKEN
|
||||
;
|
||||
INISY EQU SYMOD+3H ;INITIALIZE SYMBOL TABLE
|
||||
LOOKUP EQU SYMOD+6H ;LOOKUP SYMBOL IN ACCUMULATOR
|
||||
FOUND EQU SYMOD+9H ;FOUND IF NZ FLAG
|
||||
ENTER EQU SYMOD+0CH ;ENTER SYMBOL IN ACCUMULATOR
|
||||
SETTY EQU SYMOD+0FH ;SET TYPE FIELD
|
||||
GETTY EQU SYMOD+12H ;GET TYPE FIELD
|
||||
SETVAL EQU SYMOD+15H ;SET VALUE FIELD
|
||||
GETVAL EQU SYMOD+18H ;GET VALUE FIELD
|
||||
;
|
||||
BGET EQU BMOD+6H ;BINARY SEARCH AND GET TYPE/VALUE PAIR
|
||||
;
|
||||
OPAND EQU OPMOD+3H ;GET OPERAND VALUE TO 'EVALUE'
|
||||
MULF EQU OPMOD+6H ;MULT D,E BY H,L TO H,L
|
||||
DIVF EQU OPMOD+9H ;DIVIDE HL BY DE, RESULT TO DE
|
||||
;
|
||||
;
|
||||
; COMMON EQUATES
|
||||
PBMAX EQU 90 ;MAX PRINT SIZE
|
||||
PBUFF EQU base+10CH ;PRINT BUFFER
|
||||
PBP EQU PBUFF+PBMAX ;PRINT BUFFER POINTER
|
||||
;
|
||||
TOKEN EQU PBP+1 ;CURRENT TOKEN UDER SCAN
|
||||
VALUE EQU TOKEN+1 ;VALUE OF NUMBER IN BINARY
|
||||
ACCLEN EQU VALUE+2 ;ACCUMULATOR LENGTH
|
||||
ACMAX EQU 64 ;MAX ACCUMULATOR LENGTH
|
||||
ACCUM EQU ACCLEN+1
|
||||
;
|
||||
EVALUE EQU ACCUM+ACMAX ;VALUE FROM EXPRESSION ANALYSIS
|
||||
;
|
||||
SYTOP EQU EVALUE+2 ;CURRENT SYMBOL TOP
|
||||
SYMAX EQU SYTOP+2 ;MAX ADDRESS+1
|
||||
;
|
||||
PASS EQU SYMAX+2 ;CURRENT PASS NUMBER
|
||||
FPC EQU PASS+1 ;FILL ADDRESS FOR NEXT HEX BYTE
|
||||
ASPC EQU FPC+2 ;ASSEMBLER'S PSEUDO PC
|
||||
SYBAS EQU ASPC+2 ;BASE OF SYMBOL TABLE
|
||||
SYADR EQU SYBAS+2 ;CURRENT SYMBOL ADDRESS
|
||||
;
|
||||
; GLOBAL EQUATES
|
||||
IDEN EQU 1 ;IDENTIFIER
|
||||
NUMB EQU 2 ;NUMBER
|
||||
STRNG EQU 3 ;STRING
|
||||
SPECL EQU 4 ;SPECIAL CHARACTER
|
||||
;
|
||||
PLABT EQU 0001B ;PROGRAM LABEL
|
||||
DLABT EQU 0010B ;DATA LABEL
|
||||
EQUT EQU 0100B ;EQUATE
|
||||
SETT EQU 0101B ;SET
|
||||
MACT EQU 0110B ;MACRO
|
||||
;
|
||||
EXTT EQU 1000B ;EXTERNAL
|
||||
REFT EQU 1011B ;REFER
|
||||
GLBT EQU 1100B ;GLOBAL
|
||||
;
|
||||
CR EQU 0DH ;CARRIAGE RETURN
|
||||
LF EQU 0AH ;LINE FEED
|
||||
EOF EQU 1AH ;END OF FILE
|
||||
NBMAX EQU 16 ;STARTING POSITION OF PRINT LINE
|
||||
;
|
||||
;
|
||||
RT EQU 16 ;REGISTER TYPE
|
||||
PT EQU RT+1 ;PSEUDO OPERATION
|
||||
PENDIF EQU 5 ;PSEUDO OPERATOR 'ENDIF'
|
||||
OBASE EQU PT+1
|
||||
O1 EQU OBASE+1 ;FIRST OPERATOR
|
||||
O15 EQU OBASE+15;LAST OPERATOR
|
||||
;
|
||||
; MAIN STATEMENT PROCESSING LOOP
|
||||
XRA A
|
||||
STA PASS ;SET TO PASS 0 INITIALLY
|
||||
CALL INISY ;INITIALIZE THE SYMBOL TABLE
|
||||
RESTART: ;PASS LOOP GOES FROM 0 TO 1
|
||||
CALL INITS ;INITIALIZE THE SCANNER
|
||||
CALL SETUP ;SET UP THE INPUT FILE
|
||||
LXI H,0
|
||||
SHLD SYLAB ;ASSUME NO STARTING LABEL
|
||||
SHLD FPC
|
||||
SHLD ASPC
|
||||
SHLD EPC ;END PC
|
||||
;
|
||||
SCNEXT: ;SCAN THE NEXT INPUT ITEM
|
||||
CALL SCAN
|
||||
SCN0: LDA TOKEN
|
||||
CPI NUMB ;SKIP LEADING NUMBERS FROM LINE EDITORS
|
||||
JZ SCNEXT
|
||||
CPI SPECL ;MAY BE PROCESSOR TECH'S COMMENT
|
||||
JNZ SCN1
|
||||
; SPECIAL CHARACTER, CHECK FOR *
|
||||
LDA ACCUM
|
||||
CPI '*'
|
||||
JNZ CHEND ;END OF LINE IF NOT *
|
||||
; * FOUND, NO PRECEDING LABEL ALLOWED
|
||||
CALL SETLA
|
||||
JNZ STERR ;ERROR IF LABEL
|
||||
JMP CHEN1 ;SCAN THE COMMENT OTHERWISE
|
||||
;
|
||||
SCN1: ;NOT NUMBER OR SPECIAL CHARACTER, CHECK FOR IDENTIFIER
|
||||
CPI IDEN
|
||||
JNZ STERR ;ERROR IF NOT
|
||||
;
|
||||
; IDENTIFIER FOUND, MAY BE LABEL, OPCODE, OR MACRO
|
||||
CALL BGET ;BINARY SEARCH FIXED DATA
|
||||
JZ CHKPT ;CHECK FOR PSEUDO OR REAL OPERATOR
|
||||
;
|
||||
; BINARY SEARCH WAS UNSUCCESSFUL, CHECK FOR MACRO
|
||||
CALL LOOKUP
|
||||
CALL FOUND
|
||||
JNZ LFOUN ;NZ FLAG SET IF FOUND
|
||||
;
|
||||
; NOT FOUND, ENTER IT
|
||||
CALL ENTER ;THIS MUST BE PASS 0
|
||||
LDA PASS
|
||||
ORA A
|
||||
CNZ ERRP ;PHASE ERROR IF NOT
|
||||
JMP SETSY ;SET SYLAB
|
||||
;
|
||||
; ITEM WAS FOUND, CHECK FOR MACRO
|
||||
LFOUN: CALL GETTY
|
||||
CPI MACT
|
||||
JNZ SETSY
|
||||
;
|
||||
; MACRO DEFINITION FOUND, EXPAND MACRO
|
||||
CALL ERRN ;NOT CURRENTLY IMPLEMENTED
|
||||
JMP CHEN1 ;SCANS TO END OF CURRENT LINE
|
||||
;
|
||||
SETSY: ;LABEL FOUND - IS IT THE ONLY ONE?
|
||||
LHLD SYLAB
|
||||
MOV A,L
|
||||
ORA H
|
||||
CNZ ERRL ;LABEL ERROR IF NOT
|
||||
LHLD SYADR ;ADDRESS OF SYMBOL
|
||||
SHLD SYLAB ;MARK AS LABEL FOUND
|
||||
;
|
||||
; LABEL FOUND, SCAN OPTIONAL ':'
|
||||
CALL SCAN
|
||||
LDA TOKEN
|
||||
CPI SPECL
|
||||
JNZ SCN0 ;SKIP NEXT SCAN IF NOT SPECIAL
|
||||
LDA ACCUM
|
||||
CPI ':'
|
||||
JNZ SCN0
|
||||
JMP SCNEXT ;TO IGNORE ':'
|
||||
;
|
||||
; BINARY SEARCH FOUND SYMBOL, CHECK FOR PSEUDO OR REAL OP
|
||||
CHKPT: CPI PT ;PSEUDO OPCODE?
|
||||
JNZ CHKOT
|
||||
;
|
||||
; PSEUDO OPCODE FOUND, BRANCH TO CASES
|
||||
MOV E,B ;B HAS PARTICULAR OPERATOR NUMBER
|
||||
MVI D,0 ;DOUBLE PRECISION VALUE TO D,E
|
||||
DCX D ;BIASED BY +1
|
||||
LXI H,PTTAB ;BASE OF JUMP TABLE
|
||||
DAD D
|
||||
DAD D
|
||||
MOV E,M
|
||||
INX H
|
||||
MOV H,M
|
||||
MOV L,E
|
||||
PCHL ;JUMP INTO TABLE
|
||||
;
|
||||
PTTAB: ;PSEUDO OPCODE JUMP TABLE
|
||||
DW SDB ;DB
|
||||
DW SDS ;DS
|
||||
DW SDW ;DW
|
||||
DW SEND ;END
|
||||
DW SENDIF ;ENDIF
|
||||
DW SENDM ;ENDM
|
||||
DW SEQU ;EQU
|
||||
DW SIF ;IF
|
||||
DW SMACRO ;MACRO
|
||||
DW SORG ;ORG
|
||||
DW SSET ;SET
|
||||
DW STITLE ;TITLE
|
||||
;
|
||||
SDB:
|
||||
CALL FILAB ;SET LABEL FOR THIS LINE TO ASPC
|
||||
SDB0:
|
||||
CALL SCAN ;PAST DB TO NEXT ITEM
|
||||
LDA TOKEN ;LOOK FOR LONG STRING
|
||||
CPI STRNG
|
||||
JNZ SDBC ;SKIP IF NOT STRING
|
||||
LDA ACCLEN
|
||||
DCR A ;LENGTH 1 STRING?
|
||||
JZ SDBC
|
||||
; LENGTH 0,2,... STRING
|
||||
MOV B,A
|
||||
INR B
|
||||
INR B ;BECOMES 1,3,... FOR 0,2,... LENGTHS
|
||||
LXI H,ACCUM ;ADDRESS CHARACTERS IN STRING
|
||||
SDB1: DCR B ;COUNT DOWN TO ZERO
|
||||
JZ SDB2 ;SCAN DELIMITER AT END OF STRING
|
||||
PUSH B ;SAVE COUNT
|
||||
MOV B,M ;GET CHARACTER
|
||||
INX H
|
||||
PUSH H ;SAVE ACCUM POINTER
|
||||
CALL FILHB ;SEND TO HEX FILE
|
||||
POP H
|
||||
POP B
|
||||
JMP SDB1
|
||||
SDB2: CALL SCAN ;TO THE DELIMITER
|
||||
JMP SDB3
|
||||
;
|
||||
; NOT A LONG STRING
|
||||
SDBC: CALL OPAND ;COMPUTE OPERAND
|
||||
LHLD EVALUE ;VALUE TO H,L
|
||||
MOV A,H
|
||||
ORA A ;HIGH ORDER MUST BE ZERO
|
||||
CNZ ERRD ;DATA ERROR
|
||||
MOV B,L ;GET LOW BYTE
|
||||
CALL FILHB
|
||||
SDB3: ;END OF ITEM - UPDATE ASPC
|
||||
CALL SETAS ;SET ASPC TO FPC
|
||||
CALL DELIM
|
||||
CPI ','
|
||||
JZ SDB0 ;FOR ANOTHER ITEM
|
||||
JMP CHEND ;CHECK END OF LINE SYNTAX
|
||||
;
|
||||
SDS:
|
||||
CALL FILAB ;HANDLE LABEL IF IT OCCURRED
|
||||
CALL PADD ;PRINT ADDRESS
|
||||
CALL EXP16 ;SCAN AND GET 16BIT OPERAND
|
||||
XCHG ;TO D,E
|
||||
LHLD ASPC ;CURRENT PSEUDO PC
|
||||
DAD D ;+EXPRESSION
|
||||
SHLD ASPC
|
||||
SHLD FPC ;NEXT TO FILL
|
||||
JMP CHEND
|
||||
;
|
||||
SDW:
|
||||
CALL FILAB ;HANDLE OPTIONAL LABEL
|
||||
SDW0:
|
||||
CALL EXP16 ;GET 16BIT OPERAND
|
||||
PUSH H ;SAVE A COPY
|
||||
MOV B,L ;LOW BYTE FIRST
|
||||
CALL FILHB ;SEND LOW BYTE
|
||||
POP H ;RECLAIM A COPY
|
||||
MOV B,H ;HIGH BYTE NEXT
|
||||
CALL FILHB ;SEND HIGH BYTE
|
||||
CALL SETAS ;SET ASPC=FPC
|
||||
CALL DELIM ;CHECK DELIMITER SYNTAX
|
||||
CPI ','
|
||||
JZ SDW0 ;GET MORE DATA
|
||||
JMP CHEND
|
||||
;
|
||||
SEND:
|
||||
CALL FILAB
|
||||
CALL PADD ;WRITE LAST LOC
|
||||
LDA PBUFF
|
||||
CPI ' '
|
||||
JNZ CHEND
|
||||
CALL EXP16 ;GET EXPRESSION IF IT'S THERE
|
||||
LDA PBUFF
|
||||
CPI ' '
|
||||
JNZ SEND0
|
||||
SHLD EPC ;EXPRESSION FOUND, STORE IT FOR LATER
|
||||
SEND0: MVI A,' '
|
||||
STA PBUFF ;CLEAR ERROR, IF IT OCCURRED
|
||||
CALL SCAN ;CLEAR CR
|
||||
LDA TOKEN
|
||||
CPI SPECL
|
||||
JNZ STERR
|
||||
LDA ACCUM
|
||||
CPI LF
|
||||
JNZ STERR
|
||||
JMP ENDAS ;END OF ASSEMBLER
|
||||
;
|
||||
SENDIF:
|
||||
JMP POEND
|
||||
;
|
||||
SENDM:
|
||||
CALL ERRN
|
||||
JMP POEND
|
||||
;
|
||||
SEQU:
|
||||
CALL SETLA
|
||||
JZ STERR ;MUST BE A LABEL
|
||||
LHLD ASPC ;HOLD TEMP ASPC
|
||||
PUSH H ;IN STACK
|
||||
CALL EXP16 ;GET 16BIT OPERAND
|
||||
SHLD ASPC ;VALUE OF EXPRESSION
|
||||
CALL FILAB
|
||||
CALL PADDR ;COMPUTED VALUE
|
||||
LXI H,PBUFF+6 ;SPACE AFTER VALUE
|
||||
MVI M,'='
|
||||
POP H ;REAL ASPC
|
||||
SHLD ASPC ;CHANGE BACK
|
||||
JMP CHEND
|
||||
;
|
||||
SIF:
|
||||
CALL FILAB ;IN CASE OF LABEL
|
||||
CALL EXP16 ;GET IF EXPRESSION
|
||||
LDA PBUFF
|
||||
CPI ' '
|
||||
JNZ CHEND ;SKIP IF ERROR
|
||||
MOV A,L ;GET LSB
|
||||
RAR
|
||||
JC CHEND ;TRUE IF CARRY BIT SET
|
||||
;
|
||||
; SKIP TO EOF OR ENDIF
|
||||
SIF0: CALL SCAN
|
||||
LDA TOKEN
|
||||
CPI SPECL
|
||||
JNZ SIF1
|
||||
LDA ACCUM
|
||||
CPI EOF
|
||||
MVI A,'B' ;BALANCE ERROR
|
||||
CZ PERR
|
||||
JZ ENDAS
|
||||
JMP SIF0 ;FOR ANOTHER
|
||||
SIF1: ;NOT A SPECIAL CHARACTER
|
||||
CPI IDEN
|
||||
JNZ SIF0 ;NOT AN IDENTIFIER
|
||||
CALL BGET ;LOOK FOR ENDIF
|
||||
JNZ SIF0 ;NOT FOUND
|
||||
CPI PT ;PSEUDO OP?
|
||||
JNZ SIF0
|
||||
MOV A,B ;GET OPERATOR NUMBER
|
||||
CPI PENDIF ;ENDIF?
|
||||
JNZ SIF0 ;GET ANOTHER TOKEN
|
||||
JMP POEND ;OK, CHECK END OF LINE
|
||||
;
|
||||
SMACRO:
|
||||
CALL ERRN
|
||||
JMP CHEND
|
||||
;
|
||||
SORG:
|
||||
CALL EXP16
|
||||
LDA PBUFF
|
||||
CPI ' '
|
||||
JNZ CHEND ;SKIP ORG IF ERROR
|
||||
SHLD ASPC ;CHANGE PC
|
||||
SHLD FPC ;CHANGE NEXT TO FILL
|
||||
CALL FILAB ;IN CASE OF LABEL
|
||||
CALL PADD
|
||||
JMP CHEND
|
||||
;
|
||||
SSET:
|
||||
CALL SETLA
|
||||
JZ STERR ;MUST BE LABELLED
|
||||
;
|
||||
CALL GETTY
|
||||
CPI SETT
|
||||
CNZ ERRL ;LABEL ERROR
|
||||
MVI A,SETT
|
||||
CALL SETTY ;REPLACE TYPE WITH 'SET'
|
||||
CALL EXP16 ;GET THE EXPRESSION
|
||||
PUSH H ;SAVE IT
|
||||
CALL SETLA ;RE-ADDRESS LABEL
|
||||
POP H ;RECLAIM IT
|
||||
CALL SETVAL
|
||||
LXI H,0
|
||||
SHLD SYLAB ;PREVENT LABEL PROCESSING
|
||||
JMP CHEND
|
||||
;
|
||||
;
|
||||
STITLE:
|
||||
CALL ERRN ;NOT IMPLEMENTED
|
||||
;
|
||||
POEND: ;PSEUDO OPERATOR END - SCAN TO NEXT TOKEN
|
||||
CALL SCAN
|
||||
JMP CHEND
|
||||
;
|
||||
; NOT A PSEUDO OPCODE, CHECK FOR REAL OPCODE
|
||||
CHKOT: SUI O1 ;BASE OF OPCODES
|
||||
CPI O15 ;PAST LAST OPCODE?
|
||||
JNC STERR ;STATEMENT ERROR IF SO
|
||||
;
|
||||
; FOUND OPCODE, COMPUTE INDEX INTO TABLE AND JUMP TO CASE
|
||||
MOV E,A
|
||||
MVI D,0
|
||||
LXI H,OPTAB
|
||||
DAD D
|
||||
DAD D
|
||||
MOV E,M
|
||||
INX H
|
||||
MOV H,M
|
||||
MOV L,E
|
||||
PCHL ;JUMP TO CASE
|
||||
;
|
||||
OPTAB: ;OPCODE CATEGORIES
|
||||
DW SSIMP ;SIMPLE
|
||||
DW SLXI ;LXI
|
||||
DW SDAD ;DAD
|
||||
DW SPUSH ;PUSH/POP
|
||||
DW SJMP ;JMP/CALL
|
||||
DW SMOV ;MOV
|
||||
DW SMVI ;MVI
|
||||
DW SACCI ;ACCUM IMMEDIATE
|
||||
DW SLDAX ;LDAX/STAX
|
||||
DW SLHLD ;LHLD/SHLD/LDA/STA
|
||||
DW SACCR ;ACCUM-REGISTER
|
||||
DW SINC ;INC/DCR
|
||||
DW SINX ;INX/DCX
|
||||
DW SRST ;RESTART
|
||||
DW SIN ;IN/OUT
|
||||
;
|
||||
SSIMP: ;SIMPLE OPERATION CODES
|
||||
CALL FILHB ;SEND HEX VALUE TO MACHINE CODE FILE
|
||||
CALL SCAN ;TO NEXT TOKEN
|
||||
JMP INCPC
|
||||
;
|
||||
SLXI: ;LXI H,16B
|
||||
CALL SHDREG ;SCAN DOUBLE PRECISION REGISTER
|
||||
CALL CHCOM ;CHECK FOR COMMA FOLLOWING REGISTER
|
||||
CALL SETADR ;SCAN AND EMIT DOUBLE PRECISION OPERAND
|
||||
JMP INCPC
|
||||
;
|
||||
SDAD: ;DAD B
|
||||
CALL SHDREG ;SCAN AND EMIT DOUBLE PRECISION REGISTER
|
||||
JMP INCPC
|
||||
;
|
||||
SPUSH: ;PUSH B POP D
|
||||
CALL SHREG ;SCAN SINGLE PRECISION REGISTER TO A
|
||||
CPI 111000B ;MAY BE PSW
|
||||
JZ SPU0
|
||||
; NOT PSW, MUST BE B,D, OR H
|
||||
ANI 001000B ;LOW BIT MUST BE 0
|
||||
CNZ ERRR ;REGISTER ERROR IF NOT
|
||||
SPU0: MOV A,C ;RECALL REGISTER AND MASK IN CASE OF ERROR
|
||||
ANI 110000B
|
||||
ORA B ;MASK IN OPCODE FOR PUSH OR POP
|
||||
JMP FILINC ;FILL HEX VALUE AND INCREMENT PC
|
||||
;
|
||||
SJMP: ;JMP 16B/ CALL 16B
|
||||
CALL FILHB ;EMIT JMP OR CALL OPCODE
|
||||
CALL SETADR ;EMIT 16BIT OPERAND
|
||||
JMP INCPC
|
||||
;
|
||||
SMOV: ;MOV A,B
|
||||
CALL SHREG
|
||||
ORA B ;MASK IN OPCODE
|
||||
MOV B,A ;SAVE IN B TEMPORARILY
|
||||
CALL CHCOM ;MUST BE COMMA SEPARATOR
|
||||
CALL EXP3 ;VALUE MUST BE 0-7
|
||||
ORA B ;MASK IN OPCODE
|
||||
JMP FILINC
|
||||
;
|
||||
SMVI: ;MVI A,8B
|
||||
CALL SHREG
|
||||
ORA B ;MASK IN OPCODE
|
||||
CALL FILHEX ;EMIT OPCODE
|
||||
CALL CHCOM ;SCAN COMMA
|
||||
CALL SETBYTE ;EMIT 8BIT VALUE
|
||||
JMP INCPC
|
||||
;
|
||||
SACCI: ;ADI 8B
|
||||
CALL FILHB ;EMIT IMMEDIATE OPCODE
|
||||
CALL SETBYTE ;EMIT 8BIT OPERAND
|
||||
JMP INCPC
|
||||
;
|
||||
SLDAX: ;LDAX B/STAX D
|
||||
CALL SHREG
|
||||
ANI 101000B ;MUST BE B OR D
|
||||
CNZ ERRR ;REGISTER ERROR IF NOT
|
||||
MOV A,C ;RECOVER REGISTER NUMBER
|
||||
ANI 010000B ;CHANGE TO B OR D IF ERROR
|
||||
ORA B ;MASK IN OPCODE
|
||||
JMP FILINC ;EMIT OPCODE
|
||||
;
|
||||
SLHLD: ;LHLD 16B/ SHLD 16B/ LDA 16B/ STA 16B
|
||||
CALL FILHB ;EMIT OPCODE
|
||||
CALL SETADR ;EMIT OPERAND
|
||||
JMP INCPC
|
||||
;
|
||||
SACCR: ;ADD B
|
||||
CALL EXP3 ;RIGHT ADJUSTED 3BIT VALUE FOR REGISTER
|
||||
ORA B ;MASK IN OPCODE
|
||||
JMP FILINC
|
||||
;
|
||||
SINC: ;INR B/DCR D
|
||||
CALL SHREG ;GET REGISTER
|
||||
ORA B
|
||||
JMP FILINC
|
||||
;
|
||||
SINX: ;INX H/DCX B
|
||||
CALL SHREG
|
||||
ANI 001000B ;MUST BE B D M OR SP
|
||||
CNZ ERRR ;REGISTER ERROR IF NOT
|
||||
MOV A,C ;RECOVER REGISTER
|
||||
ANI 110000B ;IN CASE OF ERROR
|
||||
ORA B ;MASK IN OPCODE
|
||||
JMP FILINC
|
||||
;
|
||||
SRST: ;RESTART 4
|
||||
CALL SHREG ;VALUE IS 0-7
|
||||
ORA B ;OPCODE MASKED
|
||||
JMP FILINC
|
||||
;
|
||||
SIN: ;IN 8B/OUT 8B
|
||||
CALL FILHB ;EMIT OPCODE
|
||||
CALL SETBYTE ;EMIT 8BIT OPERAND
|
||||
JMP INCPC
|
||||
;
|
||||
FILINC: ;FILL HEX VALUE FROM A BEFORE INCREMENTING PC
|
||||
CALL FILHEX
|
||||
;
|
||||
INCPC: ;CHANGE ASSEMBLER'S PSEUDO PROGRAM COUNTER
|
||||
CALL FILAB ;SET ANY LABELS WHICH OCCUR ON THE LINE
|
||||
CALL SETAS ;ASPC=FPC
|
||||
JMP CHEND ;END OF LINE SCAN
|
||||
;
|
||||
;
|
||||
; UTILITY SUBROUTINES FOR OPERATION CODES
|
||||
;
|
||||
DELIM: ;CHECK DELIMITER SYNTAX FOR DATA STATEMENTS
|
||||
LDA TOKEN
|
||||
CPI SPECL
|
||||
CNZ ERRD
|
||||
LDA ACCUM
|
||||
CPI ','
|
||||
RZ
|
||||
CPI ';'
|
||||
RZ
|
||||
CPI CR
|
||||
CNZ ERRD
|
||||
RET
|
||||
;
|
||||
EXP16: ;GET 16BIT VALUE TO H,L
|
||||
PUSH B
|
||||
CALL SCAN ;START SCANNING OPERAND FIELD
|
||||
CALL OPAND
|
||||
LHLD EVALUE ;VALUE TO H,L
|
||||
POP B
|
||||
RET
|
||||
;
|
||||
EXP8: ;GET 8BIT VALUE TO REG A
|
||||
CALL EXP16
|
||||
MOV A,H
|
||||
ORA A
|
||||
CNZ ERRV ;VALUE ERROR IF HIGH BYTE NOT ZERO
|
||||
MOV A,L
|
||||
RET
|
||||
;
|
||||
EXP3: ;GET 3BIT VALUE TO REG A
|
||||
CALL EXP8
|
||||
CPI 8
|
||||
CNC ERRV ;VALUE ERROR IF >=8
|
||||
ANI 111B ;REDUCE IF ERROR OCCURS
|
||||
RET
|
||||
;
|
||||
SHREG: ;GET 3BIT VALUE AND SHIFT LEFT BY 3
|
||||
CALL EXP3
|
||||
RAL
|
||||
RAL
|
||||
RAL
|
||||
ANI 111000B
|
||||
MOV C,A ;COPY TO C
|
||||
RET
|
||||
;
|
||||
SHDREG: ;GET DOUBLE REGISTER TO A
|
||||
CALL SHREG
|
||||
ANI 001000B ;CHECK FOR A,C,E, OR L
|
||||
CNZ ERRR ;REGISTER ERROR
|
||||
MOV A,C ;RECOVER REGISTER
|
||||
ANI 110000B ;FIX IT IF ERROR OCCURRED
|
||||
ORA B ;MASK OPCODE
|
||||
JMP FILHEX ;EMIT IT
|
||||
;
|
||||
SETBYTE: ;EMIT 16BIT OPERAND
|
||||
CALL EXP8
|
||||
JMP FILHEX
|
||||
;
|
||||
SETADR: ;EMIT 16BIT OPERAND
|
||||
CALL EXP16
|
||||
JMP FILADR
|
||||
;
|
||||
CHCOM: ;CHECK FOR COMMA FOLLOWING EXPRESSION
|
||||
PUSH PSW
|
||||
PUSH B
|
||||
LDA TOKEN
|
||||
CPI SPECL
|
||||
JNZ COMER
|
||||
; SPECIAL CHARACTER, CHECK FOR COMMA
|
||||
LDA ACCUM
|
||||
CPI ','
|
||||
JZ COMRET ;RETURN IF COMMA FOUND
|
||||
COMER: ;COMMA ERROR
|
||||
MVI A,'C'
|
||||
CALL PERR
|
||||
COMRET:
|
||||
POP B
|
||||
POP PSW
|
||||
RET
|
||||
;
|
||||
CHEND: ;END OF LINE CHECK
|
||||
CALL FILAB ;IN CASE OF A LABEL
|
||||
LDA TOKEN
|
||||
CPI SPECL
|
||||
JNZ STERR ;MUST BE A SPECIAL CHARACTER
|
||||
LDA ACCUM
|
||||
CPI CR ;CARRIAGE RETURN
|
||||
JNZ CHEN0
|
||||
; CARRIAGE RETURN FOUND, SCAN PICKS UP LF AND PUSHES LINE
|
||||
CALL SCAN
|
||||
JMP SCNEXT
|
||||
;
|
||||
CHEN0: ;NOT CR, CHECK FOR COMMENT
|
||||
CPI ';'
|
||||
JNZ CHEN2
|
||||
CALL FILAB ;IN CASE LABELLED EMPTY LINE
|
||||
; CLEAR COMMENT TO END OF LINE
|
||||
CHEN1: CALL SCAN
|
||||
LDA TOKEN
|
||||
CPI SPECL
|
||||
JNZ CHEN1
|
||||
LDA ACCUM
|
||||
CPI LF
|
||||
JZ SCNEXT
|
||||
CPI EOF
|
||||
JZ ENDAS ;END OF ASSEMBLY IF EOF
|
||||
CPI '!'
|
||||
JZ SCNEXT ;LOGICAL END OF LINE
|
||||
JMP CHEN1 ;NONE OF THE ABOVE
|
||||
;
|
||||
; NOT CR OR LF, MAY BE LOGICAL END OF LINE
|
||||
CHEN2: CPI '!'
|
||||
JZ SCNEXT
|
||||
CPI EOF
|
||||
JZ ENDAS
|
||||
;
|
||||
; STATEMENT ERROR IN OPERAND FIELD
|
||||
STERR: MVI A,'S'
|
||||
CALL PERR
|
||||
JMP CHEN1 ;TO DUMP LINE
|
||||
;
|
||||
DIFF: ;COMPUTE DE-HL TO HL
|
||||
MOV A,E
|
||||
SUB L
|
||||
MOV L,A
|
||||
MOV A,D
|
||||
SBB H
|
||||
MOV H,A
|
||||
RET
|
||||
;
|
||||
ENDAS: ;END OF ASSEMBLY FOR THIS PASS
|
||||
LXI H,PASS
|
||||
MOV A,M
|
||||
INR M ;PASS NUMBER INCREMENTED
|
||||
ORA A
|
||||
JZ RESTART
|
||||
CALL SCAN ;TO CLEAR LAST LINE FEED
|
||||
CALL PADD ;WRITE LAST ADDRESS
|
||||
LXI H,PBUFF+5
|
||||
MVI M,CR ;SET TO CR FOR END OF MESSAGE
|
||||
LXI H,PBUFF+1
|
||||
CALL PCON ;PRINT LAST ADDRESS
|
||||
;
|
||||
; COMPUTE REMAINING SPACE
|
||||
LHLD SYTOP
|
||||
XCHG
|
||||
LHLD SYBAS
|
||||
CALL DIFF ;DIFFERENCE TO H,L
|
||||
PUSH H ;SYTOP-SYBAS TO STACK
|
||||
LHLD SYMAX
|
||||
XCHG
|
||||
LHLD SYBAS
|
||||
CALL DIFF ;SYMAX-SYBAS TO H,L
|
||||
MOV E,H
|
||||
MVI D,0 ;DIVIDED BY 256
|
||||
POP H ;SYTOP-SYBAS TO H,L
|
||||
CALL DIVF ;RESULT TO DE
|
||||
XCHG
|
||||
CALL PADDR ;PRINT H,L TO PBUFF
|
||||
LXI H,PBUFF+5 ;MESSAGE
|
||||
LXI D,EMSG ;END MESSAGE
|
||||
ENDA0: LDAX D
|
||||
ORA A ;ZERO?
|
||||
JZ ENDA1
|
||||
MOV M,A
|
||||
INX H
|
||||
INX D
|
||||
JMP ENDA0
|
||||
;
|
||||
EMSG: DB 'H USE FACTOR',CR,0
|
||||
;
|
||||
ENDA1: LXI H,PBUFF+2 ;BEGINNING OF RATIO
|
||||
CALL PCON
|
||||
LHLD EPC
|
||||
SHLD FPC ;END PROGRAM COUNTER
|
||||
JMP EOR
|
||||
;
|
||||
; UTILITY SUBROUTINES
|
||||
COMDH: ;COMPARE D,E WITH H,L FOR EQUALITY (NZ FLAG IF NOT EQUAL)
|
||||
MOV A,D
|
||||
CMP H
|
||||
RNZ
|
||||
MOV A,E
|
||||
CMP L
|
||||
RET
|
||||
;
|
||||
SETAS: ;ASPC=FPC
|
||||
LHLD FPC
|
||||
SHLD ASPC
|
||||
RET
|
||||
;
|
||||
SETLA: ;SYADR=SYLAB, FOLLOWED BY CHECK FOR ZERO
|
||||
LHLD SYLAB
|
||||
SHLD SYADR
|
||||
CALL FOUND
|
||||
RET
|
||||
;
|
||||
FILAB: ;FILL LABEL VALUE WITH CURRENT ASPC, IF LABEL FOUND
|
||||
CALL SETLA
|
||||
RZ ;RETURN IF NO LABEL DETECTED
|
||||
;
|
||||
; LABEL FOUND, MUST BE DEFINED ON PASS-1
|
||||
LXI H,0
|
||||
SHLD SYLAB ;TO MARK NEXT STATEMENT WITH NO LABEL
|
||||
LDA PASS
|
||||
ORA A
|
||||
JNZ FIL1
|
||||
;
|
||||
; PASS 0
|
||||
CALL GETTY
|
||||
PUSH PSW ;SAVE A COPY OF TYPE
|
||||
ANI 111B ;CHECK FOR UNDEFINED
|
||||
CNZ ERRL ;LABEL ERROR
|
||||
POP PSW ;RESTORE TYPE
|
||||
ORI PLABT ;SET TO LABEL TYPE
|
||||
CALL SETTY ;SET TYPE FIELD
|
||||
LHLD ASPC ;GET CURRENT PC
|
||||
CALL SETVAL ;PLACE INTO VALUE FIELD
|
||||
RET
|
||||
;
|
||||
FIL1: ;CHECK FOR DEFINED VALUE
|
||||
CALL GETTY
|
||||
ANI 111B
|
||||
CZ ERRP ;PHASE ERROR
|
||||
; GET VALUE AND COMPARE WITH ASPC
|
||||
CALL GETVAL ;TO H,L
|
||||
XCHG
|
||||
LHLD ASPC
|
||||
CALL COMDH
|
||||
CNZ ERRP ;PHASE ERROR IF NOT THE SAME
|
||||
RET
|
||||
;
|
||||
FILHEX: ;WRITE HEX BYTE IN REGISTER A TO MACHINE CODE FILE IF PASS-1
|
||||
MOV B,A
|
||||
FILHB: LDA PASS
|
||||
ORA A
|
||||
MOV A,B
|
||||
JZ FILHI
|
||||
;
|
||||
; PASS - 1, WRITE HEX AND PRINT DATA
|
||||
PUSH B ;SAVE A COPY
|
||||
CALL DHEX ;INTO MACHINE CODE FILE
|
||||
; MAY BE COMPLETELY EMPTY LINE, SO CHECK ADDRESS
|
||||
LDA PBUFF+1
|
||||
CPI ' '
|
||||
LHLD ASPC
|
||||
CZ PADDR ;PRINT ADDRESS FIELD
|
||||
;
|
||||
LDA NBP
|
||||
CPI NBMAX ;TRUNCATE CODE IF TOO MUCH ON THIS LINE
|
||||
POP B ;RECALL HEX DIGIT
|
||||
JNC FILHI
|
||||
; ROOM FOR DIGIT ON THIS LINE
|
||||
MOV A,B
|
||||
CALL WHEXB ;WRITE HEX BYTE TO PRINT LINE
|
||||
FILHI: LHLD FPC
|
||||
INX H
|
||||
SHLD FPC ;READY FOR NEXT BYTE
|
||||
RET
|
||||
;
|
||||
FILADR: ;EMIT DOUBLE PRECISION VALUE FROM H,L
|
||||
PUSH H ;SAVE A COPY
|
||||
MOV B,L
|
||||
CALL FILHB ;LOW BYTE EMITTED
|
||||
POP H ;RECOVER A COPY OF H,L
|
||||
MOV B,H
|
||||
JMP FILHB ;EMIT HIGH BYTE AND RETURN
|
||||
;
|
||||
; UTILITY FUNCTIONS FOR PRINTING HEX ADDRESSES AND DATA
|
||||
CHEX: ;CONVERT TO HEX
|
||||
ADI '0'
|
||||
CPI '0'+10
|
||||
RC
|
||||
ADI 'A'-'0'-10
|
||||
RET
|
||||
;
|
||||
WHEXN: ;WRITE HEX NIBBLE
|
||||
CALL CHEX ;CONVERT TO ASCII FROM HEX
|
||||
LXI H,NBP
|
||||
MOV E,M ;NEXT POSITION TO PRINT
|
||||
MVI D,0 ;DOUBLE PRECISION
|
||||
INR M ;NBP=NBP+1
|
||||
LXI H,PBUFF
|
||||
DAD D
|
||||
MOV M,A ;STORE IN PRINT BUFFER
|
||||
RET
|
||||
;
|
||||
WHEXB: ;WRITE HEX BYTE TO PRINT BUFFER
|
||||
PUSH PSW
|
||||
RAR
|
||||
RAR
|
||||
RAR
|
||||
RAR
|
||||
ANI 0FH ;HIGH ORDER NIBBLE NORMALIZE IN A
|
||||
CALL WHEXN ;WRITE IT
|
||||
POP PSW
|
||||
ANI 0FH
|
||||
JMP WHEXN ;WRITE AND RETURN
|
||||
;
|
||||
PADD: LHLD ASPC
|
||||
PADDR: ;PRINT ADDRESS FIELD OF PRINT LINE FROM H,L
|
||||
XCHG
|
||||
LXI H,NBP ;INITIALIZE NEXT TO FILL
|
||||
PUSH H ;SAVE A COPY OF NBP'S ADDRESS
|
||||
MVI M,1
|
||||
MOV A,D ;PRINT HIGH BYTE
|
||||
PUSH D ;SAVE A COPY
|
||||
CALL WHEXB
|
||||
POP D
|
||||
MOV A,E
|
||||
CALL WHEXB
|
||||
POP H ;ADDRESSING NBP
|
||||
INR M ;SKIP A SPACE AFTER ADDRESS FIELD
|
||||
RET
|
||||
;
|
||||
ERRR: ;EMIT REGISTER ERROR
|
||||
PUSH PSW
|
||||
PUSH B
|
||||
MVI A,'R'
|
||||
CALL PERR
|
||||
POP B
|
||||
POP PSW
|
||||
RET
|
||||
;
|
||||
ERRV: ;EMIT VALUE ERROR
|
||||
PUSH PSW
|
||||
PUSH H
|
||||
MVI A,'V'
|
||||
CALL PERR
|
||||
POP H
|
||||
POP PSW
|
||||
RET
|
||||
;
|
||||
ERRD: PUSH PSW
|
||||
MVI A,'D' ;DATA ERROR
|
||||
JMP ERR
|
||||
;
|
||||
ERRP: PUSH PSW
|
||||
MVI A,'P'
|
||||
JMP ERR
|
||||
;
|
||||
ERRL: PUSH PSW
|
||||
MVI A,'L' ;LABEL ERROR
|
||||
JMP ERR
|
||||
;
|
||||
ERRN: PUSH PSW
|
||||
MVI A,'N' ;NOT IMPLEMENTED
|
||||
;
|
||||
ERR:
|
||||
CALL PERR
|
||||
POP PSW
|
||||
RET
|
||||
;
|
||||
SYLAB: DS 2 ;ADDRESS OF LINE LABEL
|
||||
EPC: DS 2 ;END PC VALUE
|
||||
NBP: DS 1 ;NEXT BYTE POSITION TO WRITE FOR MACHINE CODE
|
||||
END
|
||||
|
||||
23
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/asm.sub
Normal file
23
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/asm.sub
Normal file
@@ -0,0 +1,23 @@
|
||||
mac b:as0com $$pzsz
|
||||
mac b:as1io $$pzsz
|
||||
mac b:as2scan $$pzsz
|
||||
mac b:as3sym $$pzsz
|
||||
pip b:as00.hex=b:as0com.hex[i],b:as1io.hex[i],b:as2scan.hex[i],b:as3sym.hex[h]
|
||||
mac b:as0com $$pzsz+r
|
||||
mac b:as1io $$pzsz+r
|
||||
mac b:as2scan $$pzsz+r
|
||||
mac b:as3sym $$pzsz+r
|
||||
pip b:as01.hex=b:as0com.hex[i],b:as1io.hex[i],b:as2scan.hex[i],b:as3sym.hex[h]
|
||||
mac b:as4sear $$pzsz
|
||||
mac b:as5oper $$pzsz
|
||||
mac b:as6main $$pzsz
|
||||
pip b:as10.hex=b:as4sear.hex[i],b:as5oper.hex[i],b:as6main.hex[h]
|
||||
mac b:as4sear $$pzsz+r
|
||||
mac b:as5oper $$pzsz+r
|
||||
mac b:as6main $$pzsz+r
|
||||
pip b:as11.hex=b:as4sear.hex[i],b:as5oper.hex[i],b:as6main.hex[h]
|
||||
pip b:as0.hex=b:as00.hex[i],b:as10.hex[h]
|
||||
pip b:as1.hex=b:as01.hex[i],b:as11.hex[h]
|
||||
pip b:asm.hex=b:as0.hex,b:as1.hex
|
||||
genmod b:asm.hex b:asm.prl $$1000
|
||||
|
||||
8
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/asmlst.sub
Normal file
8
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/asmlst.sub
Normal file
@@ -0,0 +1,8 @@
|
||||
mac b:as0com $$pp+shz
|
||||
mac b:as1io $$pp+shz
|
||||
mac b:as2scan $$pp+shz
|
||||
mac b:as3sym $$pp+shz
|
||||
mac b:as4sear $$pp+shz
|
||||
mac b:as5oper $$pp+shz
|
||||
mac b:as6main $$pp+shz
|
||||
|
||||
33
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddt.sub
Normal file
33
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddt.sub
Normal file
@@ -0,0 +1,33 @@
|
||||
mac b:ddt1asm $$pp+s
|
||||
era b:ddt1asm0.hex
|
||||
ren b:ddt1asm0.hex=b:ddt1asm.hex
|
||||
mac b:ddt1asm $$pzsz+r
|
||||
era b:ddt1asm1.hex
|
||||
ren b:ddt1asm1.hex=b:ddt1asm.hex
|
||||
mac b:ddt2mon $$pp+s
|
||||
era b:ddt2mon0.hex
|
||||
ren b:ddt2mon0.hex=b:ddt2mon.hex
|
||||
mac b:ddt2mon $$pzsz+r
|
||||
era b:ddt2mon1.hex
|
||||
ren b:ddt2mon1.hex=b:ddt2mon.hex
|
||||
pip b:relddt0.hex=b:ddt1asm0.hex[i],b:ddt2mon0.hex[h]
|
||||
pip b:relddt1.hex=b:ddt1asm1.hex[i],b:ddt2mon1.hex[h]
|
||||
pip b:relddt.hex=b:relddt0.hex,b:relddt1.hex
|
||||
genmod b:relddt.hex b:relddt.com
|
||||
genhex b:relddt 100
|
||||
era b:relddt0.hex
|
||||
ren b:relddt0.hex=b:relddt.hex
|
||||
genhex b:relddt 200
|
||||
era b:relddt1.hex
|
||||
ren b:relddt1.hex=b:relddt.hex
|
||||
mac b:ddt0mov $$pp+s
|
||||
era b:ddt0mov0.hex
|
||||
ren b:ddt0mov0.hex=b:ddt0mov.hex
|
||||
mac b:ddt0mov $$pzsz+r
|
||||
era b:ddt0mov1.hex
|
||||
ren b:ddt0mov1.hex=b:ddt0mov.hex
|
||||
pip b:relddt0.hex=b:relddt0.hex[i],b:ddt0mov0.hex[h]
|
||||
pip b:relddt1.hex=b:relddt1.hex[i],b:ddt0mov1.hex[h]
|
||||
pip b:relddt.hex=b:relddt0.hex,b:relddt1.hex
|
||||
genmod b:relddt.hex b:rdt.prl $$z1500
|
||||
|
||||
101
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddt0mov.asm
Normal file
101
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddt0mov.asm
Normal file
@@ -0,0 +1,101 @@
|
||||
TITLE 'DDT RELOCATOR PROGRAM'
|
||||
; DDT RELOCATOR PROGRAM, INCLUDED WITH THE MODULE TO PERFORM
|
||||
; THE MOVE FROM 200H TO THE DESTINATION ADDRESS
|
||||
VERSION EQU 11 ;1.1
|
||||
;
|
||||
; COPYRIGHT (C) 1976, 1977, 1978, 1979, 1980
|
||||
; DIGITAL RESEARCH
|
||||
; BOX 579 PACIFIC GROVE
|
||||
; CALIFORNIA 93950
|
||||
;
|
||||
|
||||
; Revised:
|
||||
; 20 Jan 80 Thomas Rolander
|
||||
|
||||
org 0
|
||||
base equ $
|
||||
|
||||
ORG 100H
|
||||
STACK EQU base+200H
|
||||
BDOS EQU base+05H
|
||||
PRNT EQU 9 ;BDOS PRINT FUNCTION
|
||||
MODULE EQU base+200H ;MODULE ADDRESS
|
||||
;
|
||||
; LXI B,0 ;ADDRESS FIELD FILLED-IN WHEN MODULE BUILT
|
||||
db 01h
|
||||
org 103h
|
||||
JMP START
|
||||
DB 'COPYRIGHT (C) 1980, DIGITAL RESEARCH '
|
||||
SIGNON: DB '[MP/M] DDT VERS '
|
||||
DB VERSION/10+'0','.'
|
||||
DB VERSION MOD 10 + '0','$'
|
||||
START: LXI SP,STACK
|
||||
PUSH B
|
||||
PUSH B
|
||||
LXI D,SIGNON
|
||||
MVI C,PRNT
|
||||
CALL BDOS
|
||||
POP B ;RECOVER LENGTH OF MOVE
|
||||
LXI H,BDOS+2;ADDRESS FIELD OF JUMP TO BDOS (TOP MEMORY)
|
||||
MOV A,M ;A HAS HIGH ORDER ADDRESS OF MEMORY TOP
|
||||
DCR A ;PAGE DIRECTLY BELOW BDOS
|
||||
SUB B ;A HAS HIGH ORDER ADDRESS OF RELOC AREA
|
||||
MOV D,A
|
||||
MVI E,0 ;D,E ADDRESSES BASE OF RELOC AREA
|
||||
PUSH D ;SAVE FOR RELOCATION BELOW
|
||||
;
|
||||
LXI H,MODULE;READY FOR THE MOVE
|
||||
MOVE: MOV A,B ;BC=0?
|
||||
ORA C
|
||||
JZ RELOC
|
||||
DCX B ;COUNT MODULE SIZE DOWN TO ZERO
|
||||
MOV A,M ;GET NEXT ABSOLUTE LOCATION
|
||||
STAX D ;PLACE IT INTO THE RELOC AREA
|
||||
INX D
|
||||
INX H
|
||||
JMP MOVE
|
||||
;
|
||||
RELOC: ;STORAGE MOVED, READY FOR RELOCATION
|
||||
; HL ADDRESSES BEGINNING OF THE BIT MAP FOR RELOCATION
|
||||
POP D ;RECALL BASE OF RELOCATION AREA
|
||||
POP B ;RECALL MODULE LENGTH
|
||||
PUSH H ;SAVE BIT MAP BASE IN STACK
|
||||
MOV H,D ;RELOCATION BIAS IS IN D
|
||||
;
|
||||
REL0: MOV A,B ;BC=0?
|
||||
ORA C
|
||||
JZ ENDREL
|
||||
;
|
||||
; NOT END OF THE RELOCATION, MAY BE INTO NEXT BYTE OF BIT MAP
|
||||
DCX B ;COUNT LENGTH DOWN
|
||||
MOV A,E
|
||||
ANI 111B ;0 CAUSES FETCH OF NEXT BYTE
|
||||
JNZ REL1
|
||||
; FETCH BIT MAP FROM STACKED ADDRESS
|
||||
XTHL
|
||||
MOV A,M ;NEXT 8 BITS OF MAP
|
||||
INX H
|
||||
XTHL ;BASE ADDRESS GOES BACK TO STACK
|
||||
MOV L,A ;L HOLDS THE MAP AS WE PROCESS 8 LOCATIONS
|
||||
REL1: MOV A,L
|
||||
RAL ;CY SET TO 1 IF RELOCATION NECESSARY
|
||||
MOV L,A ;BACK TO L FOR NEXT TIME AROUND
|
||||
JNC REL2 ;SKIP RELOCATION IF CY=0
|
||||
;
|
||||
; CURRENT ADDRESS REQUIRES RELOCATION
|
||||
LDAX D
|
||||
ADD H ;APPLY BIAS IN H
|
||||
STAX D
|
||||
REL2: INX D ;TO NEXT ADDRESS
|
||||
JMP REL0 ;FOR ANOTHER BYTE TO RELOCATE
|
||||
;
|
||||
ENDREL: ;END OF RELOCATION
|
||||
lxi b,base
|
||||
mov a,b
|
||||
dcx d
|
||||
stax d
|
||||
POP D ;CLEAR STACKED ADDRESS
|
||||
MVI L,0
|
||||
PCHL ;GO TO RELOCATED PROGRAM
|
||||
END
|
||||
|
||||
13
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddt0mov0.hex
Normal file
13
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddt0mov0.hex
Normal file
@@ -0,0 +1,13 @@
|
||||
:0101000001FD
|
||||
:10010300C34401434F505952494748542028432977
|
||||
:1001130020313938302C204449474954414C20522E
|
||||
:10012300455345415243482020202020205B4D5019
|
||||
:100133002F4D5D20444454205645525320312E31D7
|
||||
:1001430024310002C5C51130010E09CD0500C121BE
|
||||
:1001530007007E3D90571E00D521000278B1CA6C7E
|
||||
:10016300010B7E121323C35F01D1C1E56278B1CACB
|
||||
:100173008E010B7BE607C28101E37E23E36F7D17CC
|
||||
:100183006FD28A011A841213C37001010000781B15
|
||||
:0501930012D12E00E96D
|
||||
:0000000000
|
||||
|
||||
13
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddt0mov1.hex
Normal file
13
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddt0mov1.hex
Normal file
@@ -0,0 +1,13 @@
|
||||
:0102000001FC
|
||||
:10020300C34402434F505952494748542028432975
|
||||
:1002130020313938302C204449474954414C20522D
|
||||
:10022300455345415243482020202020205B4D5018
|
||||
:100233002F4D5D20444454205645525320312E31D6
|
||||
:1002430024310003C5C51130020E09CD0501C121BA
|
||||
:1002530007017E3D90571E00D521000378B1CA6C7B
|
||||
:10026300020B7E121323C35F02D1C1E56278B1CAC8
|
||||
:100273008E020B7BE607C28102E37E23E36F7D17C9
|
||||
:100283006FD28A021A841213C37002010001781B11
|
||||
:0502930012D12E00E96C
|
||||
:00010000FF
|
||||
|
||||
1071
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddt1asm.asm
Normal file
1071
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddt1asm.asm
Normal file
File diff suppressed because it is too large
Load Diff
106
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddt1asm0.hex
Normal file
106
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddt1asm0.hex
Normal file
@@ -0,0 +1,106 @@
|
||||
:0C000000C38306000000C34F03C32405A7
|
||||
:10001500F579CD8F06F1C9FE20C8FE09C8FE2CC8AA
|
||||
:10002500FE0DC8FE7FCA2405C90E0DCD15000E0AAA
|
||||
:10003500CD1500C9CD8C06FE0DCA1805CD1C00CA0C
|
||||
:1000450039000E04217A063620230DC24C000E0518
|
||||
:10005500217A0677CD8C06CD1C00CA6A00230DCA0D
|
||||
:100065001805C358003A7A06FE20C9D630FE0AD8CC
|
||||
:10007500C6F9FE10D8C31805CD98063DC21805EB84
|
||||
:100085004E2346790504C9CD7D00C21805C9171749
|
||||
:1000950017E638C917171717E630C9EB2A7A06EBA2
|
||||
:1000A5007BBEC2AF00237ABEC82B2B2B0DC2A50089
|
||||
:1000B5000DC90604D5117A061ABEC2CA0023130556
|
||||
:1000C500C2BD00D1C92305C2CA0011F8FF19D11359
|
||||
:1000D5000DC2B7000DC9C5CD3900CA18050E0821D6
|
||||
:1000E5006006CDA000C218050D79C1C9C5CD39007E
|
||||
:1000F500CA18050E05217206CDB700C218050D797F
|
||||
:10010500C1C9CDF100FE04CA1805C9CDF100FE0331
|
||||
:10011500CA1805FE04C03DC9217A06117B060E02E8
|
||||
:100125001A7723130DC225011AFE20C2180577215F
|
||||
:1001350050060E08CDA000C218050D79CD9300C953
|
||||
:10014500CD1D01F5CD7D00F1F6C0C91A2A11007744
|
||||
:1001550023221100C9CD8C06FE0DCA4005FE2ECA0C
|
||||
:100165004005CD3C00CA18050E1121A6051145050F
|
||||
:10017500CDB700C27E01C350010E0A21CE05CDB711
|
||||
:1001850000C29201CD5001CD8C00C351010E062154
|
||||
:10019500E605CDB700C2AA01CD5001CD7D00CD51F8
|
||||
:1001A5000178C351010E0121EA05CDB700C2C60190
|
||||
:1001B500CDDB00CD9300470E40CDDB00B1B0C35180
|
||||
:1001C500010E08210A06CDB700C2DC010D79CD93D9
|
||||
:1001D50000470E80C3BE010E02211206CDB700C234
|
||||
:1001E500F4010C0C0CCDDB00CD9300B1C351010E15
|
||||
:1001F50001211606CDB700C21002CDDB00CD93005C
|
||||
:10020500F606CD5101CD8C00C351010E06212E06F7
|
||||
:10021500CDB700C2360279FE04DA2302C60547CD02
|
||||
:100225000701CD9900B0CD5101E6CFFE01C0C3A0B5
|
||||
:10023500010E01213206CDB700C25102CD8C00FE60
|
||||
:1002450008D21805CD9300F6C7C351010E02213E11
|
||||
:1002550006CDB700C271020DC265020EC1C36702A9
|
||||
:100265000EC5CD1001CD9900B1C351013A7A06FEF4
|
||||
:100275004AC28102CD4501F602C38B02FE43C296F6
|
||||
:1002850002CD4501F604CD510179CD510178C35117
|
||||
:1002950001FE52C21805CD1D01F6C0C351012A0E3B
|
||||
:1002A50000D5EB2A0C007B957A9CD2B7022A130065
|
||||
:1002B500F9C9D17E23220C00C93CE607FE06DAC83F
|
||||
:1002C50002C603FE05DACF02C602C6414FC31500BA
|
||||
:1002D50047E6F00F0F0F0FC69027CE40274FCD15DD
|
||||
:1002E5000078E60FC69027CE40274FC315000604B9
|
||||
:1002F5004ECD15002305C2F5020E20C315007AE682
|
||||
:10030500380F0F0FC9CD0303874F214206094ECD84
|
||||
:100315001500234ECD15000E20CD1500C31500CDBB
|
||||
:100325000303E606FE06C2BE020E53CD15000E50AF
|
||||
:10033500C31500CD2E002A0C007CCDD5027DCDD570
|
||||
:10034500020E20CD1500CD1500C92100003922135C
|
||||
:10035500003A1000B7CA710321FFFF220E003CC20C
|
||||
:1003650071033C3210002A0C00C39703CD9E06C2D0
|
||||
:1003750040052110007EB7CA830335CA40052A0C03
|
||||
:1003850000CDA106CD2E000E20CD1500CD1500CD3A
|
||||
:100395003B03CDA30257214505011100BECAFD044B
|
||||
:1003A500230DC2A1030E0ABECAE904230DC2AC0384
|
||||
:1003B5000E06BECACE04230DC2B703E6C0FE40CA70
|
||||
:1003C500B404FE80CAA5047AE6C7D604CA96043DDD
|
||||
:1003D500CA90043DCA7C047AE6C0CA4A047AE60794
|
||||
:1003E500CA3F04D602CA3404D602CA2904D603CAAF
|
||||
:1003F5001A047AE608C20B057AE6074F3D2139064D
|
||||
:1004050009CDF302CD0303FE06C29F04213606CDB6
|
||||
:10041500F302C37103213206CDF302CD0303CDD51B
|
||||
:1004250002C371030E43CD1500CD0A03C3D9040ED3
|
||||
:100435004ACD1500CD0A03C3D9040E52CD1500CD02
|
||||
:100445000A03C37103211A067AE607CA0B057AE681
|
||||
:100455000F3DCA6E04FE03DA6104D60587874F098E
|
||||
:10046500CDF302CD2403C37103CDF302CD24030ED6
|
||||
:100475002CCD1500C3D904211606CDF302CD0303F7
|
||||
:10048500CDBE020E2CCD1500C3F404211206C3996E
|
||||
:1004950004210E06CDF302CD0303CDBE02C37103C5
|
||||
:1004A5007AE6380F4F21EE0509CDF302C3C50421C5
|
||||
:1004B500EA05CDF302CD0303CDBE020E2CCD15000A
|
||||
:1004C5007AE607CDBE02C371037987874F21CE0532
|
||||
:1004D50009CDF302CDA302F5CDA30257F15FCD956A
|
||||
:1004E50006C371037987874F21A60509CDF302CD90
|
||||
:1004F500A302CD9206C371037987874F216205094F
|
||||
:10050500CDF302C37103217606CDF3027ACD9206AF
|
||||
:10051500C37103CD2E000E3FCD15002A1300F9211E
|
||||
:10052500000039221300CD3803221100CD8906CDF4
|
||||
:100535005A012A1100220C00C32B052A1300F9C900
|
||||
:1005450000070F171F272F373F76C9E3E9EBF3F9AC
|
||||
:10055500FBC6CED3D6DBDEE6EEF6FE222A323AC362
|
||||
:10056500CD454920205350484C4449202058434804
|
||||
:10057500475043484C5854484C52455420484C54D5
|
||||
:1005850020434D432053544320434D412044414192
|
||||
:10059500205241522052414C2052524320524C434A
|
||||
:1005A500204E4F5020435049204F52492058524920
|
||||
:1005B50020414E492053424920494E202053554958
|
||||
:1005C500204F555420414349204144492043414C43
|
||||
:1005D5004C4A4D50204C444120535441204C484CEA
|
||||
:1005E5004453484C444D4F562041444420414443D4
|
||||
:1005F500205355422053424220414E4120585241FA
|
||||
:10060500204F524120434D5020494E5220444352E1
|
||||
:10061500204D5649204C58492053544158494E586D
|
||||
:1006250020444144204C444158444358205253549B
|
||||
:100635002050535720504F5020505553484E5A5A2A
|
||||
:10064500204E434320504F504550204D20422043DB
|
||||
:10065500204420452048204C204D20412042202088
|
||||
:10066500204420202048202020535020205053573C
|
||||
:05067500203F3F3D2085
|
||||
:0000000000
|
||||
|
||||
106
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddt1asm1.hex
Normal file
106
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddt1asm1.hex
Normal file
@@ -0,0 +1,106 @@
|
||||
:0C010000C38307000000C34F04C32406A3
|
||||
:10011500F579CD8F07F1C9FE20C8FE09C8FE2CC8A8
|
||||
:10012500FE0DC8FE7FCA2406C90E0DCD15010E0AA7
|
||||
:10013500CD1501C9CD8C07FE0DCA1806CD1C01CA07
|
||||
:1001450039010E04217A073620230DC24C010E0514
|
||||
:10015500217A0777CD8C07CD1C01CA6A01230DCA08
|
||||
:100165001806C358013A7A07FE20C9D630FE0AD8C8
|
||||
:10017500C6F9FE10D8C31806CD98073DC21806EB80
|
||||
:100185004E2346790504C9CD7D01C21806C9171746
|
||||
:1001950017E638C917171717E630C9EB2A7A07EBA0
|
||||
:1001A5007BBEC2AF01237ABEC82B2B2B0DC2A50186
|
||||
:1001B5000DC90604D5117A071ABEC2CA0123130553
|
||||
:1001C500C2BD01D1C92305C2CA0111F8FF19D11356
|
||||
:1001D5000DC2B7010DC9C5CD3901CA18060E0821D2
|
||||
:1001E5006007CDA001C218060D79C1C9C5CD390179
|
||||
:1001F500CA18060E05217207CDB701C218060D797A
|
||||
:10020500C1C9CDF101FE04CA1806C9CDF101FE032D
|
||||
:10021500CA1806FE04C03DC9217A07117B070E02E4
|
||||
:100225001A7723130DC225021AFE20C2180677215C
|
||||
:1002350050070E08CDA001C218060D79CD9301C94E
|
||||
:10024500CD1D02F5CD7D01F1F6C0C91A2A11017740
|
||||
:1002550023221101C9CD8C07FE0DCA4006FE2ECA08
|
||||
:100265004006CD3C01CA18060E1121A60611450609
|
||||
:10027500CDB701C27E02C350020E0A21CE06CDB70C
|
||||
:1002850001C29202CD5002CD8C01C351020E06214E
|
||||
:10029500E606CDB701C2AA02CD5002CD7D01CD51F2
|
||||
:1002A5000278C351020E0121EA06CDB701C2C6028A
|
||||
:1002B500CDDB01CD9301470E40CDDB01B1B0C3517C
|
||||
:1002C500020E08210A07CDB701C2DC020D79CD93D4
|
||||
:1002D50001470E80C3BE020E02211207CDB701C22F
|
||||
:1002E500F4020C0C0CCDDB01CD9301B1C351020E10
|
||||
:1002F50001211607CDB701C21003CDDB01CD930156
|
||||
:10030500F606CD5102CD8C01C351020E06212E07F2
|
||||
:10031500CDB701C2360379FE04DA2303C60547CDFE
|
||||
:100325000702CD9901B0CD5102E6CFFE01C0C3A0B1
|
||||
:10033500020E01213207CDB701C25103CD8C01FE5A
|
||||
:1003450008D21806CD9301F6C7C351020E02213E0D
|
||||
:1003550007CDB701C271030DC265030EC1C36703A3
|
||||
:100365000EC5CD1002CD9901B1C351023A7A07FEEF
|
||||
:100375004AC28103CD4502F602C38B03FE43C296F2
|
||||
:1003850003CD4502F604CD510279CD510278C35112
|
||||
:1003950002FE52C21806CD1D02F6C0C351022A0E36
|
||||
:1003A50001D5EB2A0C017B957A9CD2B7032A130160
|
||||
:1003B500F9C9D17E23220C01C93CE607FE06DAC83D
|
||||
:1003C50003C603FE05DACF03C602C6414FC31501B6
|
||||
:1003D50047E6F00F0F0F0FC69027CE40274FCD15DC
|
||||
:1003E5000178E60FC69027CE40274FC315010604B6
|
||||
:1003F5004ECD15012305C2F5030E20C315017AE67E
|
||||
:10040500380F0F0FC9CD0304874F214207094ECD81
|
||||
:100415001501234ECD15010E20CD1501C31501CDB6
|
||||
:100425000304E606FE06C2BE030E53CD15010E50AB
|
||||
:10043500C31501CD2E012A0C017CCDD5037DCDD56B
|
||||
:10044500030E20CD1501CD1501C921000039221358
|
||||
:10045500013A1001B7CA710421FFFF220E013CC207
|
||||
:1004650071043C3210012A0C01C39704CD9E07C2CA
|
||||
:1004750040062110017EB7CA830435CA40062A0CFE
|
||||
:1004850001CDA107CD2E010E20CD1501CD1501CD34
|
||||
:100495003B04CDA30357214506011100BECAFD0546
|
||||
:1004A500230DC2A1040E0ABECAE905230DC2AC0480
|
||||
:1004B5000E06BECACE05230DC2B704E6C0FE40CA6D
|
||||
:1004C500B405FE80CAA5057AE6C7D604CA96053DD9
|
||||
:1004D500CA90053DCA7C057AE6C0CA4A057AE60790
|
||||
:1004E500CA3F05D602CA3405D602CA2905D603CAAB
|
||||
:1004F5001A057AE608C20B067AE6074F3D21390749
|
||||
:1005050009CDF303CD0304FE06C29F05213607CDB1
|
||||
:10051500F303C37104213207CDF303CD0304CDD515
|
||||
:1005250003C371040E43CD1501CD0A04C3D9050ECD
|
||||
:100535004ACD1501CD0A04C3D9050E52CD1501CDFD
|
||||
:100545000A04C37104211A077AE607CA0B067AE67C
|
||||
:100555000F3DCA6E05FE03DA6105D60587874F098B
|
||||
:10056500CDF303CD2404C37104CDF303CD24040ED0
|
||||
:100575002CCD1501C3D905211607CDF303CD0304F1
|
||||
:10058500CDBE030E2CCD1501C3F405211207C39969
|
||||
:1005950005210E07CDF303CD0304CDBE03C37104BE
|
||||
:1005A5007AE6380F4F21EE0609CDF303C3C50521C1
|
||||
:1005B500EA06CDF303CD0304CDBE030E2CCD150104
|
||||
:1005C5007AE607CDBE03C371047987874F21CE062E
|
||||
:1005D50009CDF303CDA303F5CDA30357F15FCD9566
|
||||
:1005E50007C371047987874F21A60609CDF303CD8B
|
||||
:1005F500A303CD9207C371047987874F216206094A
|
||||
:10060500CDF303C37104217607CDF3037ACD9207A9
|
||||
:10061500C37104CD2E010E3FCD15012A1301F92119
|
||||
:10062500000039221301CD3804221101CD8907CDEF
|
||||
:100635005A022A1101220C01C32B062A1301F9C9FA
|
||||
:1006450000070F171F272F373F76C9E3E9EBF3F9AB
|
||||
:10065500FBC6CED3D6DBDEE6EEF6FE222A323AC361
|
||||
:10066500CD454920205350484C4449202058434803
|
||||
:10067500475043484C5854484C52455420484C54D4
|
||||
:1006850020434D432053544320434D412044414191
|
||||
:10069500205241522052414C2052524320524C4349
|
||||
:1006A500204E4F5020435049204F5249205852491F
|
||||
:1006B50020414E492053424920494E202053554957
|
||||
:1006C500204F555420414349204144492043414C42
|
||||
:1006D5004C4A4D50204C444120535441204C484CE9
|
||||
:1006E5004453484C444D4F562041444420414443D3
|
||||
:1006F500205355422053424220414E4120585241F9
|
||||
:10070500204F524120434D5020494E5220444352E0
|
||||
:10071500204D5649204C58492053544158494E586C
|
||||
:1007250020444144204C444158444358205253549A
|
||||
:100735002050535720504F5020505553484E5A5A29
|
||||
:10074500204E434320504F504550204D20422043DA
|
||||
:10075500204420452048204C204D20412042202087
|
||||
:10076500204420202048202020535020205053573B
|
||||
:05077500203F3F3D2084
|
||||
:00010000FF
|
||||
|
||||
1964
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddt2mon.asm
Normal file
1964
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddt2mon.asm
Normal file
File diff suppressed because it is too large
Load Diff
176
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddt2mon0.hex
Normal file
176
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddt2mon0.hex
Normal file
@@ -0,0 +1,176 @@
|
||||
:10068000C3A206C3AA06C3680FC33D0DC36E0DC344
|
||||
:10069000580DC3960DC3C50DC3280EC3FE0DC3B0C0
|
||||
:1006A0000DC9E322E710E3C300002A77112E065E8E
|
||||
:1006B0002356EB22A80621A206220100210000EB0E
|
||||
:1006C000722B73AF32EC102A771124220C0022FA1D
|
||||
:1006D00010222411227511317311E5210200E52B3E
|
||||
:1006E0002B227311E5E522EA100E0CCDA206250E91
|
||||
:1006F00000C2A2060E9ACDA20623237E070707F6A4
|
||||
:10070000C732670F2EFC445E2356210500195E2375
|
||||
:1007100056210F00197E87C6306F60368623360655
|
||||
:100720002A77112E5D7EFE20CA220B2A7711E5C39F
|
||||
:100730007F0A316B11CDFD09DA46071180062A7751
|
||||
:10074000112E06732372CDA60D3E2DCD580DCD3D35
|
||||
:100750000DCD6E0DFE0DCA3207D641DA320DFE1AEE
|
||||
:10076000D2320D5F160021700719195E2356EBE98E
|
||||
:10077000BA070208320D5608320DEC0800096B0961
|
||||
:100780009509320D320DD307C209120A320D320D0E
|
||||
:10079000320D560A510B9A0B960BBE0BEC0B5D0CEF
|
||||
:1007A000320D320DE5D5C52A77112E5B36000E0FBE
|
||||
:1007B000EB1E5CCDA206C1D1E1C9CDFD09D2320D3F
|
||||
:1007C000CD280E3DC2320DCDFE0D220C00CD09000C
|
||||
:1007D000C33207CDFD09D2320DCD280ECAF707CDA1
|
||||
:1007E000FE0D220C003DCAF707CDFE0D220E003D86
|
||||
:1007F000C2320DAFC3F9073E0C321000CD0600C364
|
||||
:100800003207CD280EFE02C2320DCDFE0DE5CDFE23
|
||||
:100810000D3E01A5E1F5E57DE6073C473E010F05EC
|
||||
:10082000C21E082A7711010101094E234611FE005C
|
||||
:100830001909D147150E037AB71F577B1F5F0DC2E9
|
||||
:10084000370819CD060AF178CA5008B677C33207BF
|
||||
:100850002FA677C33207CD280ECA7508CDFE0DDA54
|
||||
:10086000650822FA10E67F3DCA7508CDFE0D3DC22F
|
||||
:10087000320DC380082AFA107DE6F06F11BF00190F
|
||||
:1008800022FC10CDA60DCDB00DC232072AFA1022DF
|
||||
:10089000FE10CDC60DCD560D7ECD960D23CDDD0DB2
|
||||
:1008A000DAA9087DE60FC2950822FA102AFE10EB9D
|
||||
:1008B000CD560D1ACDCE0D132AFA107D93C2B30872
|
||||
:1008C0007C92C2B3082AFA10CDDD0DDA3207C38359
|
||||
:1008D00008CD280EFE03C2320DCDFE0DE5CDFE0D76
|
||||
:1008E000E5CDFE0DD1C1C97B917A98C9CDD1087CE7
|
||||
:1008F000B7C2320DCDE708DA32077D0203C3F40830
|
||||
:10090000CDA60DCD280ECDFE0DE5CDFE0DE5CDFE1F
|
||||
:100910000D444DD1E1F3CA3109DA1F09227511E600
|
||||
:100920007F3DCA3109CD42093DCA31095950CD42F6
|
||||
:1009300009316B11D1C1F1E1F92A7511E52A731161
|
||||
:10094000FBC9F5C521EC107E34B7CA5D09237E23AF
|
||||
:100950004623BBC25D0978BAC25D097E12237323A8
|
||||
:1009600072231A773A670F12C1F1C9CD280EFE0221
|
||||
:10097000C2320DCDFE0DE5CDFE0DD1E5CDA60D1992
|
||||
:10098000CDC60DCD560DE1AF956F3E009C6719CDDC
|
||||
:10099000C60DC332072A001122BE092A77112E5C28
|
||||
:1009A00022C0090E9811BE09CDA2067CB5C2320D37
|
||||
:1009B0002A77112E7C773EFF322611C332070000C2
|
||||
:1009C0000000CDD108CDE708DA32070A037723C348
|
||||
:1009D000C5092A77112E657EE67FFE48C0237EE694
|
||||
:1009E0007FFE45C0237EE67FFE58C9EB2A24117D99
|
||||
:1009F000937C9AEBC9CDEB09D0222411C9E52100E3
|
||||
:100A000000CDEB09E1C9F53E7F953E069CDA320D3B
|
||||
:100A1000F1C92A7711E5110101194E2346C511FECE
|
||||
:100A2000001978B1CA330A0B7E25CD060A77242334
|
||||
:100A3000C3220AC1D1E5621478B1CA32070B7BE642
|
||||
:100A400007C2490AE37E23E36F7D176FD2520A1A69
|
||||
:100A5000841213C3380A3A2611B7CA320DCD280EB4
|
||||
:100A6000210000CA6D0A3DC2320DCDFE0DAF322607
|
||||
:100A700011EB2A7711EB19E51E800E1ACDA206CDD7
|
||||
:100A8000A407FEFFCA320DCDD209CABA0AE124E595
|
||||
:100A90002A7711EB1E5C0E14CDA206E1B7C2220B21
|
||||
:100AA000EB2A7711EB1E800E801A13CD060A7723EE
|
||||
:100AB0000DC2A90ACDF509C38F0ACDEA0CFE1ACAE8
|
||||
:100AC000320DDE3AC2BA0A57E1E5CD020B5FCD0224
|
||||
:100AD0000BF5CD020BC14F097BB7C2E50A60692255
|
||||
:100AE0007511C3220BCD020BCD020BCD060A772365
|
||||
:100AF0001DC2E80ACD020BF5CDF509F1C2320DC3D6
|
||||
:100B0000BA0AC5E5D5CDEA0CCDF10D07070707E612
|
||||
:100B1000F0F5CDEA0CCDF10DC1B047D1825778E1A7
|
||||
:100B2000C1C921460B7EB7CA310BCD580D23C32551
|
||||
:100B30000BCDA60D2A2411CDC60DCD560D2A75114B
|
||||
:100B4000CDC60DC332070D0A4E45585420205043E0
|
||||
:100B500000CD280E3DC2320DCDFE0DCDA60DE5CD4A
|
||||
:100B6000C60DCD560DE17EE5CD960DCD560DCD3D94
|
||||
:100B70000DCD6E0DE1FE0DCA920BFE2ECA3207E5B9
|
||||
:100B8000CD2B0E3DC2320DCDFE0D7CB7C2320D7D98
|
||||
:100B9000E17723C35B0BAFC39C0B3EFF32E910CD63
|
||||
:100BA000280E210000CAB50B3DC2320DCDFE0D7DD1
|
||||
:100BB000B4CA320D2B22EA10CDDC0EC31509CD28A4
|
||||
:100BC0000ECA220B3DC2320DCDFE0DEB2A77112449
|
||||
:100BD0007B956F7A9C67DA320DAF7D177C176F3E7D
|
||||
:100BE000001767CDA60DCDC60DC332073A2611B743
|
||||
:100BF000CA320DCD280ECA320D3DC2320D32261139
|
||||
:100C0000CDFE0D23E52A77112E5CEBD50E13CDA278
|
||||
:100C100006D1D50E16CDA2063CCA320DD1D50E0F87
|
||||
:100C2000CDA2063CCA320D2A771124D1C10B78B16E
|
||||
:100C3000CA510CC5D51E8006807E12132305C23909
|
||||
:100C40000CD1D5E50E15CDA206B7C2320DE1C32BEE
|
||||
:100C50000C0E10CDA2063CCA320DC33207CD6E0D6C
|
||||
:100C6000FE0DC26B0CCDDC0EC33207010B00214B15
|
||||
:100C70000FBECA7E0C23040DC2710CC3320DCD6EA3
|
||||
:100C80000DFE0DC2320DC5CDA60DCDB20ECD560D49
|
||||
:100C9000CD3D0DCD280EB7CA32073DC2320DCDFE77
|
||||
:100CA0000DC178FE05D2CF0C7CB7C2320D7DFE029D
|
||||
:100CB000D2320DCD7B0E67413EFECDC90CA44167FB
|
||||
:100CC0007DCDC90CB412C3320705C807C3C90CC215
|
||||
:100CD000DF0C7CB7C2320D7D21701177C33207E57E
|
||||
:100CE000CD990ED1732372C33207E5D5C5E52A77B6
|
||||
:100CF000112E5B7EE1E67FCA130D16005F2A771185
|
||||
:100D00002E80197EFE1ACA2D0D2A77112E5B34B75C
|
||||
:100D1000C32E0D0E142A7711EB1E5CCDA206B7C2AE
|
||||
:100D20002D0DE52A77112E5B77E1C3FA0C37C1D17F
|
||||
:100D3000E1C9CDA60D3E3FCD580DC3320711231199
|
||||
:100D40000E20AF121B0DC2430D1B0E0ACDA20621B1
|
||||
:100D50000411220011C93E20E5D5C55F0E02CDA2C7
|
||||
:100D600006C1D1E1C9FE7FC8FE61D8E65FC9E521B1
|
||||
:100D700003117EB73E0DCA850D352A00117E232250
|
||||
:100D80000011CD650DE1C9FE0AD2910DC630C358E0
|
||||
:100D90000DC637C3580DF51F1F1F1FE60FCD870D5A
|
||||
:100DA000F1E60FC3870D3E0DCD580D3E0AC3580D19
|
||||
:100DB000C5D5E50E0BCDA206E6010000000000003F
|
||||
:100DC00000E1D1C1C9EB7CCD960D7DC3960DFE7FB0
|
||||
:100DD000D2D80DFE20D2580D3E2EC3580DEB2AFC62
|
||||
:100DE000107D936F7C9AEBC9FE0DC8FE2CC8FE20C7
|
||||
:100DF000C9D630FE0AD8C6F9FE10D8C3320DEB5E54
|
||||
:100E0000235623EBC9EB210000CDF10D2929292917
|
||||
:100E1000B56FCD6E0DCDE80DC2090EEBC97323720F
|
||||
:100E200023E521F31034E1C9CD6E0D21F310360016
|
||||
:100E300023FE0DCA6D0EFE2CC2460E3E8032F3100C
|
||||
:100E4000110000C3490ECD050ECD1D0EFE0DCA6D5D
|
||||
:100E50000ECD6E0DCD050ECD1D0EFE0DCA6D0ECD47
|
||||
:100E60006E0DCD050ECD1D0EFE0DC2320D11F3100F
|
||||
:100E70001AFE81CA320D13B7070FC9E5215B0F585F
|
||||
:100E80001600194E216F117EEBE1C9CD7B0E0DCA04
|
||||
:100E9000960E1FC38E0EE601C9D60621560F5F16A9
|
||||
:100EA00000195E16FF21771119C9CD990E5E2356E0
|
||||
:100EB000EBC97ECD580D78FE05D2C30ECD8B0ECD7D
|
||||
:100EC000870DC9F53E3DCD580DF1C2D50E217011EB
|
||||
:100ED0007ECD960DC9CDAA0ECDC60DC9214B0F06EC
|
||||
:100EE00000CDA60DC5E5CDB20EE1C1042378FE0B01
|
||||
:100EF000D2FE0EFE05DAE40ECD560DC3E40ECD563D
|
||||
:100F00000DCD2010F5D5C5CDFD09D21E0F2A7511C6
|
||||
:100F1000220C0021100036FFCD0600C3470F2B2204
|
||||
:100F2000FC102A75117ECD960D23CDDD0DDA470F0D
|
||||
:100F3000F5CD560DF1B3CA430F5E2356EBCDC60D6A
|
||||
:100F4000C3470F7ECD960DC1D1F1C9435A4D4549D6
|
||||
:100F5000414244485350F6F4FCFAFE0107080305E9
|
||||
:100F600021000022EA10C901F3227311E12B22753E
|
||||
:100F700011F521020039F1317311E5F5C5D52A7556
|
||||
:100F8000113A670FBE7EF5E521EC107E3600B7CA38
|
||||
:100F90009F0F3D47235E2356237E1278C38E0FE1B9
|
||||
:100FA000F1CAC30F23227511EB21A8064E2346CDAB
|
||||
:100FB000E708DAC30FCD600F2AE710EB3E82B737A0
|
||||
:100FC000C31509FB2AEA107CB5CAE90F2B22EA10E7
|
||||
:100FD000CDB00DC2E90F3AE910B7C2E30FCD201032
|
||||
:100FE000C31509CDDC0EC31509CD600F3E2ACD58BF
|
||||
:100FF0000D2A7511CDFD09D2FD0F220C00CDC60DB5
|
||||
:101000002A731122FA10C33207110D0021CC107E71
|
||||
:10101000A023BE23CA1C10141DC20F105A1600C9EB
|
||||
:101020002A75114623E5CD091021E61073213710EA
|
||||
:1010300019195E2356EBE953107B1053107B10599E
|
||||
:10104000108D10A110C310C310C010C010B610C373
|
||||
:1010500010B110CD6910C2C610CD7410C3C6103ABD
|
||||
:10106000A806BBC03AA906BAC9C1E15E235623E56A
|
||||
:10107000C5C35F102A71115E2356C9CD6910CA8895
|
||||
:1010800010C1C53E02C3C810D1D5C3C6103A670F00
|
||||
:10109000B878C29910AFC3CA10E6385F1600C3C64D
|
||||
:1010A000102A7311EBCD5F10C2C610C35910C3C60E
|
||||
:1010B00010D1D5C3C610CD7410C1C53E02C3C8102F
|
||||
:1010C000D113D5D113D53E013C37E1C9FFC3C7C207
|
||||
:1010D000FFCDC7C4FFC9C7C7FFE9C706C7C6CF0151
|
||||
:0610E000E722C7C0F7D3B0
|
||||
:0111020020CC
|
||||
:1011260000C7C7C7C7C7C7C7C7C7C7C7C7C7C7C710
|
||||
:10113600C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C739
|
||||
:10114600C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C729
|
||||
:10115600C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C719
|
||||
:10116600C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C709
|
||||
:03117600C70000AF
|
||||
:0000000000
|
||||
|
||||
176
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddt2mon1.hex
Normal file
176
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddt2mon1.hex
Normal file
@@ -0,0 +1,176 @@
|
||||
:10078000C3A207C3AA07C36810C33D0EC36E0EC33E
|
||||
:10079000580EC3960EC3C50EC3280FC3FE0EC3B0BA
|
||||
:1007A0000EC9E322E711E3C300002A77122E065E8A
|
||||
:1007B0002356EB22A80721A207220101210001EB09
|
||||
:1007C000722B73AF32EC112A771224220C0122FA19
|
||||
:1007D00011222412227512317312E5210200E52B39
|
||||
:1007E0002B227312E5E522EA110E0CCDA207250E8D
|
||||
:1007F00000C2A2070E9ACDA20723237E070707F6A1
|
||||
:10080000C73267102EFC445E2356210500195E2373
|
||||
:1008100056210F00197E87C6306F60368623360753
|
||||
:100820002A77122E5D7EFE20CA220C2A7712E5C39B
|
||||
:100830007F0B316B12CDFD0ADA46081180072A774B
|
||||
:10084000122E06732372CDA60E3E2DCD580ECD3D31
|
||||
:100850000ECD6E0EFE0DCA3208D641DA320EFE1AE9
|
||||
:10086000D2320E5F160021700819195E2356EBE98B
|
||||
:10087000BA080209320E5609320EEC09000A6B0A58
|
||||
:10088000950A320E320ED308C20A120B320E320E05
|
||||
:10089000320E560B510C9A0C960CBE0CEC0C5D0DE6
|
||||
:1008A000320E320EE5D5C52A77122E5B36000E0FBA
|
||||
:1008B000EB1E5CCDA207C1D1E1C9CDFD0AD2320E3B
|
||||
:1008C000CD280F3DC2320ECDFE0E220C01CD090106
|
||||
:1008D000C33208CDFD0AD2320ECD280FCAF708CD9B
|
||||
:1008E000FE0E220C013DCAF708CDFE0E220E013D80
|
||||
:1008F000C2320EAFC3F9083E0C321001CD0601C35F
|
||||
:100900003208CD280FFE02C2320ECDFE0EE5CDFE1E
|
||||
:100910000E3E01A5E1F5E57DE6073C473E010F05EA
|
||||
:10092000C21E092A7712010101094E234611FE0059
|
||||
:100930001909D147150E037AB71F577B1F5F0DC2E8
|
||||
:10094000370919CD060BF178CA5009B677C33208BA
|
||||
:100950002FA677C33208CD280FCA7509CDFE0EDA4F
|
||||
:10096000650922FA11E67F3DCA7509CDFE0E3DC22A
|
||||
:10097000320EC380092AFA117DE6F06F11BF00190B
|
||||
:1009800022FC11CDA60ECDB00EC232082AFA1122D9
|
||||
:10099000FE11CDC60ECD560E7ECD960E23CDDD0EAC
|
||||
:1009A000DAA9097DE60FC2950922FA112AFE11EB98
|
||||
:1009B000CD560E1ACDCE0E132AFA117D93C2B3096D
|
||||
:1009C0007C92C2B3092AFA11CDDD0EDA3208C38354
|
||||
:1009D00009CD280FFE03C2320ECDFE0EE5CDFE0E70
|
||||
:1009E000E5CDFE0ED1C1C97B917A98C9CDD1097CE4
|
||||
:1009F000B7C2320ECDE709DA32087D0203C3F4092B
|
||||
:100A0000CDA60ECD280FCDFE0EE5CDFE0EE5CDFE1A
|
||||
:100A10000E444DD1E1F3CA310ADA1F0A227512E6FB
|
||||
:100A20007F3DCA310ACD420A3DCA310A5950CD42F2
|
||||
:100A30000A316B12D1C1F1E1F92A7512E52A73125C
|
||||
:100A4000FBC9F5C521EC117E34B7CA5D0A237E23AC
|
||||
:100A50004623BBC25D0A78BAC25D0A7E12237323A5
|
||||
:100A600072231A773A671012C1F1C9CD280FFE021E
|
||||
:100A7000C2320ECDFE0EE5CDFE0ED1E5CDA60E198D
|
||||
:100A8000CDC60ECD560EE1AF956F3E009C6719CDD9
|
||||
:100A9000C60EC332082A001222BE0A2A77122E5C22
|
||||
:100AA00022C00A0E9811BE0ACDA2077CB5C2320E32
|
||||
:100AB0002A77122E7C773EFF322612C332080000BE
|
||||
:100AC0000000CDD109CDE709DA32080A037723C344
|
||||
:100AD000C50A2A77122E657EE67FFE48C0237EE691
|
||||
:100AE0007FFE45C0237EE67FFE58C9EB2A24127D97
|
||||
:100AF000937C9AEBC9CDEB0AD0222412C9E52100E0
|
||||
:100B000001CDEB0AE1C9F53E7F953E079CDA320E36
|
||||
:100B1000F1C92A7712E5110101194E2346C511FECC
|
||||
:100B2000001978B1CA330B0B7E25CD060B77242331
|
||||
:100B3000C3220BC1D1E5621478B1CA32080B7BE63F
|
||||
:100B400007C2490BE37E23E36F7D176FD2520B1A66
|
||||
:100B5000841213C3380B3A2612B7CA320ECD280FAF
|
||||
:100B6000210000CA6D0B3DC2320ECDFE0EAF322603
|
||||
:100B700012EB2A7712EB19E51E800E1ACDA207CDD3
|
||||
:100B8000A408FEFFCA320ECDD20ACABA0BE124E590
|
||||
:100B90002A7712EB1E5C0E14CDA207E1B7C2220C1D
|
||||
:100BA000EB2A7712EB1E800E801A13CD060B7723EB
|
||||
:100BB0000DC2A90BCDF50AC38F0BCDEA0DFE1ACAE3
|
||||
:100BC000320EDE3AC2BA0B57E1E5CD020C5FCD0220
|
||||
:100BD0000CF5CD020CC14F097BB7C2E50B60692251
|
||||
:100BE0007512C3220CCD020CCD020CCD060B77235F
|
||||
:100BF0001DC2E80BCD020CF5CDF50AF1C2320EC3D1
|
||||
:100C0000BA0BC5E5D5CDEA0DCDF10E07070707E60E
|
||||
:100C1000F0F5CDEA0DCDF10EC1B047D1825778E1A4
|
||||
:100C2000C1C921460C7EB7CA310CCD580E23C3254D
|
||||
:100C30000CCDA60E2A2412CDC60ECD560E2A751244
|
||||
:100C4000CDC60EC332080D0A4E45585420205043DD
|
||||
:100C500000CD280F3DC2320ECDFE0ECDA60EE5CD45
|
||||
:100C6000C60ECD560EE17EE5CD960ECD560ECD3D8F
|
||||
:100C70000ECD6E0EE1FE0DCA920CFE2ECA3208E5B4
|
||||
:100C8000CD2B0F3DC2320ECDFE0E7CB7C2320E7D93
|
||||
:100C9000E17723C35B0CAFC39C0C3EFF32E911CD5F
|
||||
:100CA000280F210000CAB50C3DC2320ECDFE0E7DCC
|
||||
:100CB000B4CA320E2B22EA11CDDC0FC3150ACD289F
|
||||
:100CC0000FCA220C3DC2320ECDFE0EEB2A77122443
|
||||
:100CD0007B956F7A9C67DA320EAF7D177C176F3E7B
|
||||
:100CE000001767CDA60ECDC60EC332083A2612B73E
|
||||
:100CF000CA320ECD280FCA320E3DC2320E32261233
|
||||
:100D0000CDFE0E23E52A77122E5CEBD50E13CDA275
|
||||
:100D100007D1D50E16CDA2073CCA320ED1D50E0F83
|
||||
:100D2000CDA2073CCA320E2A771224D1C10B78B16A
|
||||
:100D3000CA510DC5D51E8006807E12132305C23907
|
||||
:100D40000DD1D5E50E15CDA207B7C2320EE1C32BEA
|
||||
:100D50000D0E10CDA2073CCA320EC33208CD6E0E66
|
||||
:100D6000FE0DC26B0DCDDC0FC33208010B00214B11
|
||||
:100D700010BECA7E0D23040DC2710DC3320ECD6E9E
|
||||
:100D80000EFE0DC2320EC5CDA60ECDB20FCD560E43
|
||||
:100D9000CD3D0ECD280FB7CA32083DC2320ECDFE72
|
||||
:100DA0000EC178FE05D2CF0D7CB7C2320E7DFE0299
|
||||
:100DB000D2320ECD7B0F67413EFECDC90DA44167F7
|
||||
:100DC0007DCDC90DB412C3320805C807C3C90DC211
|
||||
:100DD000DF0D7CB7C2320E7D21701277C33208E579
|
||||
:100DE000CD990FD1732372C33208E5D5C5E52A77B3
|
||||
:100DF000122E5B7EE1E67FCA130E16005F2A771281
|
||||
:100E00002E80197EFE1ACA2D0E2A77122E5B34B759
|
||||
:100E1000C32E0E0E142A7712EB1E5CCDA207B7C2AA
|
||||
:100E20002D0EE52A77122E5B77E1C3FA0D37C1D17B
|
||||
:100E3000E1C9CDA60E3E3FCD580EC3320811231294
|
||||
:100E40000E20AF121B0DC2430E1B0E0ACDA20721AE
|
||||
:100E50000412220012C93E20E5D5C55F0E02CDA2C4
|
||||
:100E600007C1D1E1C9FE7FC8FE61D8E65FC9E521AF
|
||||
:100E700003127EB73E0DCA850E352A00127E23224C
|
||||
:100E80000012CD650EE1C9FE0AD2910EC630C358DC
|
||||
:100E90000EC637C3580EF51F1F1F1FE60FCD870E56
|
||||
:100EA000F1E60FC3870E3E0DCD580E3E0AC3580E15
|
||||
:100EB000C5D5E50E0BCDA207E6010000000000003D
|
||||
:100EC00000E1D1C1C9EB7CCD960E7DC3960EFE7FAD
|
||||
:100ED000D2D80EFE20D2580E3E2EC3580EEB2AFC5E
|
||||
:100EE000117D936F7C9AEBC9FE0DC8FE2CC8FE20C5
|
||||
:100EF000C9D630FE0AD8C6F9FE10D8C3320EEB5E52
|
||||
:100F0000235623EBC9EB210000CDF10E2929292915
|
||||
:100F1000B56FCD6E0ECDE80EC2090FEBC97323720B
|
||||
:100F200023E521F31134E1C9CD6E0E21F311360012
|
||||
:100F300023FE0DCA6D0FFE2CC2460F3E8032F31108
|
||||
:100F4000110000C3490FCD050FCD1D0FFE0DCA6D59
|
||||
:100F50000FCD6E0ECD050FCD1D0FFE0DCA6D0FCD41
|
||||
:100F60006E0ECD050FCD1D0FFE0DC2320E11F31109
|
||||
:100F70001AFE81CA320E13B7070FC9E5215B10585C
|
||||
:100F80001600194E216F127EEBE1C9CD7B0F0DCA01
|
||||
:100F9000960F1FC38E0FE601C9D6062156105F16A5
|
||||
:100FA00000195E16FF21771219C9CD990F5E2356DD
|
||||
:100FB000EBC97ECD580E78FE05D2C30FCD8B0FCD79
|
||||
:100FC000870EC9F53E3DCD580EF1C2D50F217012E6
|
||||
:100FD0007ECD960EC9CDAA0FCDC60EC9214B1006E7
|
||||
:100FE00000CDA60EC5E5CDB20FE1C1042378FE0BFE
|
||||
:100FF000D2FE0FFE05DAE40FCD560EC3E40FCD5638
|
||||
:101000000ECD2011F5D5C5CDFD0AD21E102A7512C0
|
||||
:10101000220C0121100136FFCD0601C347102B22FF
|
||||
:10102000FC112A75127ECD960E23CDDD0EDA471007
|
||||
:10103000F5CD560EF1B3CA43105E2356EBCDC60E66
|
||||
:10104000C347107ECD960EC1D1F1C9435A4D4549D3
|
||||
:10105000414244485350F6F4FCFAFE0107080305E8
|
||||
:1010600021000022EA11C901F3227312E12B22753B
|
||||
:1010700012F521020039F1317312E5F5C5D52A7553
|
||||
:10108000123A6710BE7EF5E521EC117E3600B7CA34
|
||||
:101090009F103D47235E2356237E1278C38E10E1B6
|
||||
:1010A000F1CAC31023227512EB21A8074E2346CDA7
|
||||
:1010B000E709DAC310CD60102AE711EB3E82B7379B
|
||||
:1010C000C3150AFB2AEA117CB5CAE9102B22EA11E2
|
||||
:1010D000CDB00EC2E9103AE911B7C2E310CD20112C
|
||||
:1010E000C3150ACDDC0FC3150ACD60103E2ACD58BA
|
||||
:1010F0000E2A7512CDFD0AD2FD10220C01CDC60EAE
|
||||
:101100002A731222FA11C33208110D0021CC117E6C
|
||||
:10111000A023BE23CA1C11141DC20F115A1600C9E8
|
||||
:101120002A75124623E5CD091121E61173213711E5
|
||||
:1011300019195E2356EBE953117B1153117B115999
|
||||
:10114000118D11A111C311C311C011C011B611C36A
|
||||
:1011500011B111CD6911C2C611CD7411C3C6113AB6
|
||||
:10116000A807BBC03AA907BAC9C1E15E235623E567
|
||||
:10117000C5C35F112A71125E2356C9CD6911CA8891
|
||||
:1011800011C1C53E02C3C811D1D5C3C6113A6710FB
|
||||
:10119000B878C29911AFC3CA11E6385F1600C3C64A
|
||||
:1011A000112A7312EBCD5F11C2C611C35911C3C608
|
||||
:1011B00011D1D5C3C611CD7411C1C53E02C3C8112A
|
||||
:1011C000D113D5D113D53E013C37E1C9FFC3C7C206
|
||||
:1011D000FFCDC7C4FFC9C7C7FFE9C706C7C6CF0150
|
||||
:0611E000E722C7C0F7D3AF
|
||||
:0112020020CB
|
||||
:1012260000C7C7C7C7C7C7C7C7C7C7C7C7C7C7C70F
|
||||
:10123600C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C738
|
||||
:10124600C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C728
|
||||
:10125600C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C718
|
||||
:10126600C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C708
|
||||
:03127600C70000AE
|
||||
:00010000FF
|
||||
|
||||
33
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddtnlst.sub
Normal file
33
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddtnlst.sub
Normal file
@@ -0,0 +1,33 @@
|
||||
mac b:ddt1asm $$pzsz
|
||||
era b:ddt1asm0.hex
|
||||
ren b:ddt1asm0.hex=b:ddt1asm.hex
|
||||
mac b:ddt1asm $$pzsz+r
|
||||
era b:ddt1asm1.hex
|
||||
ren b:ddt1asm1.hex=b:ddt1asm.hex
|
||||
mac b:ddt2mon $$pzsz
|
||||
era b:ddt2mon0.hex
|
||||
ren b:ddt2mon0.hex=b:ddt2mon.hex
|
||||
mac b:ddt2mon $$pzsz+r
|
||||
era b:ddt2mon1.hex
|
||||
ren b:ddt2mon1.hex=b:ddt2mon.hex
|
||||
pip b:relddt0.hex=b:ddt1asm0.hex[i],b:ddt2mon0.hex[h]
|
||||
pip b:relddt1.hex=b:ddt1asm1.hex[i],b:ddt2mon1.hex[h]
|
||||
pip b:relddt.hex=b:relddt0.hex,b:relddt1.hex
|
||||
genmod b:relddt.hex b:relddt.com
|
||||
genhex b:relddt 100
|
||||
era b:relddt0.hex
|
||||
ren b:relddt0.hex=b:relddt.hex
|
||||
genhex b:relddt 200
|
||||
era b:relddt1.hex
|
||||
ren b:relddt1.hex=b:relddt.hex
|
||||
mac b:ddt0mov $$pzsz
|
||||
era b:ddt0mov0.hex
|
||||
ren b:ddt0mov0.hex=b:ddt0mov.hex
|
||||
mac b:ddt0mov $$pzsz+r
|
||||
era b:ddt0mov1.hex
|
||||
ren b:ddt0mov1.hex=b:ddt0mov.hex
|
||||
pip b:relddt0.hex=b:relddt0.hex[i],b:ddt0mov0.hex[h]
|
||||
pip b:relddt1.hex=b:relddt1.hex[i],b:ddt0mov1.hex[h]
|
||||
pip b:relddt.hex=b:relddt0.hex,b:relddt1.hex
|
||||
genmod b:relddt.hex b:rdt.prl $$z1500
|
||||
|
||||
33
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddtx.sub
Normal file
33
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/ddtx.sub
Normal file
@@ -0,0 +1,33 @@
|
||||
;mac b:ddt1asm $$pp+s
|
||||
;era b:ddt1asm0.hex
|
||||
;ren b:ddt1asm0.hex=b:ddt1asm.hex
|
||||
;mac b:ddt1asm $$pzsz+r
|
||||
;era b:ddt1asm1.hex
|
||||
;ren b:ddt1asm1.hex=b:ddt1asm.hex
|
||||
mac b:ddt2mon $$pzsz
|
||||
;mac b:ddt2mon $$pp+s
|
||||
era b:ddt2mon0.hex
|
||||
ren b:ddt2mon0.hex=b:ddt2mon.hex
|
||||
mac b:ddt2mon $$pzsz+r
|
||||
era b:ddt2mon1.hex
|
||||
ren b:ddt2mon1.hex=b:ddt2mon.hex
|
||||
pip b:relddt0.hex=b:ddt1asm0.hex[i],b:ddt2mon0.hex[h]
|
||||
pip b:relddt1.hex=b:ddt1asm1.hex[i],b:ddt2mon1.hex[h]
|
||||
pip b:relddt.hex=b:relddt0.hex,b:relddt1.hex
|
||||
genmod b:relddt.hex b:relddt.com
|
||||
genhex b:relddt 100
|
||||
era b:relddt0.hex
|
||||
ren b:relddt0.hex=b:relddt.hex
|
||||
genhex b:relddt 200
|
||||
era b:relddt1.hex
|
||||
ren b:relddt1.hex=b:relddt.hex
|
||||
;mac b:ddt0mov $$pp+s
|
||||
;era b:ddt0mov0.hex
|
||||
;ren b:ddt0mov0.hex=b:ddt0mov.hex
|
||||
;mac b:ddt0mov $$pzsz+r
|
||||
;era b:ddt0mov1.hex
|
||||
;ren b:ddt0mov1.hex=b:ddt0mov.hex
|
||||
pip b:relddt0.hex=b:relddt0.hex[i],b:ddt0mov0.hex[h]
|
||||
pip b:relddt1.hex=b:relddt1.hex[i],b:ddt0mov1.hex[h]
|
||||
pip b:relddt.hex=b:relddt0.hex,b:relddt1.hex
|
||||
genmod b:relddt.hex b:rdt.prl $$z1500
|
||||
35
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/prlgen.sub
Normal file
35
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/prlgen.sub
Normal file
@@ -0,0 +1,35 @@
|
||||
era b:*.lst
|
||||
era b:*.lin
|
||||
era b:*.sym
|
||||
era b:*.bak
|
||||
isdd
|
||||
plm80 :f1:$1.plm pagewidth(80) debug
|
||||
cpm
|
||||
pip lst:=b:$1.lst
|
||||
pip lst:=nul:[p]
|
||||
era b:$1.lst
|
||||
isdd
|
||||
link :f1:$1.obj,:f1:x0100,plm80.lib to :f1:$11.mod
|
||||
locate :f1:$11.mod code(0100H) stacksize(100)
|
||||
era b:$11.mod
|
||||
objhex :f1:$11 to :f1:$11.hex
|
||||
link :f1:$1.obj,:f1:x0200,plm80.lib to :f1:$12.mod
|
||||
era b:$1.obj
|
||||
locate :f1:$12.mod code(0200H) stacksize(100)
|
||||
era b:$12.mod
|
||||
objhex :f1:$12 to :f1:$12.hex
|
||||
era b:$12
|
||||
cpm
|
||||
objcpm b:$11
|
||||
era b:$1*.
|
||||
pip lst:=b:$11.sym[pt8]
|
||||
pip lst:=b:$11.lin[pt8]
|
||||
pip lst:=nul:[p]
|
||||
era b:*.lin
|
||||
era b:*.sym
|
||||
pip b:$1.hex=b:$11.hex,b:$12.hex
|
||||
era b:$11.hex
|
||||
era b:$12.hex
|
||||
genmod b:$1.hex b:$1.prl $$1000
|
||||
era b:*.hex
|
||||
|
||||
29
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/prlgent.sub
Normal file
29
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/prlgent.sub
Normal file
@@ -0,0 +1,29 @@
|
||||
era b:*.lst
|
||||
era b:*.bak
|
||||
isdd
|
||||
;plm80 :f1:$1.plm debug nolist
|
||||
;era b:*.lst
|
||||
link :f1:$1.obj,:f1:x0100,plm80.lib to :f1:$11.mod
|
||||
locate :f1:$11.mod code(0100H) stacksize(100)
|
||||
era b:$11.mod
|
||||
objhex :f1:$11 to :f1:$11.hex
|
||||
link :f1:$1.obj,:f1:x0200,plm80.lib to :f1:$12.mod
|
||||
era b:$1.obj
|
||||
locate :f1:$12.mod code(0200H) stacksize(100)
|
||||
era b:$12.mod
|
||||
objhex :f1:$12 to :f1:$12.hex
|
||||
era b:$12
|
||||
cpm
|
||||
;objcpm b:$11
|
||||
era b:$1*.
|
||||
;pip lst:=b:$11.sym[pt8]
|
||||
;pip lst:=b:$11.lin[pt8]
|
||||
;pip lst:=nul:[p]
|
||||
era b:*.lin
|
||||
era b:*.sym
|
||||
pip b:$1.hex=b:$11.hex,b:$12.hex
|
||||
era b:$11.hex
|
||||
era b:$12.hex
|
||||
genmod b:$1.hex b:$1.prl $$1000
|
||||
era b:*.hex
|
||||
|
||||
699
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/relddt.hex
Normal file
699
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/relddt.hex
Normal file
@@ -0,0 +1,699 @@
|
||||
:100100000079110000000000000000000000000065
|
||||
:1001100000000000000000000000000000000000DF
|
||||
:1001200000000000000000000000000000000000CF
|
||||
:1001300000000000000000000000000000000000BF
|
||||
:1001400000000000000000000000000000000000AF
|
||||
:10015000000000000000000000000000000000009F
|
||||
:10016000000000000000000000000000000000008F
|
||||
:10017000000000000000000000000000000000007F
|
||||
:10018000000000000000000000000000000000006F
|
||||
:10019000000000000000000000000000000000005F
|
||||
:1001A000000000000000000000000000000000004F
|
||||
:1001B000000000000000000000000000000000003F
|
||||
:1001C000000000000000000000000000000000002F
|
||||
:1001D000000000000000000000000000000000001F
|
||||
:1001E000000000000000000000000000000000000F
|
||||
:1001F00000000000000000000000000000000000FF
|
||||
:10020000C38306000000C34F03C32405C148A1C136
|
||||
:1002100048B11FD21CF579CD8F06F1C9FE20C8FE6A
|
||||
:1002200009C8FE2CC8FE0DC8FE7FCA2405C90E0DE4
|
||||
:10023000CD15000E0ACD1500C9CD8C06FE0DCA18CD
|
||||
:1002400005CD1C00CA39000E04217A063620230D84
|
||||
:10025000C24C000E05217A0677CD8C06CD1C00CA53
|
||||
:100260006A00230DCA1805C358003A7A06FE20C951
|
||||
:10027000D630FE0AD8C6F9FE10D8C31805CD9806A8
|
||||
:100280003DC21805EB4E2346790504C9CD7D00C259
|
||||
:100290001805C9171717E638C917171717E630C911
|
||||
:1002A000EB2A7A06EB7BBEC2AF00237ABEC82B2BAB
|
||||
:1002B0002B0DC2A5000DC90604D5117A061ABEC2BF
|
||||
:1002C000CA00231305C2BD00D1C92305C2CA00114B
|
||||
:1002D000F8FF19D1130DC2B7000DC9C5CD3900CA39
|
||||
:1002E00018050E08216006CDA000C218050D79C1C1
|
||||
:1002F000C9C5CD3900CA18050E05217206CDB70053
|
||||
:10030000C218050D79C1C9CDF100FE04CA1805C98E
|
||||
:10031000CDF100FE03CA1805FE04C03DC9217A06CE
|
||||
:10032000117B060E021A7723130DC225011AFE2037
|
||||
:10033000C21805772150060E08CDA000C218050D81
|
||||
:1003400079CD9300C9CD1D01F5CD7D00F1F6C0C971
|
||||
:100350001A2A11007723221100C9CD8C06FE0DCA7E
|
||||
:100360004005FE2ECA4005CD3C00CA18050E1121DD
|
||||
:10037000A605114505CDB700C27E01C350010E0A86
|
||||
:1003800021CE05CDB700C29201CD5001CD8C00C366
|
||||
:1003900051010E0621E605CDB700C2AA01CD5001DC
|
||||
:1003A000CD7D00CD510178C351010E0121EA05CD6B
|
||||
:1003B000B700C2C601CDDB00CD9300470E40CDDBB8
|
||||
:1003C00000B1B0C351010E08210A06CDB700C2DC4E
|
||||
:1003D000010D79CD9300470E80C3BE010E0221129C
|
||||
:1003E00006CDB700C2F4010C0C0CCDDB00CD9300A0
|
||||
:1003F000B1C351010E01211606CDB700C21002CDC6
|
||||
:10040000DB00CD9300F606CD5101CD8C00C3510128
|
||||
:100410000E06212E06CDB700C2360279FE04DA237D
|
||||
:1004200002C60547CD0701CD9900B0CD5101E6CFF9
|
||||
:10043000FE01C0C3A0010E01213206CDB700C2519A
|
||||
:1004400002CD8C00FE08D21805CD9300F6C7C3512B
|
||||
:10045000010E02213E06CDB700C271020DC2650237
|
||||
:100460000EC1C367020EC5CD1001CD9900B1C351B5
|
||||
:10047000013A7A06FE4AC28102CD4501F602C38BDB
|
||||
:1004800002FE43C29602CD4501F604CD510179CD5D
|
||||
:10049000510178C35101FE52C21805CD1D01F6C0AD
|
||||
:1004A000C351012A0E00D5EB2A0C007B957A9CD211
|
||||
:1004B000B7022A1300F9C9D17E23220C00C93CE6F9
|
||||
:1004C00007FE06DAC802C603FE05DACF02C602C678
|
||||
:1004D000414FC3150047E6F00F0F0F0FC69027CE10
|
||||
:1004E00040274FCD150078E60FC69027CE40274F06
|
||||
:1004F000C3150006044ECD15002305C2F5020E20DB
|
||||
:10050000C315007AE6380F0F0FC9CD0303874F21BB
|
||||
:100510004206094ECD1500234ECD15000E20CD15F7
|
||||
:1005200000C31500CD0303E606FE06C2BE020E534D
|
||||
:10053000CD15000E50C31500CD2E002A0C007CCD29
|
||||
:10054000D5027DCDD5020E20CD1500CD1500C921D7
|
||||
:100550000000392213003A1000B7CA710321FFFFCF
|
||||
:10056000220E003CC271033C3210002A0C00C397DB
|
||||
:1005700003CD9E06C240052110007EB7CA83033515
|
||||
:10058000CA40052A0C00CDA106CD2E000E20CD15A7
|
||||
:1005900000CD1500CD3B03CDA30257214505011128
|
||||
:1005A00000BECAFD04230DC2A1030E0ABECAE9049F
|
||||
:1005B000230DC2AC030E06BECACE04230DC2B70380
|
||||
:1005C000E6C0FE40CAB404FE80CAA5047AE6C7D6D7
|
||||
:1005D00004CA96043DCA90043DCA7C047AE6C0CAA7
|
||||
:1005E0004A047AE607CA3F04D602CA3404D602CACD
|
||||
:1005F0002904D603CA1A047AE608C20B057AE6076C
|
||||
:100600004F3D21390609CDF302CD0303FE06C29FFB
|
||||
:1006100004213606CDF302C37103213206CDF30265
|
||||
:10062000CD0303CDD502C371030E43CD1500CD0A12
|
||||
:1006300003C3D9040E4ACD1500CD0A03C3D9040E55
|
||||
:1006400052CD1500CD0A03C37103211A067AE607BD
|
||||
:10065000CA0B057AE60F3DCA6E04FE03DA6104D6C2
|
||||
:100660000587874F09CDF302CD2403C37103CDF372
|
||||
:1006700002CD24030E2CCD1500C3D904211606CDBE
|
||||
:10068000F302CD0303CDBE020E2CCD1500C3F4043E
|
||||
:10069000211206C39904210E06CDF302CD0303CD2A
|
||||
:1006A000BE02C371037AE6380F4F21EE0509CDF380
|
||||
:1006B00002C3C50421EA05CDF302CD0303CDBE027A
|
||||
:1006C0000E2CCD15007AE607CDBE02C371037987E3
|
||||
:1006D000874F21CE0509CDF302CDA302F5CDA302AC
|
||||
:1006E00057F15FCD9506C371037987874F21A60522
|
||||
:1006F00009CDF302CDA302CD9206C371037987879A
|
||||
:100700004F21620509CDF302C37103217606CDF3B3
|
||||
:10071000027ACD9206C37103CD2E000E3FCD150097
|
||||
:100720002A1300F921000039221300CD38032211C9
|
||||
:1007300000CD8906CD5A012A1100220C00C32B05D9
|
||||
:100740002A1300F9C900070F171F272F373F76C953
|
||||
:10075000E3E9EBF3F9FBC6CED3D6DBDEE6EEF6FE3D
|
||||
:10076000222A323AC3CD454920205350484C4449AF
|
||||
:100770002020584348475043484C5854484C524511
|
||||
:100780005420484C5420434D432053544320434D60
|
||||
:100790004120444141205241522052414C2052526A
|
||||
:1007A0004320524C43204E4F5020435049204F523B
|
||||
:1007B000492058524920414E492053424920494E30
|
||||
:1007C0002020535549204F5554204143492041444E
|
||||
:1007D000492043414C4C4A4D50204C4441205354F5
|
||||
:1007E00041204C484C4453484C444D4F56204144C2
|
||||
:1007F0004420414443205355422053424220414E1D
|
||||
:100800004120585241204F524120434D5020494EE3
|
||||
:100810005220444352204D5649204C5849205354AD
|
||||
:100820004158494E5820444144204C444158444387
|
||||
:1008300058205253542050535720504F5020505559
|
||||
:1008400053484E5A5A204E434320504F5045502053
|
||||
:100850004D20422043204420452048204C204D205C
|
||||
:100860004120422020204420202048202020535096
|
||||
:100870002020505357203F3F3D200E09CD740CC916
|
||||
:10088000C3A206C3AA06C3680FC33D0DC36E0DC342
|
||||
:10089000580DC3960DC3C50DC3280EC3FE0DC3B0BE
|
||||
:1008A0000DC9E322E710E3C300002A77112E065E8C
|
||||
:1008B0002356EB22A80621A206220100210000EB0C
|
||||
:1008C000722B73AF32EC102A771124220C0022FA1B
|
||||
:1008D00010222411227511317311E5210200E52B3C
|
||||
:1008E0002B227311E5E522EA100E0CCDA206250E8F
|
||||
:1008F00000C2A2060E9ACDA20623237E070707F6A2
|
||||
:10090000C732670F2EFC445E2356210500195E2373
|
||||
:1009100056210F00197E87C6306F60368623360653
|
||||
:100920002A77112E5D7EFE20CA220B2A7711E5C39D
|
||||
:100930007F0A316B11CDFD09DA46071180062A774F
|
||||
:10094000112E06732372CDA60D3E2DCD580DCD3D33
|
||||
:100950000DCD6E0DFE0DCA3207D641DA320DFE1AEC
|
||||
:10096000D2320D5F160021700719195E2356EBE98C
|
||||
:10097000BA070208320D5608320DEC0800096B095F
|
||||
:100980009509320D320DD307C209120A320D320D0C
|
||||
:10099000320D560A510B9A0B960BBE0BEC0B5D0CED
|
||||
:1009A000320D320DE5D5C52A77112E5B36000E0FBC
|
||||
:1009B000EB1E5CCDA206C1D1E1C9CDFD09D2320D3D
|
||||
:1009C000CD280E3DC2320DCDFE0D220C00CD09000A
|
||||
:1009D000C33207CDFD09D2320DCD280ECAF707CD9F
|
||||
:1009E000FE0D220C003DCAF707CDFE0D220E003D84
|
||||
:1009F000C2320DAFC3F9073E0C321000CD0600C362
|
||||
:100A00003207CD280EFE02C2320DCDFE0DE5CDFE21
|
||||
:100A10000D3E01A5E1F5E57DE6073C473E010F05EA
|
||||
:100A2000C21E082A7711010101094E234611FE005A
|
||||
:100A30001909D147150E037AB71F577B1F5F0DC2E7
|
||||
:100A4000370819CD060AF178CA5008B677C33207BD
|
||||
:100A50002FA677C33207CD280ECA7508CDFE0DDA52
|
||||
:100A6000650822FA10E67F3DCA7508CDFE0D3DC22D
|
||||
:100A7000320DC380082AFA107DE6F06F11BF00190D
|
||||
:100A800022FC10CDA60DCDB00DC232072AFA1022DD
|
||||
:100A9000FE10CDC60DCD560D7ECD960D23CDDD0DB0
|
||||
:100AA000DAA9087DE60FC2950822FA102AFE10EB9B
|
||||
:100AB000CD560D1ACDCE0D132AFA107D93C2B30870
|
||||
:100AC0007C92C2B3082AFA10CDDD0DDA3207C38357
|
||||
:100AD00008CD280EFE03C2320DCDFE0DE5CDFE0D74
|
||||
:100AE000E5CDFE0DD1C1C97B917A98C9CDD1087CE5
|
||||
:100AF000B7C2320DCDE708DA32077D0203C3F4082E
|
||||
:100B0000CDA60DCD280ECDFE0DE5CDFE0DE5CDFE1D
|
||||
:100B10000D444DD1E1F3CA3109DA1F09227511E6FE
|
||||
:100B20007F3DCA3109CD42093DCA31095950CD42F4
|
||||
:100B300009316B11D1C1F1E1F92A7511E52A73115F
|
||||
:100B4000FBC9F5C521EC107E34B7CA5D09237E23AD
|
||||
:100B50004623BBC25D0978BAC25D097E12237323A6
|
||||
:100B600072231A773A670F12C1F1C9CD280EFE021F
|
||||
:100B7000C2320DCDFE0DE5CDFE0DD1E5CDA60D1990
|
||||
:100B8000CDC60DCD560DE1AF956F3E009C6719CDDA
|
||||
:100B9000C60DC332072A001122BE092A77112E5C26
|
||||
:100BA00022C0090E9811BE09CDA2067CB5C2320D35
|
||||
:100BB0002A77112E7C773EFF322611C332070000C0
|
||||
:100BC0000000CDD108CDE708DA32070A037723C346
|
||||
:100BD000C5092A77112E657EE67FFE48C0237EE692
|
||||
:100BE0007FFE45C0237EE67FFE58C9EB2A24117D97
|
||||
:100BF000937C9AEBC9CDEB09D0222411C9E52100E1
|
||||
:100C000000CDEB09E1C9F53E7F953E069CDA320D39
|
||||
:100C1000F1C92A7711E5110101194E2346C511FECC
|
||||
:100C2000001978B1CA330A0B7E25CD060A77242332
|
||||
:100C3000C3220AC1D1E5621478B1CA32070B7BE640
|
||||
:100C400007C2490AE37E23E36F7D176FD2520A1A67
|
||||
:100C5000841213C3380A3A2611B7CA320DCD280EB2
|
||||
:100C6000210000CA6D0A3DC2320DCDFE0DAF322605
|
||||
:100C700011EB2A7711EB19E51E800E1ACDA206CDD5
|
||||
:100C8000A407FEFFCA320DCDD209CABA0AE124E593
|
||||
:100C90002A7711EB1E5C0E14CDA206E1B7C2220B1F
|
||||
:100CA000EB2A7711EB1E800E801A13CD060A7723EC
|
||||
:100CB0000DC2A90ACDF509C38F0ACDEA0CFE1ACAE6
|
||||
:100CC000320DDE3AC2BA0A57E1E5CD020B5FCD0222
|
||||
:100CD0000BF5CD020BC14F097BB7C2E50A60692253
|
||||
:100CE0007511C3220BCD020BCD020BCD060A772363
|
||||
:100CF0001DC2E80ACD020BF5CDF509F1C2320DC3D4
|
||||
:100D0000BA0AC5E5D5CDEA0CCDF10D07070707E610
|
||||
:100D1000F0F5CDEA0CCDF10DC1B047D1825778E1A5
|
||||
:100D2000C1C921460B7EB7CA310BCD580D23C3254F
|
||||
:100D30000BCDA60D2A2411CDC60DCD560D2A751149
|
||||
:100D4000CDC60DC332070D0A4E45585420205043DE
|
||||
:100D500000CD280E3DC2320DCDFE0DCDA60DE5CD48
|
||||
:100D6000C60DCD560DE17EE5CD960DCD560DCD3D92
|
||||
:100D70000DCD6E0DE1FE0DCA920BFE2ECA3207E5B7
|
||||
:100D8000CD2B0E3DC2320DCDFE0D7CB7C2320D7D96
|
||||
:100D9000E17723C35B0BAFC39C0B3EFF32E910CD61
|
||||
:100DA000280E210000CAB50B3DC2320DCDFE0D7DCF
|
||||
:100DB000B4CA320D2B22EA10CDDC0EC31509CD28A2
|
||||
:100DC0000ECA220B3DC2320DCDFE0DEB2A77112447
|
||||
:100DD0007B956F7A9C67DA320DAF7D177C176F3E7B
|
||||
:100DE000001767CDA60DCDC60DC332073A2611B741
|
||||
:100DF000CA320DCD280ECA320D3DC2320D32261137
|
||||
:100E0000CDFE0D23E52A77112E5CEBD50E13CDA276
|
||||
:100E100006D1D50E16CDA2063CCA320DD1D50E0F85
|
||||
:100E2000CDA2063CCA320D2A771124D1C10B78B16C
|
||||
:100E3000CA510CC5D51E8006807E12132305C23907
|
||||
:100E40000CD1D5E50E15CDA206B7C2320DE1C32BEC
|
||||
:100E50000C0E10CDA2063CCA320DC33207CD6E0D6A
|
||||
:100E6000FE0DC26B0CCDDC0EC33207010B00214B13
|
||||
:100E70000FBECA7E0C23040DC2710CC3320DCD6EA1
|
||||
:100E80000DFE0DC2320DC5CDA60DCDB20ECD560D47
|
||||
:100E9000CD3D0DCD280EB7CA32073DC2320DCDFE75
|
||||
:100EA0000DC178FE05D2CF0C7CB7C2320D7DFE029B
|
||||
:100EB000D2320DCD7B0E67413EFECDC90CA44167F9
|
||||
:100EC0007DCDC90CB412C3320705C807C3C90CC213
|
||||
:100ED000DF0C7CB7C2320D7D21701177C33207E57C
|
||||
:100EE000CD990ED1732372C33207E5D5C5E52A77B4
|
||||
:100EF000112E5B7EE1E67FCA130D16005F2A771183
|
||||
:100F00002E80197EFE1ACA2D0D2A77112E5B34B75A
|
||||
:100F1000C32E0D0E142A7711EB1E5CCDA206B7C2AC
|
||||
:100F20002D0DE52A77112E5B77E1C3FA0C37C1D17D
|
||||
:100F3000E1C9CDA60D3E3FCD580DC3320711231197
|
||||
:100F40000E20AF121B0DC2430D1B0E0ACDA20621AF
|
||||
:100F50000411220011C93E20E5D5C55F0E02CDA2C5
|
||||
:100F600006C1D1E1C9FE7FC8FE61D8E65FC9E521AF
|
||||
:100F700003117EB73E0DCA850D352A00117E23224E
|
||||
:100F80000011CD650DE1C9FE0AD2910DC630C358DE
|
||||
:100F90000DC637C3580DF51F1F1F1FE60FCD870D58
|
||||
:100FA000F1E60FC3870D3E0DCD580D3E0AC3580D17
|
||||
:100FB000C5D5E50E0BCDA206E6010000000000003D
|
||||
:100FC00000E1D1C1C9EB7CCD960D7DC3960DFE7FAE
|
||||
:100FD000D2D80DFE20D2580D3E2EC3580DEB2AFC60
|
||||
:100FE000107D936F7C9AEBC9FE0DC8FE2CC8FE20C5
|
||||
:100FF000C9D630FE0AD8C6F9FE10D8C3320DEB5E52
|
||||
:10100000235623EBC9EB210000CDF10D2929292915
|
||||
:10101000B56FCD6E0DCDE80DC2090EEBC97323720D
|
||||
:1010200023E521F31034E1C9CD6E0D21F310360014
|
||||
:1010300023FE0DCA6D0EFE2CC2460E3E8032F3100A
|
||||
:10104000110000C3490ECD050ECD1D0EFE0DCA6D5B
|
||||
:101050000ECD6E0DCD050ECD1D0EFE0DCA6D0ECD45
|
||||
:101060006E0DCD050ECD1D0EFE0DC2320D11F3100D
|
||||
:101070001AFE81CA320D13B7070FC9E5215B0F585D
|
||||
:101080001600194E216F117EEBE1C9CD7B0E0DCA02
|
||||
:10109000960E1FC38E0EE601C9D60621560F5F16A7
|
||||
:1010A00000195E16FF21771119C9CD990E5E2356DE
|
||||
:1010B000EBC97ECD580D78FE05D2C30ECD8B0ECD7B
|
||||
:1010C000870DC9F53E3DCD580DF1C2D50E217011E9
|
||||
:1010D0007ECD960DC9CDAA0ECDC60DC9214B0F06EA
|
||||
:1010E00000CDA60DC5E5CDB20EE1C1042378FE0BFF
|
||||
:1010F000D2FE0EFE05DAE40ECD560DC3E40ECD563B
|
||||
:101100000DCD2010F5D5C5CDFD09D21E0F2A7511C4
|
||||
:10111000220C0021100036FFCD0600C3470F2B2202
|
||||
:10112000FC102A75117ECD960D23CDDD0DDA470F0B
|
||||
:10113000F5CD560DF1B3CA430F5E2356EBCDC60D68
|
||||
:10114000C3470F7ECD960DC1D1F1C9435A4D4549D4
|
||||
:10115000414244485350F6F4FCFAFE0107080305E7
|
||||
:1011600021000022EA10C901F3227311E12B22753C
|
||||
:1011700011F521020039F1317311E5F5C5D52A7554
|
||||
:10118000113A670FBE7EF5E521EC107E3600B7CA36
|
||||
:101190009F0F3D47235E2356237E1278C38E0FE1B7
|
||||
:1011A000F1CAC30F23227511EB21A8064E2346CDA9
|
||||
:1011B000E708DAC30FCD600F2AE710EB3E82B7379E
|
||||
:1011C000C31509FB2AEA107CB5CAE90F2B22EA10E5
|
||||
:1011D000CDB00DC2E90F3AE910B7C2E30FCD201030
|
||||
:1011E000C31509CDDC0EC31509CD600F3E2ACD58BD
|
||||
:1011F0000D2A7511CDFD09D2FD0F220C00CDC60DB3
|
||||
:101200002A731122FA10C33207110D0021CC107E6F
|
||||
:10121000A023BE23CA1C10141DC20F105A1600C9E9
|
||||
:101220002A75114623E5CD091021E61073213710E8
|
||||
:1012300019195E2356EBE953107B1053107B10599C
|
||||
:10124000108D10A110C310C310C010C010B610C371
|
||||
:1012500010B110CD6910C2C610CD7410C3C6103ABB
|
||||
:10126000A806BBC03AA906BAC9C1E15E235623E568
|
||||
:10127000C5C35F102A71115E2356C9CD6910CA8893
|
||||
:1012800010C1C53E02C3C810D1D5C3C6103A670FFE
|
||||
:10129000B878C29910AFC3CA10E6385F1600C3C64B
|
||||
:1012A000102A7311EBCD5F10C2C610C35910C3C60C
|
||||
:1012B00010D1D5C3C610CD7410C1C53E02C3C8102D
|
||||
:1012C000D113D5D113D53E013C37E1C9FFC3C7C205
|
||||
:1012D000FFCDC7C4FFC9C7C7FFE9C706C7C6CF014F
|
||||
:1012E000E722C7C0F7D30021000022DC1CC921FF80
|
||||
:1012F000FF22DA1C2A411C4DCDBA0701441CCDCA7D
|
||||
:10130000073A201CFEFFC20F1801A203CDAB082133
|
||||
:10131000641C360011AA03014D1CCD421532421C3B
|
||||
:101320002A3B1C22D81C00C7C7C7C7C7C7C7C7C727
|
||||
:10133000C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C73D
|
||||
:10134000C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C72D
|
||||
:10135000C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C71D
|
||||
:10136000C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C70D
|
||||
:10137000C7C7C7C7C7C7C7000020900040000821E3
|
||||
:10138000109210211242480009100240001040083B
|
||||
:101390000841020082424809092042210120082216
|
||||
:1013A000121110108842484924249242492442498B
|
||||
:1013B0002084248410920910924849092082440410
|
||||
:1013C0002490908491084890908484442424204858
|
||||
:1013D0000804080800040020842008421092042118
|
||||
:1013E00024442404882224924224909244084108F0
|
||||
:1013F000210210111041084208089092492484905B
|
||||
:10140000921248204201249092490924924808925D
|
||||
:10141000490824089104811248112489212024922A
|
||||
:101420004920000000000000000000000000000053
|
||||
:1014300000000000000000000000000000000000AC
|
||||
:1014400000000000000000000024924924840804E9
|
||||
:101450009202449240108410801000000120244920
|
||||
:10146000248084908420805555555555555040040E
|
||||
:101470000922492492489222124848800024000000
|
||||
:1014800000442104924824490024924911209222C8
|
||||
:101490002109249091100212412488809209109011
|
||||
:1014A000110208042002042442240049242121209E
|
||||
:1014B00024092048000002011090110800020820B1
|
||||
:1014C00008100204890448880242482021100412AE
|
||||
:1014D00048420888084924122241200900084892FD
|
||||
:1014E000492400112448249042224204424112110E
|
||||
:1014F000249122008004922489210081102240201E
|
||||
:10150000008088844909208824844924448108244F
|
||||
:1015100008108242222040804100902104440808A3
|
||||
:10152000490082480080004088481084010421015D
|
||||
:101530000000442108800000040010092008240451
|
||||
:10154000210490924249090402020444040108045F
|
||||
:1015500012408911221080212490492424488910A6
|
||||
:1015600081220000000410804090204002111049A8
|
||||
:101570002022112489249092492482021020910073
|
||||
:10158000AAAAAAA492420012048109088091248484
|
||||
:1015900081000000000000000000000000000000CA
|
||||
:1015A000000000000000000000000000000000003B
|
||||
:1015B000000000000000000000000000000000002B
|
||||
:1015C000000000000000000000000000000000001B
|
||||
:1015D000000000000000000000000000000000000B
|
||||
:1015E00000000000000000000000000000000000FB
|
||||
:1015F00000000000000000000000000000000000EB
|
||||
|
||||
:0101000001FD
|
||||
:10010300C34401434F505952494748542028432977
|
||||
:1001130020313938302C204449474954414C20522E
|
||||
:10012300455345415243482020202020205B4D5019
|
||||
:100133002F4D5D20444454205645525320312E31D7
|
||||
:1001430024310002C5C51130010E09CD0500C121BE
|
||||
:1001530007007E3D90571E00D521000278B1CA6C7E
|
||||
:10016300010B7E121323C35F01D1C1E56278B1CACB
|
||||
:100173008E010B7BE607C28101E37E23E36F7D17CC
|
||||
:100183006FD28A011A841213C37001010000781B15
|
||||
:0501930012D12E00E96D
|
||||
:0000000000
|
||||
:100200000079110000000000000000000000000064
|
||||
:1002100000000000000000000000000000000000DE
|
||||
:1002200000000000000000000000000000000000CE
|
||||
:1002300000000000000000000000000000000000BE
|
||||
:1002400000000000000000000000000000000000AE
|
||||
:10025000000000000000000000000000000000009E
|
||||
:10026000000000000000000000000000000000008E
|
||||
:10027000000000000000000000000000000000007E
|
||||
:10028000000000000000000000000000000000006E
|
||||
:10029000000000000000000000000000000000005E
|
||||
:1002A000000000000000000000000000000000004E
|
||||
:1002B000000000000000000000000000000000003E
|
||||
:1002C000000000000000000000000000000000002E
|
||||
:1002D000000000000000000000000000000000001E
|
||||
:1002E000000000000000000000000000000000000E
|
||||
:1002F00000000000000000000000000000000000FE
|
||||
:10030000C38306000000C34F03C32405C148A1C135
|
||||
:1003100048B11FD21CF579CD8F06F1C9FE20C8FE69
|
||||
:1003200009C8FE2CC8FE0DC8FE7FCA2405C90E0DE3
|
||||
:10033000CD15000E0ACD1500C9CD8C06FE0DCA18CC
|
||||
:1003400005CD1C00CA39000E04217A063620230D83
|
||||
:10035000C24C000E05217A0677CD8C06CD1C00CA52
|
||||
:100360006A00230DCA1805C358003A7A06FE20C950
|
||||
:10037000D630FE0AD8C6F9FE10D8C31805CD9806A7
|
||||
:100380003DC21805EB4E2346790504C9CD7D00C258
|
||||
:100390001805C9171717E638C917171717E630C910
|
||||
:1003A000EB2A7A06EB7BBEC2AF00237ABEC82B2BAA
|
||||
:1003B0002B0DC2A5000DC90604D5117A061ABEC2BE
|
||||
:1003C000CA00231305C2BD00D1C92305C2CA00114A
|
||||
:1003D000F8FF19D1130DC2B7000DC9C5CD3900CA38
|
||||
:1003E00018050E08216006CDA000C218050D79C1C0
|
||||
:1003F000C9C5CD3900CA18050E05217206CDB70052
|
||||
:10040000C218050D79C1C9CDF100FE04CA1805C98D
|
||||
:10041000CDF100FE03CA1805FE04C03DC9217A06CD
|
||||
:10042000117B060E021A7723130DC225011AFE2036
|
||||
:10043000C21805772150060E08CDA000C218050D80
|
||||
:1004400079CD9300C9CD1D01F5CD7D00F1F6C0C970
|
||||
:100450001A2A11007723221100C9CD8C06FE0DCA7D
|
||||
:100460004005FE2ECA4005CD3C00CA18050E1121DC
|
||||
:10047000A605114505CDB700C27E01C350010E0A85
|
||||
:1004800021CE05CDB700C29201CD5001CD8C00C365
|
||||
:1004900051010E0621E605CDB700C2AA01CD5001DB
|
||||
:1004A000CD7D00CD510178C351010E0121EA05CD6A
|
||||
:1004B000B700C2C601CDDB00CD9300470E40CDDBB7
|
||||
:1004C00000B1B0C351010E08210A06CDB700C2DC4D
|
||||
:1004D000010D79CD9300470E80C3BE010E0221129B
|
||||
:1004E00006CDB700C2F4010C0C0CCDDB00CD93009F
|
||||
:1004F000B1C351010E01211606CDB700C21002CDC5
|
||||
:10050000DB00CD9300F606CD5101CD8C00C3510127
|
||||
:100510000E06212E06CDB700C2360279FE04DA237C
|
||||
:1005200002C60547CD0701CD9900B0CD5101E6CFF8
|
||||
:10053000FE01C0C3A0010E01213206CDB700C25199
|
||||
:1005400002CD8C00FE08D21805CD9300F6C7C3512A
|
||||
:10055000010E02213E06CDB700C271020DC2650236
|
||||
:100560000EC1C367020EC5CD1001CD9900B1C351B4
|
||||
:10057000013A7A06FE4AC28102CD4501F602C38BDA
|
||||
:1005800002FE43C29602CD4501F604CD510179CD5C
|
||||
:10059000510178C35101FE52C21805CD1D01F6C0AC
|
||||
:1005A000C351012A0E00D5EB2A0C007B957A9CD210
|
||||
:1005B000B7022A1300F9C9D17E23220C00C93CE6F8
|
||||
:1005C00007FE06DAC802C603FE05DACF02C602C677
|
||||
:1005D000414FC3150047E6F00F0F0F0FC69027CE0F
|
||||
:1005E00040274FCD150078E60FC69027CE40274F05
|
||||
:1005F000C3150006044ECD15002305C2F5020E20DA
|
||||
:10060000C315007AE6380F0F0FC9CD0303874F21BA
|
||||
:100610004206094ECD1500234ECD15000E20CD15F6
|
||||
:1006200000C31500CD0303E606FE06C2BE020E534C
|
||||
:10063000CD15000E50C31500CD2E002A0C007CCD28
|
||||
:10064000D5027DCDD5020E20CD1500CD1500C921D6
|
||||
:100650000000392213003A1000B7CA710321FFFFCE
|
||||
:10066000220E003CC271033C3210002A0C00C397DA
|
||||
:1006700003CD9E06C240052110007EB7CA83033514
|
||||
:10068000CA40052A0C00CDA106CD2E000E20CD15A6
|
||||
:1006900000CD1500CD3B03CDA30257214505011127
|
||||
:1006A00000BECAFD04230DC2A1030E0ABECAE9049E
|
||||
:1006B000230DC2AC030E06BECACE04230DC2B7037F
|
||||
:1006C000E6C0FE40CAB404FE80CAA5047AE6C7D6D6
|
||||
:1006D00004CA96043DCA90043DCA7C047AE6C0CAA6
|
||||
:1006E0004A047AE607CA3F04D602CA3404D602CACC
|
||||
:1006F0002904D603CA1A047AE608C20B057AE6076B
|
||||
:100700004F3D21390609CDF302CD0303FE06C29FFA
|
||||
:1007100004213606CDF302C37103213206CDF30264
|
||||
:10072000CD0303CDD502C371030E43CD1500CD0A11
|
||||
:1007300003C3D9040E4ACD1500CD0A03C3D9040E54
|
||||
:1007400052CD1500CD0A03C37103211A067AE607BC
|
||||
:10075000CA0B057AE60F3DCA6E04FE03DA6104D6C1
|
||||
:100760000587874F09CDF302CD2403C37103CDF371
|
||||
:1007700002CD24030E2CCD1500C3D904211606CDBD
|
||||
:10078000F302CD0303CDBE020E2CCD1500C3F4043D
|
||||
:10079000211206C39904210E06CDF302CD0303CD29
|
||||
:1007A000BE02C371037AE6380F4F21EE0509CDF37F
|
||||
:1007B00002C3C50421EA05CDF302CD0303CDBE0279
|
||||
:1007C0000E2CCD15007AE607CDBE02C371037987E2
|
||||
:1007D000874F21CE0509CDF302CDA302F5CDA302AB
|
||||
:1007E00057F15FCD9506C371037987874F21A60521
|
||||
:1007F00009CDF302CDA302CD9206C3710379878799
|
||||
:100800004F21620509CDF302C37103217606CDF3B2
|
||||
:10081000027ACD9206C37103CD2E000E3FCD150096
|
||||
:100820002A1300F921000039221300CD38032211C8
|
||||
:1008300000CD8906CD5A012A1100220C00C32B05D8
|
||||
:100840002A1300F9C900070F171F272F373F76C952
|
||||
:10085000E3E9EBF3F9FBC6CED3D6DBDEE6EEF6FE3C
|
||||
:10086000222A323AC3CD454920205350484C4449AE
|
||||
:100870002020584348475043484C5854484C524510
|
||||
:100880005420484C5420434D432053544320434D5F
|
||||
:100890004120444141205241522052414C20525269
|
||||
:1008A0004320524C43204E4F5020435049204F523A
|
||||
:1008B000492058524920414E492053424920494E2F
|
||||
:1008C0002020535549204F5554204143492041444D
|
||||
:1008D000492043414C4C4A4D50204C4441205354F4
|
||||
:1008E00041204C484C4453484C444D4F56204144C1
|
||||
:1008F0004420414443205355422053424220414E1C
|
||||
:100900004120585241204F524120434D5020494EE2
|
||||
:100910005220444352204D5649204C5849205354AC
|
||||
:100920004158494E5820444144204C444158444386
|
||||
:1009300058205253542050535720504F5020505558
|
||||
:1009400053484E5A5A204E434320504F5045502052
|
||||
:100950004D20422043204420452048204C204D205B
|
||||
:100960004120422020204420202048202020535095
|
||||
:100970002020505357203F3F3D200E09CD740CC915
|
||||
:10098000C3A206C3AA06C3680FC33D0DC36E0DC341
|
||||
:10099000580DC3960DC3C50DC3280EC3FE0DC3B0BD
|
||||
:1009A0000DC9E322E710E3C300002A77112E065E8B
|
||||
:1009B0002356EB22A80621A206220100210000EB0B
|
||||
:1009C000722B73AF32EC102A771124220C0022FA1A
|
||||
:1009D00010222411227511317311E5210200E52B3B
|
||||
:1009E0002B227311E5E522EA100E0CCDA206250E8E
|
||||
:1009F00000C2A2060E9ACDA20623237E070707F6A1
|
||||
:100A0000C732670F2EFC445E2356210500195E2372
|
||||
:100A100056210F00197E87C6306F60368623360652
|
||||
:100A20002A77112E5D7EFE20CA220B2A7711E5C39C
|
||||
:100A30007F0A316B11CDFD09DA46071180062A774E
|
||||
:100A4000112E06732372CDA60D3E2DCD580DCD3D32
|
||||
:100A50000DCD6E0DFE0DCA3207D641DA320DFE1AEB
|
||||
:100A6000D2320D5F160021700719195E2356EBE98B
|
||||
:100A7000BA070208320D5608320DEC0800096B095E
|
||||
:100A80009509320D320DD307C209120A320D320D0B
|
||||
:100A9000320D560A510B9A0B960BBE0BEC0B5D0CEC
|
||||
:100AA000320D320DE5D5C52A77112E5B36000E0FBB
|
||||
:100AB000EB1E5CCDA206C1D1E1C9CDFD09D2320D3C
|
||||
:100AC000CD280E3DC2320DCDFE0D220C00CD090009
|
||||
:100AD000C33207CDFD09D2320DCD280ECAF707CD9E
|
||||
:100AE000FE0D220C003DCAF707CDFE0D220E003D83
|
||||
:100AF000C2320DAFC3F9073E0C321000CD0600C361
|
||||
:100B00003207CD280EFE02C2320DCDFE0DE5CDFE20
|
||||
:100B10000D3E01A5E1F5E57DE6073C473E010F05E9
|
||||
:100B2000C21E082A7711010101094E234611FE0059
|
||||
:100B30001909D147150E037AB71F577B1F5F0DC2E6
|
||||
:100B4000370819CD060AF178CA5008B677C33207BC
|
||||
:100B50002FA677C33207CD280ECA7508CDFE0DDA51
|
||||
:100B6000650822FA10E67F3DCA7508CDFE0D3DC22C
|
||||
:100B7000320DC380082AFA107DE6F06F11BF00190C
|
||||
:100B800022FC10CDA60DCDB00DC232072AFA1022DC
|
||||
:100B9000FE10CDC60DCD560D7ECD960D23CDDD0DAF
|
||||
:100BA000DAA9087DE60FC2950822FA102AFE10EB9A
|
||||
:100BB000CD560D1ACDCE0D132AFA107D93C2B3086F
|
||||
:100BC0007C92C2B3082AFA10CDDD0DDA3207C38356
|
||||
:100BD00008CD280EFE03C2320DCDFE0DE5CDFE0D73
|
||||
:100BE000E5CDFE0DD1C1C97B917A98C9CDD1087CE4
|
||||
:100BF000B7C2320DCDE708DA32077D0203C3F4082D
|
||||
:100C0000CDA60DCD280ECDFE0DE5CDFE0DE5CDFE1C
|
||||
:100C10000D444DD1E1F3CA3109DA1F09227511E6FD
|
||||
:100C20007F3DCA3109CD42093DCA31095950CD42F3
|
||||
:100C300009316B11D1C1F1E1F92A7511E52A73115E
|
||||
:100C4000FBC9F5C521EC107E34B7CA5D09237E23AC
|
||||
:100C50004623BBC25D0978BAC25D097E12237323A5
|
||||
:100C600072231A773A670F12C1F1C9CD280EFE021E
|
||||
:100C7000C2320DCDFE0DE5CDFE0DD1E5CDA60D198F
|
||||
:100C8000CDC60DCD560DE1AF956F3E009C6719CDD9
|
||||
:100C9000C60DC332072A001122BE092A77112E5C25
|
||||
:100CA00022C0090E9811BE09CDA2067CB5C2320D34
|
||||
:100CB0002A77112E7C773EFF322611C332070000BF
|
||||
:100CC0000000CDD108CDE708DA32070A037723C345
|
||||
:100CD000C5092A77112E657EE67FFE48C0237EE691
|
||||
:100CE0007FFE45C0237EE67FFE58C9EB2A24117D96
|
||||
:100CF000937C9AEBC9CDEB09D0222411C9E52100E0
|
||||
:100D000000CDEB09E1C9F53E7F953E069CDA320D38
|
||||
:100D1000F1C92A7711E5110101194E2346C511FECB
|
||||
:100D2000001978B1CA330A0B7E25CD060A77242331
|
||||
:100D3000C3220AC1D1E5621478B1CA32070B7BE63F
|
||||
:100D400007C2490AE37E23E36F7D176FD2520A1A66
|
||||
:100D5000841213C3380A3A2611B7CA320DCD280EB1
|
||||
:100D6000210000CA6D0A3DC2320DCDFE0DAF322604
|
||||
:100D700011EB2A7711EB19E51E800E1ACDA206CDD4
|
||||
:100D8000A407FEFFCA320DCDD209CABA0AE124E592
|
||||
:100D90002A7711EB1E5C0E14CDA206E1B7C2220B1E
|
||||
:100DA000EB2A7711EB1E800E801A13CD060A7723EB
|
||||
:100DB0000DC2A90ACDF509C38F0ACDEA0CFE1ACAE5
|
||||
:100DC000320DDE3AC2BA0A57E1E5CD020B5FCD0221
|
||||
:100DD0000BF5CD020BC14F097BB7C2E50A60692252
|
||||
:100DE0007511C3220BCD020BCD020BCD060A772362
|
||||
:100DF0001DC2E80ACD020BF5CDF509F1C2320DC3D3
|
||||
:100E0000BA0AC5E5D5CDEA0CCDF10D07070707E60F
|
||||
:100E1000F0F5CDEA0CCDF10DC1B047D1825778E1A4
|
||||
:100E2000C1C921460B7EB7CA310BCD580D23C3254E
|
||||
:100E30000BCDA60D2A2411CDC60DCD560D2A751148
|
||||
:100E4000CDC60DC332070D0A4E45585420205043DD
|
||||
:100E500000CD280E3DC2320DCDFE0DCDA60DE5CD47
|
||||
:100E6000C60DCD560DE17EE5CD960DCD560DCD3D91
|
||||
:100E70000DCD6E0DE1FE0DCA920BFE2ECA3207E5B6
|
||||
:100E8000CD2B0E3DC2320DCDFE0D7CB7C2320D7D95
|
||||
:100E9000E17723C35B0BAFC39C0B3EFF32E910CD60
|
||||
:100EA000280E210000CAB50B3DC2320DCDFE0D7DCE
|
||||
:100EB000B4CA320D2B22EA10CDDC0EC31509CD28A1
|
||||
:100EC0000ECA220B3DC2320DCDFE0DEB2A77112446
|
||||
:100ED0007B956F7A9C67DA320DAF7D177C176F3E7A
|
||||
:100EE000001767CDA60DCDC60DC332073A2611B740
|
||||
:100EF000CA320DCD280ECA320D3DC2320D32261136
|
||||
:100F0000CDFE0D23E52A77112E5CEBD50E13CDA275
|
||||
:100F100006D1D50E16CDA2063CCA320DD1D50E0F84
|
||||
:100F2000CDA2063CCA320D2A771124D1C10B78B16B
|
||||
:100F3000CA510CC5D51E8006807E12132305C23906
|
||||
:100F40000CD1D5E50E15CDA206B7C2320DE1C32BEB
|
||||
:100F50000C0E10CDA2063CCA320DC33207CD6E0D69
|
||||
:100F6000FE0DC26B0CCDDC0EC33207010B00214B12
|
||||
:100F70000FBECA7E0C23040DC2710CC3320DCD6EA0
|
||||
:100F80000DFE0DC2320DC5CDA60DCDB20ECD560D46
|
||||
:100F9000CD3D0DCD280EB7CA32073DC2320DCDFE74
|
||||
:100FA0000DC178FE05D2CF0C7CB7C2320D7DFE029A
|
||||
:100FB000D2320DCD7B0E67413EFECDC90CA44167F8
|
||||
:100FC0007DCDC90CB412C3320705C807C3C90CC212
|
||||
:100FD000DF0C7CB7C2320D7D21701177C33207E57B
|
||||
:100FE000CD990ED1732372C33207E5D5C5E52A77B3
|
||||
:100FF000112E5B7EE1E67FCA130D16005F2A771182
|
||||
:101000002E80197EFE1ACA2D0D2A77112E5B34B759
|
||||
:10101000C32E0D0E142A7711EB1E5CCDA206B7C2AB
|
||||
:101020002D0DE52A77112E5B77E1C3FA0C37C1D17C
|
||||
:10103000E1C9CDA60D3E3FCD580DC3320711231196
|
||||
:101040000E20AF121B0DC2430D1B0E0ACDA20621AE
|
||||
:101050000411220011C93E20E5D5C55F0E02CDA2C4
|
||||
:1010600006C1D1E1C9FE7FC8FE61D8E65FC9E521AE
|
||||
:1010700003117EB73E0DCA850D352A00117E23224D
|
||||
:101080000011CD650DE1C9FE0AD2910DC630C358DD
|
||||
:101090000DC637C3580DF51F1F1F1FE60FCD870D57
|
||||
:1010A000F1E60FC3870D3E0DCD580D3E0AC3580D16
|
||||
:1010B000C5D5E50E0BCDA206E6010000000000003C
|
||||
:1010C00000E1D1C1C9EB7CCD960D7DC3960DFE7FAD
|
||||
:1010D000D2D80DFE20D2580D3E2EC3580DEB2AFC5F
|
||||
:1010E000107D936F7C9AEBC9FE0DC8FE2CC8FE20C4
|
||||
:1010F000C9D630FE0AD8C6F9FE10D8C3320DEB5E51
|
||||
:10110000235623EBC9EB210000CDF10D2929292914
|
||||
:10111000B56FCD6E0DCDE80DC2090EEBC97323720C
|
||||
:1011200023E521F31034E1C9CD6E0D21F310360013
|
||||
:1011300023FE0DCA6D0EFE2CC2460E3E8032F31009
|
||||
:10114000110000C3490ECD050ECD1D0EFE0DCA6D5A
|
||||
:101150000ECD6E0DCD050ECD1D0EFE0DCA6D0ECD44
|
||||
:101160006E0DCD050ECD1D0EFE0DC2320D11F3100C
|
||||
:101170001AFE81CA320D13B7070FC9E5215B0F585C
|
||||
:101180001600194E216F117EEBE1C9CD7B0E0DCA01
|
||||
:10119000960E1FC38E0EE601C9D60621560F5F16A6
|
||||
:1011A00000195E16FF21771119C9CD990E5E2356DD
|
||||
:1011B000EBC97ECD580D78FE05D2C30ECD8B0ECD7A
|
||||
:1011C000870DC9F53E3DCD580DF1C2D50E217011E8
|
||||
:1011D0007ECD960DC9CDAA0ECDC60DC9214B0F06E9
|
||||
:1011E00000CDA60DC5E5CDB20EE1C1042378FE0BFE
|
||||
:1011F000D2FE0EFE05DAE40ECD560DC3E40ECD563A
|
||||
:101200000DCD2010F5D5C5CDFD09D21E0F2A7511C3
|
||||
:10121000220C0021100036FFCD0600C3470F2B2201
|
||||
:10122000FC102A75117ECD960D23CDDD0DDA470F0A
|
||||
:10123000F5CD560DF1B3CA430F5E2356EBCDC60D67
|
||||
:10124000C3470F7ECD960DC1D1F1C9435A4D4549D3
|
||||
:10125000414244485350F6F4FCFAFE0107080305E6
|
||||
:1012600021000022EA10C901F3227311E12B22753B
|
||||
:1012700011F521020039F1317311E5F5C5D52A7553
|
||||
:10128000113A670FBE7EF5E521EC107E3600B7CA35
|
||||
:101290009F0F3D47235E2356237E1278C38E0FE1B6
|
||||
:1012A000F1CAC30F23227511EB21A8064E2346CDA8
|
||||
:1012B000E708DAC30FCD600F2AE710EB3E82B7379D
|
||||
:1012C000C31509FB2AEA107CB5CAE90F2B22EA10E4
|
||||
:1012D000CDB00DC2E90F3AE910B7C2E30FCD20102F
|
||||
:1012E000C31509CDDC0EC31509CD600F3E2ACD58BC
|
||||
:1012F0000D2A7511CDFD09D2FD0F220C00CDC60DB2
|
||||
:101300002A731122FA10C33207110D0021CC107E6E
|
||||
:10131000A023BE23CA1C10141DC20F105A1600C9E8
|
||||
:101320002A75114623E5CD091021E61073213710E7
|
||||
:1013300019195E2356EBE953107B1053107B10599B
|
||||
:10134000108D10A110C310C310C010C010B610C370
|
||||
:1013500010B110CD6910C2C610CD7410C3C6103ABA
|
||||
:10136000A806BBC03AA906BAC9C1E15E235623E567
|
||||
:10137000C5C35F102A71115E2356C9CD6910CA8892
|
||||
:1013800010C1C53E02C3C810D1D5C3C6103A670FFD
|
||||
:10139000B878C29910AFC3CA10E6385F1600C3C64A
|
||||
:1013A000102A7311EBCD5F10C2C610C35910C3C60B
|
||||
:1013B00010D1D5C3C610CD7410C1C53E02C3C8102C
|
||||
:1013C000D113D5D113D53E013C37E1C9FFC3C7C204
|
||||
:1013D000FFCDC7C4FFC9C7C7FFE9C706C7C6CF014E
|
||||
:1013E000E722C7C0F7D30021000022DC1CC921FF7F
|
||||
:1013F000FF22DA1C2A411C4DCDBA0701441CCDCA7C
|
||||
:10140000073A201CFEFFC20F1801A203CDAB082132
|
||||
:10141000641C360011AA03014D1CCD421532421C3A
|
||||
:101420002A3B1C22D81C00C7C7C7C7C7C7C7C7C726
|
||||
:10143000C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C73C
|
||||
:10144000C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C72C
|
||||
:10145000C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C71C
|
||||
:10146000C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C70C
|
||||
:10147000C7C7C7C7C7C7C7000020900040000821E2
|
||||
:10148000109210211242480009100240001040083A
|
||||
:101490000841020082424809092042210120082215
|
||||
:1014A000121110108842484924249242492442498A
|
||||
:1014B000208424841092091092484909208244040F
|
||||
:1014C0002490908491084890908484442424204857
|
||||
:1014D0000804080800040020842008421092042117
|
||||
:1014E00024442404882224924224909244084108EF
|
||||
:1014F000210210111041084208089092492484905A
|
||||
:10150000921248204201249092490924924808925C
|
||||
:101510004908240891048112481124892120249229
|
||||
:101520004920000000000000000000000000000052
|
||||
:1015300000000000000000000000000000000000AB
|
||||
:1015400000000000000000000024924924840804E8
|
||||
:10155000920244924010841080100000012024491F
|
||||
:10156000248084908420805555555555555040040D
|
||||
:1015700009224924924892221248488000240000FF
|
||||
:1015800000442104924824490024924911209222C7
|
||||
:101590002109249091100212412488809209109010
|
||||
:1015A000110208042002042442240049242121209D
|
||||
:1015B00024092048000002011090110800020820B0
|
||||
:1015C00008100204890448880242482021100412AD
|
||||
:1015D00048420888084924122241200900084892FC
|
||||
:1015E000492400112448249042224204424112110D
|
||||
:1015F000249122008004922489210081102240201D
|
||||
:10160000008088844909208824844924448108244E
|
||||
:1016100008108242222040804100902104440808A2
|
||||
:10162000490082480080004088481084010421015C
|
||||
:101630000000442108800000040010092008240450
|
||||
:10164000210490924249090402020444040108045E
|
||||
:1016500012408911221080212490492424488910A5
|
||||
:1016600081220000000410804090204002111049A7
|
||||
:101670002022112489249092492482021020910072
|
||||
:10168000AAAAAAA492420012048109088091248483
|
||||
:1016900081000000000000000000000000000000C9
|
||||
:1016A000000000000000000000000000000000003A
|
||||
:1016B000000000000000000000000000000000002A
|
||||
:1016C000000000000000000000000000000000001A
|
||||
:1016D000000000000000000000000000000000000A
|
||||
:1016E00000000000000000000000000000000000FA
|
||||
:1016F00000000000000000000000000000000000EA
|
||||
|
||||
:0102000001FC
|
||||
:10020300C34402434F505952494748542028432975
|
||||
:1002130020313938302C204449474954414C20522D
|
||||
:10022300455345415243482020202020205B4D5018
|
||||
:100233002F4D5D20444454205645525320312E31D6
|
||||
:1002430024310003C5C51130020E09CD0501C121BA
|
||||
:1002530007017E3D90571E00D521000378B1CA6C7B
|
||||
:10026300020B7E121323C35F02D1C1E56278B1CAC8
|
||||
:100273008E020B7BE607C28102E37E23E36F7D17C9
|
||||
:100283006FD28A021A841213C37002010001781B11
|
||||
:0502930012D12E00E96C
|
||||
:00010000FF
|
||||
|
||||
351
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/relddt0.hex
Normal file
351
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/relddt0.hex
Normal file
@@ -0,0 +1,351 @@
|
||||
:100100000079110000000000000000000000000065
|
||||
:1001100000000000000000000000000000000000DF
|
||||
:1001200000000000000000000000000000000000CF
|
||||
:1001300000000000000000000000000000000000BF
|
||||
:1001400000000000000000000000000000000000AF
|
||||
:10015000000000000000000000000000000000009F
|
||||
:10016000000000000000000000000000000000008F
|
||||
:10017000000000000000000000000000000000007F
|
||||
:10018000000000000000000000000000000000006F
|
||||
:10019000000000000000000000000000000000005F
|
||||
:1001A000000000000000000000000000000000004F
|
||||
:1001B000000000000000000000000000000000003F
|
||||
:1001C000000000000000000000000000000000002F
|
||||
:1001D000000000000000000000000000000000001F
|
||||
:1001E000000000000000000000000000000000000F
|
||||
:1001F00000000000000000000000000000000000FF
|
||||
:10020000C38306000000C34F03C32405C148A1C136
|
||||
:1002100048B11FD21CF579CD8F06F1C9FE20C8FE6A
|
||||
:1002200009C8FE2CC8FE0DC8FE7FCA2405C90E0DE4
|
||||
:10023000CD15000E0ACD1500C9CD8C06FE0DCA18CD
|
||||
:1002400005CD1C00CA39000E04217A063620230D84
|
||||
:10025000C24C000E05217A0677CD8C06CD1C00CA53
|
||||
:100260006A00230DCA1805C358003A7A06FE20C951
|
||||
:10027000D630FE0AD8C6F9FE10D8C31805CD9806A8
|
||||
:100280003DC21805EB4E2346790504C9CD7D00C259
|
||||
:100290001805C9171717E638C917171717E630C911
|
||||
:1002A000EB2A7A06EB7BBEC2AF00237ABEC82B2BAB
|
||||
:1002B0002B0DC2A5000DC90604D5117A061ABEC2BF
|
||||
:1002C000CA00231305C2BD00D1C92305C2CA00114B
|
||||
:1002D000F8FF19D1130DC2B7000DC9C5CD3900CA39
|
||||
:1002E00018050E08216006CDA000C218050D79C1C1
|
||||
:1002F000C9C5CD3900CA18050E05217206CDB70053
|
||||
:10030000C218050D79C1C9CDF100FE04CA1805C98E
|
||||
:10031000CDF100FE03CA1805FE04C03DC9217A06CE
|
||||
:10032000117B060E021A7723130DC225011AFE2037
|
||||
:10033000C21805772150060E08CDA000C218050D81
|
||||
:1003400079CD9300C9CD1D01F5CD7D00F1F6C0C971
|
||||
:100350001A2A11007723221100C9CD8C06FE0DCA7E
|
||||
:100360004005FE2ECA4005CD3C00CA18050E1121DD
|
||||
:10037000A605114505CDB700C27E01C350010E0A86
|
||||
:1003800021CE05CDB700C29201CD5001CD8C00C366
|
||||
:1003900051010E0621E605CDB700C2AA01CD5001DC
|
||||
:1003A000CD7D00CD510178C351010E0121EA05CD6B
|
||||
:1003B000B700C2C601CDDB00CD9300470E40CDDBB8
|
||||
:1003C00000B1B0C351010E08210A06CDB700C2DC4E
|
||||
:1003D000010D79CD9300470E80C3BE010E0221129C
|
||||
:1003E00006CDB700C2F4010C0C0CCDDB00CD9300A0
|
||||
:1003F000B1C351010E01211606CDB700C21002CDC6
|
||||
:10040000DB00CD9300F606CD5101CD8C00C3510128
|
||||
:100410000E06212E06CDB700C2360279FE04DA237D
|
||||
:1004200002C60547CD0701CD9900B0CD5101E6CFF9
|
||||
:10043000FE01C0C3A0010E01213206CDB700C2519A
|
||||
:1004400002CD8C00FE08D21805CD9300F6C7C3512B
|
||||
:10045000010E02213E06CDB700C271020DC2650237
|
||||
:100460000EC1C367020EC5CD1001CD9900B1C351B5
|
||||
:10047000013A7A06FE4AC28102CD4501F602C38BDB
|
||||
:1004800002FE43C29602CD4501F604CD510179CD5D
|
||||
:10049000510178C35101FE52C21805CD1D01F6C0AD
|
||||
:1004A000C351012A0E00D5EB2A0C007B957A9CD211
|
||||
:1004B000B7022A1300F9C9D17E23220C00C93CE6F9
|
||||
:1004C00007FE06DAC802C603FE05DACF02C602C678
|
||||
:1004D000414FC3150047E6F00F0F0F0FC69027CE10
|
||||
:1004E00040274FCD150078E60FC69027CE40274F06
|
||||
:1004F000C3150006044ECD15002305C2F5020E20DB
|
||||
:10050000C315007AE6380F0F0FC9CD0303874F21BB
|
||||
:100510004206094ECD1500234ECD15000E20CD15F7
|
||||
:1005200000C31500CD0303E606FE06C2BE020E534D
|
||||
:10053000CD15000E50C31500CD2E002A0C007CCD29
|
||||
:10054000D5027DCDD5020E20CD1500CD1500C921D7
|
||||
:100550000000392213003A1000B7CA710321FFFFCF
|
||||
:10056000220E003CC271033C3210002A0C00C397DB
|
||||
:1005700003CD9E06C240052110007EB7CA83033515
|
||||
:10058000CA40052A0C00CDA106CD2E000E20CD15A7
|
||||
:1005900000CD1500CD3B03CDA30257214505011128
|
||||
:1005A00000BECAFD04230DC2A1030E0ABECAE9049F
|
||||
:1005B000230DC2AC030E06BECACE04230DC2B70380
|
||||
:1005C000E6C0FE40CAB404FE80CAA5047AE6C7D6D7
|
||||
:1005D00004CA96043DCA90043DCA7C047AE6C0CAA7
|
||||
:1005E0004A047AE607CA3F04D602CA3404D602CACD
|
||||
:1005F0002904D603CA1A047AE608C20B057AE6076C
|
||||
:100600004F3D21390609CDF302CD0303FE06C29FFB
|
||||
:1006100004213606CDF302C37103213206CDF30265
|
||||
:10062000CD0303CDD502C371030E43CD1500CD0A12
|
||||
:1006300003C3D9040E4ACD1500CD0A03C3D9040E55
|
||||
:1006400052CD1500CD0A03C37103211A067AE607BD
|
||||
:10065000CA0B057AE60F3DCA6E04FE03DA6104D6C2
|
||||
:100660000587874F09CDF302CD2403C37103CDF372
|
||||
:1006700002CD24030E2CCD1500C3D904211606CDBE
|
||||
:10068000F302CD0303CDBE020E2CCD1500C3F4043E
|
||||
:10069000211206C39904210E06CDF302CD0303CD2A
|
||||
:1006A000BE02C371037AE6380F4F21EE0509CDF380
|
||||
:1006B00002C3C50421EA05CDF302CD0303CDBE027A
|
||||
:1006C0000E2CCD15007AE607CDBE02C371037987E3
|
||||
:1006D000874F21CE0509CDF302CDA302F5CDA302AC
|
||||
:1006E00057F15FCD9506C371037987874F21A60522
|
||||
:1006F00009CDF302CDA302CD9206C371037987879A
|
||||
:100700004F21620509CDF302C37103217606CDF3B3
|
||||
:10071000027ACD9206C37103CD2E000E3FCD150097
|
||||
:100720002A1300F921000039221300CD38032211C9
|
||||
:1007300000CD8906CD5A012A1100220C00C32B05D9
|
||||
:100740002A1300F9C900070F171F272F373F76C953
|
||||
:10075000E3E9EBF3F9FBC6CED3D6DBDEE6EEF6FE3D
|
||||
:10076000222A323AC3CD454920205350484C4449AF
|
||||
:100770002020584348475043484C5854484C524511
|
||||
:100780005420484C5420434D432053544320434D60
|
||||
:100790004120444141205241522052414C2052526A
|
||||
:1007A0004320524C43204E4F5020435049204F523B
|
||||
:1007B000492058524920414E492053424920494E30
|
||||
:1007C0002020535549204F5554204143492041444E
|
||||
:1007D000492043414C4C4A4D50204C4441205354F5
|
||||
:1007E00041204C484C4453484C444D4F56204144C2
|
||||
:1007F0004420414443205355422053424220414E1D
|
||||
:100800004120585241204F524120434D5020494EE3
|
||||
:100810005220444352204D5649204C5849205354AD
|
||||
:100820004158494E5820444144204C444158444387
|
||||
:1008300058205253542050535720504F5020505559
|
||||
:1008400053484E5A5A204E434320504F5045502053
|
||||
:100850004D20422043204420452048204C204D205C
|
||||
:100860004120422020204420202048202020535096
|
||||
:100870002020505357203F3F3D200E09CD740CC916
|
||||
:10088000C3A206C3AA06C3680FC33D0DC36E0DC342
|
||||
:10089000580DC3960DC3C50DC3280EC3FE0DC3B0BE
|
||||
:1008A0000DC9E322E710E3C300002A77112E065E8C
|
||||
:1008B0002356EB22A80621A206220100210000EB0C
|
||||
:1008C000722B73AF32EC102A771124220C0022FA1B
|
||||
:1008D00010222411227511317311E5210200E52B3C
|
||||
:1008E0002B227311E5E522EA100E0CCDA206250E8F
|
||||
:1008F00000C2A2060E9ACDA20623237E070707F6A2
|
||||
:10090000C732670F2EFC445E2356210500195E2373
|
||||
:1009100056210F00197E87C6306F60368623360653
|
||||
:100920002A77112E5D7EFE20CA220B2A7711E5C39D
|
||||
:100930007F0A316B11CDFD09DA46071180062A774F
|
||||
:10094000112E06732372CDA60D3E2DCD580DCD3D33
|
||||
:100950000DCD6E0DFE0DCA3207D641DA320DFE1AEC
|
||||
:10096000D2320D5F160021700719195E2356EBE98C
|
||||
:10097000BA070208320D5608320DEC0800096B095F
|
||||
:100980009509320D320DD307C209120A320D320D0C
|
||||
:10099000320D560A510B9A0B960BBE0BEC0B5D0CED
|
||||
:1009A000320D320DE5D5C52A77112E5B36000E0FBC
|
||||
:1009B000EB1E5CCDA206C1D1E1C9CDFD09D2320D3D
|
||||
:1009C000CD280E3DC2320DCDFE0D220C00CD09000A
|
||||
:1009D000C33207CDFD09D2320DCD280ECAF707CD9F
|
||||
:1009E000FE0D220C003DCAF707CDFE0D220E003D84
|
||||
:1009F000C2320DAFC3F9073E0C321000CD0600C362
|
||||
:100A00003207CD280EFE02C2320DCDFE0DE5CDFE21
|
||||
:100A10000D3E01A5E1F5E57DE6073C473E010F05EA
|
||||
:100A2000C21E082A7711010101094E234611FE005A
|
||||
:100A30001909D147150E037AB71F577B1F5F0DC2E7
|
||||
:100A4000370819CD060AF178CA5008B677C33207BD
|
||||
:100A50002FA677C33207CD280ECA7508CDFE0DDA52
|
||||
:100A6000650822FA10E67F3DCA7508CDFE0D3DC22D
|
||||
:100A7000320DC380082AFA107DE6F06F11BF00190D
|
||||
:100A800022FC10CDA60DCDB00DC232072AFA1022DD
|
||||
:100A9000FE10CDC60DCD560D7ECD960D23CDDD0DB0
|
||||
:100AA000DAA9087DE60FC2950822FA102AFE10EB9B
|
||||
:100AB000CD560D1ACDCE0D132AFA107D93C2B30870
|
||||
:100AC0007C92C2B3082AFA10CDDD0DDA3207C38357
|
||||
:100AD00008CD280EFE03C2320DCDFE0DE5CDFE0D74
|
||||
:100AE000E5CDFE0DD1C1C97B917A98C9CDD1087CE5
|
||||
:100AF000B7C2320DCDE708DA32077D0203C3F4082E
|
||||
:100B0000CDA60DCD280ECDFE0DE5CDFE0DE5CDFE1D
|
||||
:100B10000D444DD1E1F3CA3109DA1F09227511E6FE
|
||||
:100B20007F3DCA3109CD42093DCA31095950CD42F4
|
||||
:100B300009316B11D1C1F1E1F92A7511E52A73115F
|
||||
:100B4000FBC9F5C521EC107E34B7CA5D09237E23AD
|
||||
:100B50004623BBC25D0978BAC25D097E12237323A6
|
||||
:100B600072231A773A670F12C1F1C9CD280EFE021F
|
||||
:100B7000C2320DCDFE0DE5CDFE0DD1E5CDA60D1990
|
||||
:100B8000CDC60DCD560DE1AF956F3E009C6719CDDA
|
||||
:100B9000C60DC332072A001122BE092A77112E5C26
|
||||
:100BA00022C0090E9811BE09CDA2067CB5C2320D35
|
||||
:100BB0002A77112E7C773EFF322611C332070000C0
|
||||
:100BC0000000CDD108CDE708DA32070A037723C346
|
||||
:100BD000C5092A77112E657EE67FFE48C0237EE692
|
||||
:100BE0007FFE45C0237EE67FFE58C9EB2A24117D97
|
||||
:100BF000937C9AEBC9CDEB09D0222411C9E52100E1
|
||||
:100C000000CDEB09E1C9F53E7F953E069CDA320D39
|
||||
:100C1000F1C92A7711E5110101194E2346C511FECC
|
||||
:100C2000001978B1CA330A0B7E25CD060A77242332
|
||||
:100C3000C3220AC1D1E5621478B1CA32070B7BE640
|
||||
:100C400007C2490AE37E23E36F7D176FD2520A1A67
|
||||
:100C5000841213C3380A3A2611B7CA320DCD280EB2
|
||||
:100C6000210000CA6D0A3DC2320DCDFE0DAF322605
|
||||
:100C700011EB2A7711EB19E51E800E1ACDA206CDD5
|
||||
:100C8000A407FEFFCA320DCDD209CABA0AE124E593
|
||||
:100C90002A7711EB1E5C0E14CDA206E1B7C2220B1F
|
||||
:100CA000EB2A7711EB1E800E801A13CD060A7723EC
|
||||
:100CB0000DC2A90ACDF509C38F0ACDEA0CFE1ACAE6
|
||||
:100CC000320DDE3AC2BA0A57E1E5CD020B5FCD0222
|
||||
:100CD0000BF5CD020BC14F097BB7C2E50A60692253
|
||||
:100CE0007511C3220BCD020BCD020BCD060A772363
|
||||
:100CF0001DC2E80ACD020BF5CDF509F1C2320DC3D4
|
||||
:100D0000BA0AC5E5D5CDEA0CCDF10D07070707E610
|
||||
:100D1000F0F5CDEA0CCDF10DC1B047D1825778E1A5
|
||||
:100D2000C1C921460B7EB7CA310BCD580D23C3254F
|
||||
:100D30000BCDA60D2A2411CDC60DCD560D2A751149
|
||||
:100D4000CDC60DC332070D0A4E45585420205043DE
|
||||
:100D500000CD280E3DC2320DCDFE0DCDA60DE5CD48
|
||||
:100D6000C60DCD560DE17EE5CD960DCD560DCD3D92
|
||||
:100D70000DCD6E0DE1FE0DCA920BFE2ECA3207E5B7
|
||||
:100D8000CD2B0E3DC2320DCDFE0D7CB7C2320D7D96
|
||||
:100D9000E17723C35B0BAFC39C0B3EFF32E910CD61
|
||||
:100DA000280E210000CAB50B3DC2320DCDFE0D7DCF
|
||||
:100DB000B4CA320D2B22EA10CDDC0EC31509CD28A2
|
||||
:100DC0000ECA220B3DC2320DCDFE0DEB2A77112447
|
||||
:100DD0007B956F7A9C67DA320DAF7D177C176F3E7B
|
||||
:100DE000001767CDA60DCDC60DC332073A2611B741
|
||||
:100DF000CA320DCD280ECA320D3DC2320D32261137
|
||||
:100E0000CDFE0D23E52A77112E5CEBD50E13CDA276
|
||||
:100E100006D1D50E16CDA2063CCA320DD1D50E0F85
|
||||
:100E2000CDA2063CCA320D2A771124D1C10B78B16C
|
||||
:100E3000CA510CC5D51E8006807E12132305C23907
|
||||
:100E40000CD1D5E50E15CDA206B7C2320DE1C32BEC
|
||||
:100E50000C0E10CDA2063CCA320DC33207CD6E0D6A
|
||||
:100E6000FE0DC26B0CCDDC0EC33207010B00214B13
|
||||
:100E70000FBECA7E0C23040DC2710CC3320DCD6EA1
|
||||
:100E80000DFE0DC2320DC5CDA60DCDB20ECD560D47
|
||||
:100E9000CD3D0DCD280EB7CA32073DC2320DCDFE75
|
||||
:100EA0000DC178FE05D2CF0C7CB7C2320D7DFE029B
|
||||
:100EB000D2320DCD7B0E67413EFECDC90CA44167F9
|
||||
:100EC0007DCDC90CB412C3320705C807C3C90CC213
|
||||
:100ED000DF0C7CB7C2320D7D21701177C33207E57C
|
||||
:100EE000CD990ED1732372C33207E5D5C5E52A77B4
|
||||
:100EF000112E5B7EE1E67FCA130D16005F2A771183
|
||||
:100F00002E80197EFE1ACA2D0D2A77112E5B34B75A
|
||||
:100F1000C32E0D0E142A7711EB1E5CCDA206B7C2AC
|
||||
:100F20002D0DE52A77112E5B77E1C3FA0C37C1D17D
|
||||
:100F3000E1C9CDA60D3E3FCD580DC3320711231197
|
||||
:100F40000E20AF121B0DC2430D1B0E0ACDA20621AF
|
||||
:100F50000411220011C93E20E5D5C55F0E02CDA2C5
|
||||
:100F600006C1D1E1C9FE7FC8FE61D8E65FC9E521AF
|
||||
:100F700003117EB73E0DCA850D352A00117E23224E
|
||||
:100F80000011CD650DE1C9FE0AD2910DC630C358DE
|
||||
:100F90000DC637C3580DF51F1F1F1FE60FCD870D58
|
||||
:100FA000F1E60FC3870D3E0DCD580D3E0AC3580D17
|
||||
:100FB000C5D5E50E0BCDA206E6010000000000003D
|
||||
:100FC00000E1D1C1C9EB7CCD960D7DC3960DFE7FAE
|
||||
:100FD000D2D80DFE20D2580D3E2EC3580DEB2AFC60
|
||||
:100FE000107D936F7C9AEBC9FE0DC8FE2CC8FE20C5
|
||||
:100FF000C9D630FE0AD8C6F9FE10D8C3320DEB5E52
|
||||
:10100000235623EBC9EB210000CDF10D2929292915
|
||||
:10101000B56FCD6E0DCDE80DC2090EEBC97323720D
|
||||
:1010200023E521F31034E1C9CD6E0D21F310360014
|
||||
:1010300023FE0DCA6D0EFE2CC2460E3E8032F3100A
|
||||
:10104000110000C3490ECD050ECD1D0EFE0DCA6D5B
|
||||
:101050000ECD6E0DCD050ECD1D0EFE0DCA6D0ECD45
|
||||
:101060006E0DCD050ECD1D0EFE0DC2320D11F3100D
|
||||
:101070001AFE81CA320D13B7070FC9E5215B0F585D
|
||||
:101080001600194E216F117EEBE1C9CD7B0E0DCA02
|
||||
:10109000960E1FC38E0EE601C9D60621560F5F16A7
|
||||
:1010A00000195E16FF21771119C9CD990E5E2356DE
|
||||
:1010B000EBC97ECD580D78FE05D2C30ECD8B0ECD7B
|
||||
:1010C000870DC9F53E3DCD580DF1C2D50E217011E9
|
||||
:1010D0007ECD960DC9CDAA0ECDC60DC9214B0F06EA
|
||||
:1010E00000CDA60DC5E5CDB20EE1C1042378FE0BFF
|
||||
:1010F000D2FE0EFE05DAE40ECD560DC3E40ECD563B
|
||||
:101100000DCD2010F5D5C5CDFD09D21E0F2A7511C4
|
||||
:10111000220C0021100036FFCD0600C3470F2B2202
|
||||
:10112000FC102A75117ECD960D23CDDD0DDA470F0B
|
||||
:10113000F5CD560DF1B3CA430F5E2356EBCDC60D68
|
||||
:10114000C3470F7ECD960DC1D1F1C9435A4D4549D4
|
||||
:10115000414244485350F6F4FCFAFE0107080305E7
|
||||
:1011600021000022EA10C901F3227311E12B22753C
|
||||
:1011700011F521020039F1317311E5F5C5D52A7554
|
||||
:10118000113A670FBE7EF5E521EC107E3600B7CA36
|
||||
:101190009F0F3D47235E2356237E1278C38E0FE1B7
|
||||
:1011A000F1CAC30F23227511EB21A8064E2346CDA9
|
||||
:1011B000E708DAC30FCD600F2AE710EB3E82B7379E
|
||||
:1011C000C31509FB2AEA107CB5CAE90F2B22EA10E5
|
||||
:1011D000CDB00DC2E90F3AE910B7C2E30FCD201030
|
||||
:1011E000C31509CDDC0EC31509CD600F3E2ACD58BD
|
||||
:1011F0000D2A7511CDFD09D2FD0F220C00CDC60DB3
|
||||
:101200002A731122FA10C33207110D0021CC107E6F
|
||||
:10121000A023BE23CA1C10141DC20F105A1600C9E9
|
||||
:101220002A75114623E5CD091021E61073213710E8
|
||||
:1012300019195E2356EBE953107B1053107B10599C
|
||||
:10124000108D10A110C310C310C010C010B610C371
|
||||
:1012500010B110CD6910C2C610CD7410C3C6103ABB
|
||||
:10126000A806BBC03AA906BAC9C1E15E235623E568
|
||||
:10127000C5C35F102A71115E2356C9CD6910CA8893
|
||||
:1012800010C1C53E02C3C810D1D5C3C6103A670FFE
|
||||
:10129000B878C29910AFC3CA10E6385F1600C3C64B
|
||||
:1012A000102A7311EBCD5F10C2C610C35910C3C60C
|
||||
:1012B00010D1D5C3C610CD7410C1C53E02C3C8102D
|
||||
:1012C000D113D5D113D53E013C37E1C9FFC3C7C205
|
||||
:1012D000FFCDC7C4FFC9C7C7FFE9C706C7C6CF014F
|
||||
:1012E000E722C7C0F7D30021000022DC1CC921FF80
|
||||
:1012F000FF22DA1C2A411C4DCDBA0701441CCDCA7D
|
||||
:10130000073A201CFEFFC20F1801A203CDAB082133
|
||||
:10131000641C360011AA03014D1CCD421532421C3B
|
||||
:101320002A3B1C22D81C00C7C7C7C7C7C7C7C7C727
|
||||
:10133000C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C73D
|
||||
:10134000C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C72D
|
||||
:10135000C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C71D
|
||||
:10136000C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C70D
|
||||
:10137000C7C7C7C7C7C7C7000020900040000821E3
|
||||
:10138000109210211242480009100240001040083B
|
||||
:101390000841020082424809092042210120082216
|
||||
:1013A000121110108842484924249242492442498B
|
||||
:1013B0002084248410920910924849092082440410
|
||||
:1013C0002490908491084890908484442424204858
|
||||
:1013D0000804080800040020842008421092042118
|
||||
:1013E00024442404882224924224909244084108F0
|
||||
:1013F000210210111041084208089092492484905B
|
||||
:10140000921248204201249092490924924808925D
|
||||
:10141000490824089104811248112489212024922A
|
||||
:101420004920000000000000000000000000000053
|
||||
:1014300000000000000000000000000000000000AC
|
||||
:1014400000000000000000000024924924840804E9
|
||||
:101450009202449240108410801000000120244920
|
||||
:10146000248084908420805555555555555040040E
|
||||
:101470000922492492489222124848800024000000
|
||||
:1014800000442104924824490024924911209222C8
|
||||
:101490002109249091100212412488809209109011
|
||||
:1014A000110208042002042442240049242121209E
|
||||
:1014B00024092048000002011090110800020820B1
|
||||
:1014C00008100204890448880242482021100412AE
|
||||
:1014D00048420888084924122241200900084892FD
|
||||
:1014E000492400112448249042224204424112110E
|
||||
:1014F000249122008004922489210081102240201E
|
||||
:10150000008088844909208824844924448108244F
|
||||
:1015100008108242222040804100902104440808A3
|
||||
:10152000490082480080004088481084010421015D
|
||||
:101530000000442108800000040010092008240451
|
||||
:10154000210490924249090402020444040108045F
|
||||
:1015500012408911221080212490492424488910A6
|
||||
:1015600081220000000410804090204002111049A8
|
||||
:101570002022112489249092492482021020910073
|
||||
:10158000AAAAAAA492420012048109088091248484
|
||||
:1015900081000000000000000000000000000000CA
|
||||
:1015A000000000000000000000000000000000003B
|
||||
:1015B000000000000000000000000000000000002B
|
||||
:1015C000000000000000000000000000000000001B
|
||||
:1015D000000000000000000000000000000000000B
|
||||
:1015E00000000000000000000000000000000000FB
|
||||
:1015F00000000000000000000000000000000000EB
|
||||
|
||||
:0101000001FD
|
||||
:10010300C34401434F505952494748542028432977
|
||||
:1001130020313938302C204449474954414C20522E
|
||||
:10012300455345415243482020202020205B4D5019
|
||||
:100133002F4D5D20444454205645525320312E31D7
|
||||
:1001430024310002C5C51130010E09CD0500C121BE
|
||||
:1001530007007E3D90571E00D521000278B1CA6C7E
|
||||
:10016300010B7E121323C35F01D1C1E56278B1CACB
|
||||
:100173008E010B7BE607C28101E37E23E36F7D17CC
|
||||
:100183006FD28A011A841213C37001010000781B15
|
||||
:0501930012D12E00E96D
|
||||
:0000000000
|
||||
|
||||
|
||||
351
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/relddt1.hex
Normal file
351
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/relddt1.hex
Normal file
@@ -0,0 +1,351 @@
|
||||
:100200000079110000000000000000000000000064
|
||||
:1002100000000000000000000000000000000000DE
|
||||
:1002200000000000000000000000000000000000CE
|
||||
:1002300000000000000000000000000000000000BE
|
||||
:1002400000000000000000000000000000000000AE
|
||||
:10025000000000000000000000000000000000009E
|
||||
:10026000000000000000000000000000000000008E
|
||||
:10027000000000000000000000000000000000007E
|
||||
:10028000000000000000000000000000000000006E
|
||||
:10029000000000000000000000000000000000005E
|
||||
:1002A000000000000000000000000000000000004E
|
||||
:1002B000000000000000000000000000000000003E
|
||||
:1002C000000000000000000000000000000000002E
|
||||
:1002D000000000000000000000000000000000001E
|
||||
:1002E000000000000000000000000000000000000E
|
||||
:1002F00000000000000000000000000000000000FE
|
||||
:10030000C38306000000C34F03C32405C148A1C135
|
||||
:1003100048B11FD21CF579CD8F06F1C9FE20C8FE69
|
||||
:1003200009C8FE2CC8FE0DC8FE7FCA2405C90E0DE3
|
||||
:10033000CD15000E0ACD1500C9CD8C06FE0DCA18CC
|
||||
:1003400005CD1C00CA39000E04217A063620230D83
|
||||
:10035000C24C000E05217A0677CD8C06CD1C00CA52
|
||||
:100360006A00230DCA1805C358003A7A06FE20C950
|
||||
:10037000D630FE0AD8C6F9FE10D8C31805CD9806A7
|
||||
:100380003DC21805EB4E2346790504C9CD7D00C258
|
||||
:100390001805C9171717E638C917171717E630C910
|
||||
:1003A000EB2A7A06EB7BBEC2AF00237ABEC82B2BAA
|
||||
:1003B0002B0DC2A5000DC90604D5117A061ABEC2BE
|
||||
:1003C000CA00231305C2BD00D1C92305C2CA00114A
|
||||
:1003D000F8FF19D1130DC2B7000DC9C5CD3900CA38
|
||||
:1003E00018050E08216006CDA000C218050D79C1C0
|
||||
:1003F000C9C5CD3900CA18050E05217206CDB70052
|
||||
:10040000C218050D79C1C9CDF100FE04CA1805C98D
|
||||
:10041000CDF100FE03CA1805FE04C03DC9217A06CD
|
||||
:10042000117B060E021A7723130DC225011AFE2036
|
||||
:10043000C21805772150060E08CDA000C218050D80
|
||||
:1004400079CD9300C9CD1D01F5CD7D00F1F6C0C970
|
||||
:100450001A2A11007723221100C9CD8C06FE0DCA7D
|
||||
:100460004005FE2ECA4005CD3C00CA18050E1121DC
|
||||
:10047000A605114505CDB700C27E01C350010E0A85
|
||||
:1004800021CE05CDB700C29201CD5001CD8C00C365
|
||||
:1004900051010E0621E605CDB700C2AA01CD5001DB
|
||||
:1004A000CD7D00CD510178C351010E0121EA05CD6A
|
||||
:1004B000B700C2C601CDDB00CD9300470E40CDDBB7
|
||||
:1004C00000B1B0C351010E08210A06CDB700C2DC4D
|
||||
:1004D000010D79CD9300470E80C3BE010E0221129B
|
||||
:1004E00006CDB700C2F4010C0C0CCDDB00CD93009F
|
||||
:1004F000B1C351010E01211606CDB700C21002CDC5
|
||||
:10050000DB00CD9300F606CD5101CD8C00C3510127
|
||||
:100510000E06212E06CDB700C2360279FE04DA237C
|
||||
:1005200002C60547CD0701CD9900B0CD5101E6CFF8
|
||||
:10053000FE01C0C3A0010E01213206CDB700C25199
|
||||
:1005400002CD8C00FE08D21805CD9300F6C7C3512A
|
||||
:10055000010E02213E06CDB700C271020DC2650236
|
||||
:100560000EC1C367020EC5CD1001CD9900B1C351B4
|
||||
:10057000013A7A06FE4AC28102CD4501F602C38BDA
|
||||
:1005800002FE43C29602CD4501F604CD510179CD5C
|
||||
:10059000510178C35101FE52C21805CD1D01F6C0AC
|
||||
:1005A000C351012A0E00D5EB2A0C007B957A9CD210
|
||||
:1005B000B7022A1300F9C9D17E23220C00C93CE6F8
|
||||
:1005C00007FE06DAC802C603FE05DACF02C602C677
|
||||
:1005D000414FC3150047E6F00F0F0F0FC69027CE0F
|
||||
:1005E00040274FCD150078E60FC69027CE40274F05
|
||||
:1005F000C3150006044ECD15002305C2F5020E20DA
|
||||
:10060000C315007AE6380F0F0FC9CD0303874F21BA
|
||||
:100610004206094ECD1500234ECD15000E20CD15F6
|
||||
:1006200000C31500CD0303E606FE06C2BE020E534C
|
||||
:10063000CD15000E50C31500CD2E002A0C007CCD28
|
||||
:10064000D5027DCDD5020E20CD1500CD1500C921D6
|
||||
:100650000000392213003A1000B7CA710321FFFFCE
|
||||
:10066000220E003CC271033C3210002A0C00C397DA
|
||||
:1006700003CD9E06C240052110007EB7CA83033514
|
||||
:10068000CA40052A0C00CDA106CD2E000E20CD15A6
|
||||
:1006900000CD1500CD3B03CDA30257214505011127
|
||||
:1006A00000BECAFD04230DC2A1030E0ABECAE9049E
|
||||
:1006B000230DC2AC030E06BECACE04230DC2B7037F
|
||||
:1006C000E6C0FE40CAB404FE80CAA5047AE6C7D6D6
|
||||
:1006D00004CA96043DCA90043DCA7C047AE6C0CAA6
|
||||
:1006E0004A047AE607CA3F04D602CA3404D602CACC
|
||||
:1006F0002904D603CA1A047AE608C20B057AE6076B
|
||||
:100700004F3D21390609CDF302CD0303FE06C29FFA
|
||||
:1007100004213606CDF302C37103213206CDF30264
|
||||
:10072000CD0303CDD502C371030E43CD1500CD0A11
|
||||
:1007300003C3D9040E4ACD1500CD0A03C3D9040E54
|
||||
:1007400052CD1500CD0A03C37103211A067AE607BC
|
||||
:10075000CA0B057AE60F3DCA6E04FE03DA6104D6C1
|
||||
:100760000587874F09CDF302CD2403C37103CDF371
|
||||
:1007700002CD24030E2CCD1500C3D904211606CDBD
|
||||
:10078000F302CD0303CDBE020E2CCD1500C3F4043D
|
||||
:10079000211206C39904210E06CDF302CD0303CD29
|
||||
:1007A000BE02C371037AE6380F4F21EE0509CDF37F
|
||||
:1007B00002C3C50421EA05CDF302CD0303CDBE0279
|
||||
:1007C0000E2CCD15007AE607CDBE02C371037987E2
|
||||
:1007D000874F21CE0509CDF302CDA302F5CDA302AB
|
||||
:1007E00057F15FCD9506C371037987874F21A60521
|
||||
:1007F00009CDF302CDA302CD9206C3710379878799
|
||||
:100800004F21620509CDF302C37103217606CDF3B2
|
||||
:10081000027ACD9206C37103CD2E000E3FCD150096
|
||||
:100820002A1300F921000039221300CD38032211C8
|
||||
:1008300000CD8906CD5A012A1100220C00C32B05D8
|
||||
:100840002A1300F9C900070F171F272F373F76C952
|
||||
:10085000E3E9EBF3F9FBC6CED3D6DBDEE6EEF6FE3C
|
||||
:10086000222A323AC3CD454920205350484C4449AE
|
||||
:100870002020584348475043484C5854484C524510
|
||||
:100880005420484C5420434D432053544320434D5F
|
||||
:100890004120444141205241522052414C20525269
|
||||
:1008A0004320524C43204E4F5020435049204F523A
|
||||
:1008B000492058524920414E492053424920494E2F
|
||||
:1008C0002020535549204F5554204143492041444D
|
||||
:1008D000492043414C4C4A4D50204C4441205354F4
|
||||
:1008E00041204C484C4453484C444D4F56204144C1
|
||||
:1008F0004420414443205355422053424220414E1C
|
||||
:100900004120585241204F524120434D5020494EE2
|
||||
:100910005220444352204D5649204C5849205354AC
|
||||
:100920004158494E5820444144204C444158444386
|
||||
:1009300058205253542050535720504F5020505558
|
||||
:1009400053484E5A5A204E434320504F5045502052
|
||||
:100950004D20422043204420452048204C204D205B
|
||||
:100960004120422020204420202048202020535095
|
||||
:100970002020505357203F3F3D200E09CD740CC915
|
||||
:10098000C3A206C3AA06C3680FC33D0DC36E0DC341
|
||||
:10099000580DC3960DC3C50DC3280EC3FE0DC3B0BD
|
||||
:1009A0000DC9E322E710E3C300002A77112E065E8B
|
||||
:1009B0002356EB22A80621A206220100210000EB0B
|
||||
:1009C000722B73AF32EC102A771124220C0022FA1A
|
||||
:1009D00010222411227511317311E5210200E52B3B
|
||||
:1009E0002B227311E5E522EA100E0CCDA206250E8E
|
||||
:1009F00000C2A2060E9ACDA20623237E070707F6A1
|
||||
:100A0000C732670F2EFC445E2356210500195E2372
|
||||
:100A100056210F00197E87C6306F60368623360652
|
||||
:100A20002A77112E5D7EFE20CA220B2A7711E5C39C
|
||||
:100A30007F0A316B11CDFD09DA46071180062A774E
|
||||
:100A4000112E06732372CDA60D3E2DCD580DCD3D32
|
||||
:100A50000DCD6E0DFE0DCA3207D641DA320DFE1AEB
|
||||
:100A6000D2320D5F160021700719195E2356EBE98B
|
||||
:100A7000BA070208320D5608320DEC0800096B095E
|
||||
:100A80009509320D320DD307C209120A320D320D0B
|
||||
:100A9000320D560A510B9A0B960BBE0BEC0B5D0CEC
|
||||
:100AA000320D320DE5D5C52A77112E5B36000E0FBB
|
||||
:100AB000EB1E5CCDA206C1D1E1C9CDFD09D2320D3C
|
||||
:100AC000CD280E3DC2320DCDFE0D220C00CD090009
|
||||
:100AD000C33207CDFD09D2320DCD280ECAF707CD9E
|
||||
:100AE000FE0D220C003DCAF707CDFE0D220E003D83
|
||||
:100AF000C2320DAFC3F9073E0C321000CD0600C361
|
||||
:100B00003207CD280EFE02C2320DCDFE0DE5CDFE20
|
||||
:100B10000D3E01A5E1F5E57DE6073C473E010F05E9
|
||||
:100B2000C21E082A7711010101094E234611FE0059
|
||||
:100B30001909D147150E037AB71F577B1F5F0DC2E6
|
||||
:100B4000370819CD060AF178CA5008B677C33207BC
|
||||
:100B50002FA677C33207CD280ECA7508CDFE0DDA51
|
||||
:100B6000650822FA10E67F3DCA7508CDFE0D3DC22C
|
||||
:100B7000320DC380082AFA107DE6F06F11BF00190C
|
||||
:100B800022FC10CDA60DCDB00DC232072AFA1022DC
|
||||
:100B9000FE10CDC60DCD560D7ECD960D23CDDD0DAF
|
||||
:100BA000DAA9087DE60FC2950822FA102AFE10EB9A
|
||||
:100BB000CD560D1ACDCE0D132AFA107D93C2B3086F
|
||||
:100BC0007C92C2B3082AFA10CDDD0DDA3207C38356
|
||||
:100BD00008CD280EFE03C2320DCDFE0DE5CDFE0D73
|
||||
:100BE000E5CDFE0DD1C1C97B917A98C9CDD1087CE4
|
||||
:100BF000B7C2320DCDE708DA32077D0203C3F4082D
|
||||
:100C0000CDA60DCD280ECDFE0DE5CDFE0DE5CDFE1C
|
||||
:100C10000D444DD1E1F3CA3109DA1F09227511E6FD
|
||||
:100C20007F3DCA3109CD42093DCA31095950CD42F3
|
||||
:100C300009316B11D1C1F1E1F92A7511E52A73115E
|
||||
:100C4000FBC9F5C521EC107E34B7CA5D09237E23AC
|
||||
:100C50004623BBC25D0978BAC25D097E12237323A5
|
||||
:100C600072231A773A670F12C1F1C9CD280EFE021E
|
||||
:100C7000C2320DCDFE0DE5CDFE0DD1E5CDA60D198F
|
||||
:100C8000CDC60DCD560DE1AF956F3E009C6719CDD9
|
||||
:100C9000C60DC332072A001122BE092A77112E5C25
|
||||
:100CA00022C0090E9811BE09CDA2067CB5C2320D34
|
||||
:100CB0002A77112E7C773EFF322611C332070000BF
|
||||
:100CC0000000CDD108CDE708DA32070A037723C345
|
||||
:100CD000C5092A77112E657EE67FFE48C0237EE691
|
||||
:100CE0007FFE45C0237EE67FFE58C9EB2A24117D96
|
||||
:100CF000937C9AEBC9CDEB09D0222411C9E52100E0
|
||||
:100D000000CDEB09E1C9F53E7F953E069CDA320D38
|
||||
:100D1000F1C92A7711E5110101194E2346C511FECB
|
||||
:100D2000001978B1CA330A0B7E25CD060A77242331
|
||||
:100D3000C3220AC1D1E5621478B1CA32070B7BE63F
|
||||
:100D400007C2490AE37E23E36F7D176FD2520A1A66
|
||||
:100D5000841213C3380A3A2611B7CA320DCD280EB1
|
||||
:100D6000210000CA6D0A3DC2320DCDFE0DAF322604
|
||||
:100D700011EB2A7711EB19E51E800E1ACDA206CDD4
|
||||
:100D8000A407FEFFCA320DCDD209CABA0AE124E592
|
||||
:100D90002A7711EB1E5C0E14CDA206E1B7C2220B1E
|
||||
:100DA000EB2A7711EB1E800E801A13CD060A7723EB
|
||||
:100DB0000DC2A90ACDF509C38F0ACDEA0CFE1ACAE5
|
||||
:100DC000320DDE3AC2BA0A57E1E5CD020B5FCD0221
|
||||
:100DD0000BF5CD020BC14F097BB7C2E50A60692252
|
||||
:100DE0007511C3220BCD020BCD020BCD060A772362
|
||||
:100DF0001DC2E80ACD020BF5CDF509F1C2320DC3D3
|
||||
:100E0000BA0AC5E5D5CDEA0CCDF10D07070707E60F
|
||||
:100E1000F0F5CDEA0CCDF10DC1B047D1825778E1A4
|
||||
:100E2000C1C921460B7EB7CA310BCD580D23C3254E
|
||||
:100E30000BCDA60D2A2411CDC60DCD560D2A751148
|
||||
:100E4000CDC60DC332070D0A4E45585420205043DD
|
||||
:100E500000CD280E3DC2320DCDFE0DCDA60DE5CD47
|
||||
:100E6000C60DCD560DE17EE5CD960DCD560DCD3D91
|
||||
:100E70000DCD6E0DE1FE0DCA920BFE2ECA3207E5B6
|
||||
:100E8000CD2B0E3DC2320DCDFE0D7CB7C2320D7D95
|
||||
:100E9000E17723C35B0BAFC39C0B3EFF32E910CD60
|
||||
:100EA000280E210000CAB50B3DC2320DCDFE0D7DCE
|
||||
:100EB000B4CA320D2B22EA10CDDC0EC31509CD28A1
|
||||
:100EC0000ECA220B3DC2320DCDFE0DEB2A77112446
|
||||
:100ED0007B956F7A9C67DA320DAF7D177C176F3E7A
|
||||
:100EE000001767CDA60DCDC60DC332073A2611B740
|
||||
:100EF000CA320DCD280ECA320D3DC2320D32261136
|
||||
:100F0000CDFE0D23E52A77112E5CEBD50E13CDA275
|
||||
:100F100006D1D50E16CDA2063CCA320DD1D50E0F84
|
||||
:100F2000CDA2063CCA320D2A771124D1C10B78B16B
|
||||
:100F3000CA510CC5D51E8006807E12132305C23906
|
||||
:100F40000CD1D5E50E15CDA206B7C2320DE1C32BEB
|
||||
:100F50000C0E10CDA2063CCA320DC33207CD6E0D69
|
||||
:100F6000FE0DC26B0CCDDC0EC33207010B00214B12
|
||||
:100F70000FBECA7E0C23040DC2710CC3320DCD6EA0
|
||||
:100F80000DFE0DC2320DC5CDA60DCDB20ECD560D46
|
||||
:100F9000CD3D0DCD280EB7CA32073DC2320DCDFE74
|
||||
:100FA0000DC178FE05D2CF0C7CB7C2320D7DFE029A
|
||||
:100FB000D2320DCD7B0E67413EFECDC90CA44167F8
|
||||
:100FC0007DCDC90CB412C3320705C807C3C90CC212
|
||||
:100FD000DF0C7CB7C2320D7D21701177C33207E57B
|
||||
:100FE000CD990ED1732372C33207E5D5C5E52A77B3
|
||||
:100FF000112E5B7EE1E67FCA130D16005F2A771182
|
||||
:101000002E80197EFE1ACA2D0D2A77112E5B34B759
|
||||
:10101000C32E0D0E142A7711EB1E5CCDA206B7C2AB
|
||||
:101020002D0DE52A77112E5B77E1C3FA0C37C1D17C
|
||||
:10103000E1C9CDA60D3E3FCD580DC3320711231196
|
||||
:101040000E20AF121B0DC2430D1B0E0ACDA20621AE
|
||||
:101050000411220011C93E20E5D5C55F0E02CDA2C4
|
||||
:1010600006C1D1E1C9FE7FC8FE61D8E65FC9E521AE
|
||||
:1010700003117EB73E0DCA850D352A00117E23224D
|
||||
:101080000011CD650DE1C9FE0AD2910DC630C358DD
|
||||
:101090000DC637C3580DF51F1F1F1FE60FCD870D57
|
||||
:1010A000F1E60FC3870D3E0DCD580D3E0AC3580D16
|
||||
:1010B000C5D5E50E0BCDA206E6010000000000003C
|
||||
:1010C00000E1D1C1C9EB7CCD960D7DC3960DFE7FAD
|
||||
:1010D000D2D80DFE20D2580D3E2EC3580DEB2AFC5F
|
||||
:1010E000107D936F7C9AEBC9FE0DC8FE2CC8FE20C4
|
||||
:1010F000C9D630FE0AD8C6F9FE10D8C3320DEB5E51
|
||||
:10110000235623EBC9EB210000CDF10D2929292914
|
||||
:10111000B56FCD6E0DCDE80DC2090EEBC97323720C
|
||||
:1011200023E521F31034E1C9CD6E0D21F310360013
|
||||
:1011300023FE0DCA6D0EFE2CC2460E3E8032F31009
|
||||
:10114000110000C3490ECD050ECD1D0EFE0DCA6D5A
|
||||
:101150000ECD6E0DCD050ECD1D0EFE0DCA6D0ECD44
|
||||
:101160006E0DCD050ECD1D0EFE0DC2320D11F3100C
|
||||
:101170001AFE81CA320D13B7070FC9E5215B0F585C
|
||||
:101180001600194E216F117EEBE1C9CD7B0E0DCA01
|
||||
:10119000960E1FC38E0EE601C9D60621560F5F16A6
|
||||
:1011A00000195E16FF21771119C9CD990E5E2356DD
|
||||
:1011B000EBC97ECD580D78FE05D2C30ECD8B0ECD7A
|
||||
:1011C000870DC9F53E3DCD580DF1C2D50E217011E8
|
||||
:1011D0007ECD960DC9CDAA0ECDC60DC9214B0F06E9
|
||||
:1011E00000CDA60DC5E5CDB20EE1C1042378FE0BFE
|
||||
:1011F000D2FE0EFE05DAE40ECD560DC3E40ECD563A
|
||||
:101200000DCD2010F5D5C5CDFD09D21E0F2A7511C3
|
||||
:10121000220C0021100036FFCD0600C3470F2B2201
|
||||
:10122000FC102A75117ECD960D23CDDD0DDA470F0A
|
||||
:10123000F5CD560DF1B3CA430F5E2356EBCDC60D67
|
||||
:10124000C3470F7ECD960DC1D1F1C9435A4D4549D3
|
||||
:10125000414244485350F6F4FCFAFE0107080305E6
|
||||
:1012600021000022EA10C901F3227311E12B22753B
|
||||
:1012700011F521020039F1317311E5F5C5D52A7553
|
||||
:10128000113A670FBE7EF5E521EC107E3600B7CA35
|
||||
:101290009F0F3D47235E2356237E1278C38E0FE1B6
|
||||
:1012A000F1CAC30F23227511EB21A8064E2346CDA8
|
||||
:1012B000E708DAC30FCD600F2AE710EB3E82B7379D
|
||||
:1012C000C31509FB2AEA107CB5CAE90F2B22EA10E4
|
||||
:1012D000CDB00DC2E90F3AE910B7C2E30FCD20102F
|
||||
:1012E000C31509CDDC0EC31509CD600F3E2ACD58BC
|
||||
:1012F0000D2A7511CDFD09D2FD0F220C00CDC60DB2
|
||||
:101300002A731122FA10C33207110D0021CC107E6E
|
||||
:10131000A023BE23CA1C10141DC20F105A1600C9E8
|
||||
:101320002A75114623E5CD091021E61073213710E7
|
||||
:1013300019195E2356EBE953107B1053107B10599B
|
||||
:10134000108D10A110C310C310C010C010B610C370
|
||||
:1013500010B110CD6910C2C610CD7410C3C6103ABA
|
||||
:10136000A806BBC03AA906BAC9C1E15E235623E567
|
||||
:10137000C5C35F102A71115E2356C9CD6910CA8892
|
||||
:1013800010C1C53E02C3C810D1D5C3C6103A670FFD
|
||||
:10139000B878C29910AFC3CA10E6385F1600C3C64A
|
||||
:1013A000102A7311EBCD5F10C2C610C35910C3C60B
|
||||
:1013B00010D1D5C3C610CD7410C1C53E02C3C8102C
|
||||
:1013C000D113D5D113D53E013C37E1C9FFC3C7C204
|
||||
:1013D000FFCDC7C4FFC9C7C7FFE9C706C7C6CF014E
|
||||
:1013E000E722C7C0F7D30021000022DC1CC921FF7F
|
||||
:1013F000FF22DA1C2A411C4DCDBA0701441CCDCA7C
|
||||
:10140000073A201CFEFFC20F1801A203CDAB082132
|
||||
:10141000641C360011AA03014D1CCD421532421C3A
|
||||
:101420002A3B1C22D81C00C7C7C7C7C7C7C7C7C726
|
||||
:10143000C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C73C
|
||||
:10144000C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C72C
|
||||
:10145000C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C71C
|
||||
:10146000C7C7C7C7C7C7C7C7C7C7C7C7C7C7C7C70C
|
||||
:10147000C7C7C7C7C7C7C7000020900040000821E2
|
||||
:10148000109210211242480009100240001040083A
|
||||
:101490000841020082424809092042210120082215
|
||||
:1014A000121110108842484924249242492442498A
|
||||
:1014B000208424841092091092484909208244040F
|
||||
:1014C0002490908491084890908484442424204857
|
||||
:1014D0000804080800040020842008421092042117
|
||||
:1014E00024442404882224924224909244084108EF
|
||||
:1014F000210210111041084208089092492484905A
|
||||
:10150000921248204201249092490924924808925C
|
||||
:101510004908240891048112481124892120249229
|
||||
:101520004920000000000000000000000000000052
|
||||
:1015300000000000000000000000000000000000AB
|
||||
:1015400000000000000000000024924924840804E8
|
||||
:10155000920244924010841080100000012024491F
|
||||
:10156000248084908420805555555555555040040D
|
||||
:1015700009224924924892221248488000240000FF
|
||||
:1015800000442104924824490024924911209222C7
|
||||
:101590002109249091100212412488809209109010
|
||||
:1015A000110208042002042442240049242121209D
|
||||
:1015B00024092048000002011090110800020820B0
|
||||
:1015C00008100204890448880242482021100412AD
|
||||
:1015D00048420888084924122241200900084892FC
|
||||
:1015E000492400112448249042224204424112110D
|
||||
:1015F000249122008004922489210081102240201D
|
||||
:10160000008088844909208824844924448108244E
|
||||
:1016100008108242222040804100902104440808A2
|
||||
:10162000490082480080004088481084010421015C
|
||||
:101630000000442108800000040010092008240450
|
||||
:10164000210490924249090402020444040108045E
|
||||
:1016500012408911221080212490492424488910A5
|
||||
:1016600081220000000410804090204002111049A7
|
||||
:101670002022112489249092492482021020910072
|
||||
:10168000AAAAAAA492420012048109088091248483
|
||||
:1016900081000000000000000000000000000000C9
|
||||
:1016A000000000000000000000000000000000003A
|
||||
:1016B000000000000000000000000000000000002A
|
||||
:1016C000000000000000000000000000000000001A
|
||||
:1016D000000000000000000000000000000000000A
|
||||
:1016E00000000000000000000000000000000000FA
|
||||
:1016F00000000000000000000000000000000000EA
|
||||
|
||||
:0102000001FC
|
||||
:10020300C34402434F505952494748542028432975
|
||||
:1002130020313938302C204449474954414C20522D
|
||||
:10022300455345415243482020202020205B4D5018
|
||||
:100233002F4D5D20444454205645525320312E31D6
|
||||
:1002430024310003C5C51130020E09CD0501C121BA
|
||||
:1002530007017E3D90571E00D521000378B1CA6C7B
|
||||
:10026300020B7E121323C35F02D1C1E56278B1CAC8
|
||||
:100273008E020B7BE607C28102E37E23E36F7D17C9
|
||||
:100283006FD28A021A841213C37002010001781B11
|
||||
:0502930012D12E00E96C
|
||||
:00010000FF
|
||||
|
||||
|
||||
21
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/x0100.asm
Normal file
21
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/x0100.asm
Normal file
@@ -0,0 +1,21 @@
|
||||
$title ('PRL Externals')
|
||||
name x0100
|
||||
CSEG
|
||||
offset equ 0000h
|
||||
|
||||
mon1 equ 0005h+offset
|
||||
mon2 equ 0005h+offset
|
||||
mon2a equ 0005h+offset
|
||||
mon3 equ 0005h+offset
|
||||
public mon1,mon2,mon2a,mon3
|
||||
fcb equ 005ch+offset
|
||||
fcb16 equ 006ch+offset
|
||||
tbuff equ 0080h+offset
|
||||
public fcb,fcb16,tbuff
|
||||
bdisk equ 0004h+offset
|
||||
maxb equ 0006h+offset
|
||||
buff equ 0080h+offset
|
||||
boot equ 0000h+offset
|
||||
public bdisk,maxb,buff,boot
|
||||
END
|
||||
|
||||
21
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/x0200.asm
Normal file
21
MPM OPERATING SYSTEMS/MPM I/MPM I SOURCE/08/x0200.asm
Normal file
@@ -0,0 +1,21 @@
|
||||
$title ('PRL Externals')
|
||||
name x0200
|
||||
CSEG
|
||||
offset equ 0100h
|
||||
|
||||
mon1 equ 0005h+offset
|
||||
mon2 equ 0005h+offset
|
||||
mon2a equ 0005h+offset
|
||||
mon3 equ 0005h+offset
|
||||
public mon1,mon2,mon2a,mon3
|
||||
fcb equ 005ch+offset
|
||||
fcb16 equ 006ch+offset
|
||||
tbuff equ 0080h+offset
|
||||
public fcb,fcb16,tbuff
|
||||
bdisk equ 0004h+offset
|
||||
maxb equ 0006h+offset
|
||||
buff equ 0080h+offset
|
||||
boot equ 0000h+offset
|
||||
public bdisk,maxb,buff,boot
|
||||
END
|
||||
|
||||
Reference in New Issue
Block a user