Download Print this page

IMS IMSAI 8080 User Manual page 604

Advertisement

PGM-4A
1 2
-
6 6
00 D 4 B7
ORA
00D5 C A 6 9 0 0
JZ
00D8
LX I
2 1 4 5 0 0
OODB 3E13
STOP:
MV I
OOCD D302
OUT
0 ODF DB03
S T P L :
I N
OOE1 E 6 0 4
AN I
OOEJ CADFOO
JZ
0 0E6 E9
PCHL
;
PUT A DATA BYTE INTO CORE
72
PUT:
MOV
0 0E7
0 0 E 8
23
OOE9
1E85
MV I
OOEB 05
OCR
0 OEC C 26 D 0 0
JNZ
OOEF 1C
0 OF 0 C 3 6 0 0 0
JMP
j
IGNORE A TYPE BYTE
0 0F 3
1E85
:
MV I
t y p e
JMP
0 0 F 5 C 3 6 D 0 0
; GET LOW BYTE OF ADDRESS
0 0F8
6A
LADD:
MOV
1E84
0 0 F 9
MV I
0 0 F 3
C36DOO
JMP
; GET H IG H BYTE OF ADDRESS
OOFE
62
HADD:
MOV
OOFF
1E83
MV I
0 1 0 1
C 3 6 D 0 0
• GET COUNT BYTE
0104 42
COUNT:
MOV
MOV
0105 7A
0106 B7
ORA
0107 C21201
010A DBFE
FF3:
010C 67
MOV
010D 2E00
MV I
010F C3DB0 0
f
0112 1E82
C l :
0114 C36D00
CHKSM:
0 1 1 7 C8
/
0 0 0 0
A
;
CHECKSUM.
LOOP1
; Y E S , GO GET NEXT RECORD
H ,S TA R T ; E LS E ,
A , 1 3H
; GET 1X O F F 1 CHAR
2
; TURN OFF READER
; WA I T
T I L L
3
4
STPL
j
GO AWAY.
M, D
; STORE THE DATA
I NX
H
; INCREMENT THE H REG
E , 8 5H
RESET FLAG FOR NEXT DATA BYTE
j
B
; OECR COUNT
L0 0P 2
; GO 8ACK FOR MORE DATA.
INR
E
; OUT OF DATA,
L 0 0P 2
;
CHECKSUM.
E , 8 5H
; SET FLAG FOR DATA
L 00P 2
; GO GET DATA
L , D
; GET
BYTE
E , 84H
i SET
FLAG
LOOP2
H ,D
; GET
BYTE
E , 8 3 H
/ S E T
FLAG
JMP
LOOP2
B,D
;PUT COUNT INTO B
A, D
;CHECK FOR EOF
A
JNZ
Cl
;IF NOT EOF, CONTINUE
IN
OFEH
;GET HIGH BYTE OF LOADER
H,A
; ADDRESS INTO H
L,0
;AND LOW BYTE
JMP
STOP
;STOP TAPE, THEN GOTO LOADER
MVI
E, 82H
;SET FLAG FOR ADDRESS BYTE
JMP
LOOP2
0C8H
DB
; SELF-CHECKSUM FOR T H I S LOADER
END
IS
I T
ZERO?
GET RESTART ADDR
XMTR BUFFER EMPTY
SET FLAG FOR
INTO L-REG
FOR TYPE BYTE
INTO H
FOR LOW ADDRESS BYTE

Advertisement

loading