Download Print this page

IMS IMSAI 8080 User Manual page 394

Advertisement

2390
; WRITE BYTE IN A TO TAPE.
2400
2410
WRITB:
PUSH
2420
PUSH
2430
2440
ANA
2450
MV I
2460
3ITS0:
MVI
2470
2480
JNC
2490
MVI
2500
ZEROS:
ANA
2510
MVI
2520
2530
THE FOLLOWING HALF CYCLE LOOP IS CRITICALLY TIMED.
2540
SINCE THE DESIRED TRANSMISSION FREQUENCY IS 2000HZ,
2550
A FULL CYCLE SHOULD TAKE 500US, SO EACH PASS THROUGH
2560
THE LOOP SHOULD TAKE 250US. WITH A CLOCK CYCLE TIME
2570
OF 500NS, THE LOOP SHOULD CONSUME 500 MACHINE CYCLES,
2580
THE NUMBER OF MACHINE CYCLES CONSUMED BY EACH
2590
INSTRUCTION BELOW IS NOTED.
2600
2610
HCYC0:
2620
2630
JM
2640
2650
2660
2670
2 680
SBITS:
2690
2700
PTSKP : ■
2710
2720
2730
2740
2750
3EOQT:
2760
2770
VJAITO:
2730
2790
2800
2310
2820
2330
7
2840
2350
2360
2370
2880
2890
2 90 0
t
2910
; READ BYTE FROM TAPE INTO A.
2920
2930
REACA:
2940
2950
296 0
2970
READB:
2930
PSW
B
PUSH
D
A
;CLEAR CARRY (RESET STOP BIT)
B, BPC
C,ZPL
;SET TIMER TO ZERO PULSE LENGTH
RAR
ZERCB
C,OPL
A
;RESET CARRY TO INIT FOR HCYC0
D,HCPBF ;GET # HALF CYCLES PER BIT FRAME
MOV
E, A
DCR
C
PTSKP
CMC
JC
S3 ITS
MVI
A, 0
JMP
SBOUT
MVI
^ 3
JMP
SBOUT
LDAX
B
STAX
B
MVI
A,2
MOV
A, A
MOV
A, A
OUT
UCRIP
MVI
A,27
DCR
A
JNZ
WAIT0
MOV
A, E
MOV
A, A
DCR
D
JNZ
HCYC0
DCR
B
JNZ
BITS0
POP
D
POP
3
POP
PSW
RET
PUSH
D
MVI
D, 0
MVI
E » 0
JMP
RESET
PUSH
D
MVI
D.DBPC
?SAVE REGISTERS TO BE USED...
;GET 3IT COUNT
;CARRY HOLDS NEXT BIT TO OUTPUT
?SKIP IF BIT IS A ZERO
;SET TIMER TO ONE PULSE LENGTH
5. SAVE A TEMPORARILY
4. COUNT DOWN TONE PULSES
10. SKIP PULSE TRANSMISSION IF DO
4. TOGGLE TRANSMISSION BIT
10. SET BITS FOR OUTPUT IF CARRY
7. RESET BITS FOR OUTPUT
10. GO TO OUTPUT BITS
7. SET a ITS FOR OUTPUT
10. GO TO OUTPUT BITS
7. WASTE 14 CYCLES...
7.
7. SET ONE 3IT ON AND ONE OFF
5. WASTE 1C CYCLES...
5.
10. OUTPUT BITS
10. GET COUNT FOR LOOF
5. COUNT DOWN
10. LOOP 27 TIMES
5. RESTORE ORIGINAL A
5. WASTE 5 MORE CYCLES
5. COUNT DOWN HALF CYCLES
10. KEEP LOOPING TILL FRAME DONE
COUNT DOWN BITS
OUTPUT NEXT BIT, UNLESS DOME
RESTORE SAVED REGISTERS AND
RETURN...
■SAVE REGISTER
•SCAN UP TO 256 BITS FOR A SYNC
■LOOKING FOP A SYNC FLAG
STAPT COMMON CODE
SAVE REGISTER
rGET ? OF DATA BITS PER CHAR
J
J
J
11 - 33

Advertisement

loading