Download Print this page

IMS IMSAI 8080 User Manual page 506

Advertisement

MIOA. PEN'
3 2BA ID
3 233 C2B132
3 2BE 73
32SF CDC332
3 2C2 79
3 2C3 CDCB32
3 2C6 AF
3 2C7 CDCB32
3 2CA C9
WR3YT:
3 2CB 57
3 2CC DB4 3
WRBY2:
3 2CE E604
3 2D0 CACC32
32D3 3A9D32
32D6 A7
3 2D7 C2DE32
3 2DA 7A -
3 2DB D340
32DD C9
3 2DE E5
WRBY3:
3 2DF 2603
32E1 CDF432
WR3Y7:
32E4 25
32ES C2EA32
3 2E8 El
3 2E9 C9
s
3 2EA DB43 ■
WRBY6:
- 3 2EC E604
-
3 2EE CAEA32
3 2F1 C3E132
3 2F4 7A
WRBY5:
3 2F5 17
3 2F6 57
3 2F7 3EFF
3 2F9 DAFE32
3 2FC 3EAA
3 2FE D340
HS3Y4:
3300 C9
_ ■
; READ ROUTINE READS IN TARBELL OR EYTE/LANCASTER AS
;A FUNCTION OF TYPF.
;RETURNS WITH ZERO FLAG SET OF NO CRC ERROR OCCURS.
3301 3E60
READ:
3303 □343
3305 CD3233
3303 CDS633
READ1:
3 30B FEE6
3300 C20833
3310 3E20
3312 D343
3314 01FFFF
3317 CD6A33
READ2:
331A 77
3313 CD8F33
331E 23
331F ID
3320 C21733
;LOOP COUNT
DCR E
;LOOP TIL DONE
JNZ WRIT1
MOV A,B
;WRITE CRC BYTE 1
CALL WRBYT
; BYTE 2
MOV A,C
CALL WRBYT
XRA A
;TRAILING ZERO BYTE
CALL WRBYT
RET
MOV D,A
;SAVE THE BYTE
;WAIT TIL READY
IN CNT
ANI 4
JZ WRBY2
;SEE WHICH TYPE
LDA TYPF
ANA A
JNZ WRBY3
;TARBELL
MOV A,D
OUT CRI
RET
PUSH H
;BYTE/LANCASTER—SERIALIZE 3YTE
«VI 9,3
CALL WR3Y5
;WRITE A BIT
;BIT COUNTER ^ r -
OCR H
JNZ WSBY6
; DONE, RESTORE H
POP a
RET
IN CNT
ANI 4
JZ WRBYS
JMP WRBY7
MOV A,D
RAL
;CARRY HAS FIRST BIT
MOV D ,A
MVI A ,OFFH
;FOR A ONE
JC WRBY4
MVI A ,OAAH
;FOR A ZERO
OUT CRI
RET
• -
INPUT PARAMATEHS ARE:
HL - CONTAIN ADDRESS OF INPUT SUFFER
E - CONTAINS BLOCK SIZE, 1-256 (0=235)
MVI A,605
;SET TO RECOGNIZE SYNC
OUT CNT
;SYNC ON BYTE BASIS OF BYTE/LANCASTER
CALL RBSN
CALL GBIT
;GET BYTE ON NEXT SHIFT
;SEE IF SYNC
CPI 0E69
JNZ READ1
;OKAY, GO TO BYTE READY
MVI A, 20H „ .
OUT CNT
LXI B ,OFFFFH
';SET INITIAL CRC VALUE
;GET AA BYTE
CALL GBYT
MOV M , A ;STORE IT
CALL CRC
; ADD TO CRC
INX H
;LOOP COUNT
DCR E '
JNZ READ2
PAGE 6
" \ '

Advertisement

loading