|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 5376 (0x1500) Types: TextFile Names: »hcloadbl4«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt. └─⟦0364f57e3⟧ └─⟦this⟧ »hcloadbl4«
b100: d0 = 85 ;X 88 ; control octet for end transmission. d1 = 170 ;C 67 ; control octet for transmission of word ok. d2 = 60 ;E 69 ; control octet for repeat tranbsmission of ; last 3 octets. d3 = 240 ; control octet for repeat complete transmission. d4 = 255 ;S 83 ; control octet for transmission start. d10: c1: rl. w0 b118. ; get char. sn w0 d4 ; if charakter read = 255 ( load command) jl. c3. ; then goto c3 gp w0 64 ; else show load command jd 1<11+2 ; swop process. jl. c1. ; goto start. c3: al. w1 f9. ; address of end of program. rs. w1 f1. ; store last address. al. w1 f10. ; get address first of program. rs. w1 f5. ; save in current address. c4: rl. w0 ( f5. ; get current word. al w3 0 ; load word status. rs.w3 f7. ; save word status ok. ls w0 -16 ; get first octet. jl. w3 c5. ; call send wait and control octet. rl. w0 ( f5. ; get current word. ls w0 8 ; get middle octet. ls w0 -16 ; jl. w3 c5. ; call send wait and control octet. rl. w0 ( f5. ; get current address. ls w0 16 ; get last octet. ls w0 -16 ; jl. w3 c5. ; call send wait and control octet. al w0 0 ; load control word for word control. sn. w0 (f7. ; skip next if word control is ok. jl. c7. ; goto word transmitted ok. al w0 d2 ; load control octet for retransmit octet. jl. w3 c5. ; call send wait and control. jl. c4. ; goto send same word. c7: ;; next word. rl. w1 f5. ; get last current. al w1 x1+2 ; next current. rs. w1 f5. ; save address of next current. sl. w1 ( f1. ; if current word <= address of last of program jl. c6. ; then goto send control word last byte. al w0 d1 ; load control octet for word transmitted ok. jl. w3 c5. ; call send control octet. jl. c4. ; goto send next word. c6: ;; send last control byte. al w0 d0 ; load second control octet. jl. w3 c5. ; call send wait and conmtrol. jd 1<11+2 ; swop process and wait for char to be recieved. jl. c1. ; goto start. c5: ;; procedure write octet and wait control. b. c10 w. rs. w3 c0. ; save return address. rs. w0 c1. ; save octet to be send. al w3 -1 ; reset recive control. rs. w3 b118. ; rl. w3 f0. ; get device address. jd 1<11+14; call send octet. ; return when octet is received. rl. w0 b118. ; get octet received. sn. w0 ( c1. ; skip if not equal with octet send. jl. ( c0. ; return from subroutine. sn w0 d4 ; if octet received is start transmission then jl. d10. ; got start transmission. ls w0 8 ; shift octet received 8 lo. w0 c1. ; mask octet send in. gp w0 64 ; show wrong octets. rs. w3 f7. ; save wong word in word status. jl. ( c0. ; return fromn subroutine. c0: 0 ; return address. c1: 0 ; octet send. e. ;; end of procedure send octet wait and check. b110: b. c20 w. ;; block second process. rl. w3 f0. ; load device address. jd 1<11+20; call init of terminal driver. al w1 32 c0: ; get loop counter. al w1 x1+1 al w2 x1 ; get timer interupt counter. ls w2 -4 ls w2 16 gp w2 64 rl. w2 b118. ls w2 8 gp w2 64 rl. w2 b117. gp w2 64 jl. c0. ; goto repeat. e. ;; end block second process. b112:0 b116:0 b117:0 b118:80 ; char to be output. b119:0 f0: 64 ; device address. f7: 0 ; status of word send. f4: 0 ; f5: 0 ; current storage address. f1: 0 ; program length. f2: 0 ; start address relative to f1. f10:p.<:hclocalprog:> ;;<:aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrr:> f9: <:@@@:> ; last program address. b101: b111:jl. 0 ; end of 2. and first user program. e. ; end of 2. user program. ▶EOF◀