|
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: 168960 (0x29400) Types: Rc489kSubCat Names: »libman«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt. └─⟦0364f57e3⟧ └─⟦this⟧ »libman«
0x00000…00033 (0,) Rc489kSubCatEnt {f00=0x0010ab, f01=0x000000, f02=0x7ffffc, filename=»listrcman «, entry_tail=0-4-0-16-1982-09-09T10:51-disc1-0x0-0x0-0x0-0x0} 0x00033…00066 Rc489kSubCatEnt {f00=0x011cab, f01=0x0007e4, f02=0x0007ed, filename=»listmaninp «, entry_tail=0-4-0-5-1982-09-09T10:48-disc1-0x0-0x0-0x0-0x0} 0x00066…00099 Rc489kSubCatEnt {f00=0x0163f3, f01=0x0007e4, f02=0x0007ed, filename=»fortraninp «, entry_tail=0-4-0-3-1982-01-08T16:47-disc-0x0-0x0-0x0-0x0} 0x00099…000cc Rc489kSubCatEnt {f00=0x019432, f01=0x0007e4, f02=0x0007ed, filename=»thcølib «, entry_tail=0-4-0-4-1981-01-11T15:00-disc1-0x0-0x0-0x0-0x0} 0x000cc…000ff Rc489kSubCatEnt {f00=0x01d0ea, f01=0x0007e4, f02=0x0007ed, filename=»codemaninp «, entry_tail=0-4-0-98-1981-01-21T16:52-disc1-0x0-0x0-0x0-0x0} 0x000ff…00132 Rc489kSubCatEnt {f00=0x07fbd2, f01=0x0007e4, f02=0x0007ed, filename=»transmaninp «, entry_tail=0-4-0-8-1981-01-12T14:08-disc1-0x0-0x0-0x0-0x0} 0x00132…00165 Rc489kSubCatEnt {f00=0x087792, f01=0x0007e4, f02=0x0007ed, filename=»contractinp «, entry_tail=0-4-0-6-1980-12-05T11:17-disc1-0x0-0x0-0x0-0x0} 0x00165…00198 Rc489kSubCatEnt {f00=0x08de6a, f01=0x0007e4, f02=0x0007ed, filename=»userginp «, entry_tail=0-4-0-2-1980-12-04T12:42-disc1-0x0-0x0-0x0-0x0} 0x00198…001cb Rc489kSubCatEnt {f00=0x08fab0, f01=0x0007e4, f02=0x0007e4, filename=»compareinp «, entry_tail=0-4-0-9-1980-11-20T12:59-disc1-0x0-0x0-0x0-0x0} 0x001cb…001fe Rc489kSubCatEnt {f00=0x098f43, f01=0x000000, f02=0x7ffffc, filename=»compareman «, entry_tail=0-4-0-8-1980-05-07T14:40-disc1-0x0-0x0-0x0-0x0} 0x001fe…00231 Rc489kSubCatEnt {f00=0x0a0f7a, f01=0x0007e4, f02=0x0007ed, filename=»corecodeinp «, entry_tail=0-4-0-8-1980-11-20T12:34-disc1-0x0-0x0-0x0-0x0} 0x00231…00264 Rc489kSubCatEnt {f00=0x0a8122, f01=0x0007e4, f02=0x0007ed, filename=»conreadinp «, entry_tail=0-4-0-8-1980-10-14T13:17-disc1-0x0-0x0-0x0-0x0} 0x00264…00297 Rc489kSubCatEnt {f00=0x0b068a, f01=0x0007e4, f02=0x0007ed, filename=»fpreadinp «, entry_tail=0-4-0-25-1980-10-10T11:28-disc1-0x0-0x0-0x0-0x0} 0x00297…002a0 04 b0 43 12 00 38 03 00 31 ┆ C 8 1┆ 0x002a0…002c0 03 10 31 03 31 0a 80 21 20 12 01 20 12 01 20 12 01 20 12 01 20 12 01 20 12 01 20 12 01 20 04 60 ┆ 1 1 ! `┆ 0x002c0…002e0 44 04 c0 43 02 d0 46 05 00 41 12 00 44 06 10 74 06 11 20 04 c0 69 06 e0 6b 12 00 43 06 f0 6e 07 ┆D C F A D t i k C n ┆ 0x002e0…002fd 40 72 06 10 6c 02 c1 20 05 50 73 06 50 72 07 31 20 04 d0 61 06 e0 75 06 10 6c 12 01 20 ┆@r l Ps Pr 1 a u l ┆ 0x002fd…00300 0x00000d 0x00300…03300 Data for listrcman 0x03300…04200 Data for listmaninp 0x04200…04b00 Data for fortraninp 0x04b00…05700 Data for thcølib 0x05700…17d00 Data for codemaninp 0x17d00…19500 Data for transmaninp 0x19500…1a700 Data for contractinp 0x1a700…1ad00 Data for userginp 0x1ad00…1c800 Data for compareinp 0x1c800…1e000 (38,) Data for compareman 0x1e000…1f800 (40,) Data for corecodeinp 0x1f800…21000 (42,) Data for conreadinp 0x21000…25b00 (44,) Data for fpreadinp 0x25b00…25b20 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d 61 74 3a 0a 3b 20 20 20 73 74 61 74 75 73 77 6f 72 64 2c 20 ┆llowing format: ; statusword, ┆ 0x25b20…25b40 62 69 74 30 20 3d 20 69 6e 74 65 72 76 65 6e 74 69 6f 6e 20 28 73 65 65 20 62 65 6c 6f 77 29 0a ┆bit0 = intervention (see below) ┆ 0x25b40…25b60 3b 20 20 20 30 0a 3b 20 20 20 30 0a 3b 0a 3b 20 6d 65 73 73 61 67 65 73 20 72 65 63 65 69 76 65 ┆; 0 ; 0 ; ; messages receive┆ 0x25b60…25b80 64 20 61 72 65 20 6c 69 6e 6b 65 64 20 74 6f 20 74 68 65 20 63 6c 6f 63 6b 20 70 72 6f 63 65 73 ┆d are linked to the clock proces┆ 0x25b80…25ba0 73 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 0a 3b 20 6f 72 64 65 72 20 77 69 74 68 20 72 65 73 70 ┆s in ascending ; order with resp┆ 0x25ba0…25bc0 65 63 74 20 74 6f 20 63 61 6c 63 75 6c 61 74 65 64 20 74 69 6d 65 20 66 6f 72 20 65 78 70 69 72 ┆ect to calculated time for expir┆ 0x25bc0…25be0 61 74 69 6f 6e 20 6f 66 20 64 65 6c 61 79 2e 0a 3b 20 61 74 20 65 61 63 68 20 63 6c 6f 63 6b 20 ┆ation of delay. ; at each clock ┆ 0x25be0…25c00 69 6e 74 65 72 72 75 70 74 20 74 68 65 20 71 75 65 75 65 20 69 73 20 73 63 61 6e 6e 65 64 20 61 ┆interrupt the queue is scanned a┆ 0x25c00…25c20 6e 64 20 6d 65 73 73 61 67 65 73 20 77 68 69 63 68 0a 3b 20 68 61 76 65 20 72 65 61 63 68 65 64 ┆nd messages which ; have reached┆ 0x25c20…25c40 20 74 68 65 20 65 78 70 69 72 61 74 69 6f 6e 20 74 69 6d 65 20 61 72 65 20 72 65 74 75 72 6e 65 ┆ the expiration time are returne┆ 0x25c40…25c60 64 2e 20 61 6c 73 6f 20 61 74 20 65 61 63 68 0a 3b 20 63 6c 6f 63 6b 20 69 6e 74 65 72 72 75 70 ┆d. also at each ; clock interrup┆ 0x25c60…25c80 74 20 74 68 65 20 74 69 6d 65 6f 75 74 20 71 75 65 75 65 20 6f 66 20 64 65 76 69 63 65 73 20 69 ┆t the timeout queue of devices i┆ 0x25c80…25ca0 73 20 73 63 61 6e 6e 65 64 2e 0a 3b 20 74 69 6d 65 72 73 20 77 68 69 63 68 20 68 61 76 65 20 72 ┆s scanned. ; timers which have r┆ 0x25ca0…25cc0 75 6e 20 6f 75 74 20 63 61 75 73 65 20 74 68 65 20 63 6c 6f 63 6b 20 74 6f 20 72 65 73 65 74 20 ┆un out cause the clock to reset ┆ 0x25cc0…25ce0 74 68 65 20 64 65 76 69 63 65 0a 3b 20 77 69 74 68 20 74 69 6d 65 6f 75 74 20 73 74 61 74 75 73 ┆the device ; with timeout status┆ 0x25ce0…25d00 2e 0a 3b 0a 3b 20 61 66 74 65 72 20 70 6f 77 65 72 20 72 65 73 74 61 72 74 20 61 6c 6c 20 64 65 ┆. ; ; after power restart all de┆ 0x25d00…25d20 76 69 63 65 73 20 61 72 65 20 72 65 73 65 74 20 77 69 74 68 20 70 6f 77 65 72 20 72 65 73 74 61 ┆vices are reset with power resta┆ 0x25d20…25d40 72 74 0a 3b 20 72 65 73 75 6c 74 20 61 6e 64 20 6d 65 73 73 61 67 65 73 20 77 61 69 74 69 6e 67 ┆rt ; result and messages waiting┆ 0x25d40…25d60 20 66 6f 72 20 70 6f 77 65 72 20 72 65 73 74 61 72 74 20 61 72 65 20 72 65 74 75 72 6e 65 64 20 ┆ for power restart are returned ┆ 0x25d60…25d80 77 69 74 68 0a 3b 20 73 74 61 74 75 73 20 69 6e 74 65 72 76 65 6e 74 69 6f 6e 2e 0a 3b 0a 3b 20 ┆with ; status intervention. ; ; ┆ 0x25d80…25da0 61 66 74 65 72 20 61 20 63 68 61 6e 67 65 20 6f 66 20 63 6c 6f 63 6b 20 28 6d 6f 6e 69 74 6f 72 ┆after a change of clock (monitor┆ 0x25da0…25dc0 20 70 72 6f 63 65 64 75 72 65 20 73 65 74 20 63 6c 6f 63 6b 29 20 6d 65 73 73 61 67 65 73 0a 3b ┆ procedure set clock) messages ;┆ 0x25dc0…25de0 20 77 61 69 74 69 6e 67 20 66 6f 72 20 63 6c 6f 63 6b 63 68 61 6e 67 65 20 61 72 65 20 72 65 74 ┆ waiting for clockchange are ret┆ 0x25de0…25e00 75 72 6e 65 64 20 77 69 74 68 20 73 74 61 74 75 73 20 69 6e 74 65 72 76 65 6e 74 69 6f 6e 2e 0a ┆urned with status intervention. ┆ 0x25e00…25e20 3b 20 74 68 65 20 73 61 6d 65 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 61 74 20 6d 6f 64 65 20 ┆; the same is performed at mode ┆ 0x25e20…25e40 34 2d 6d 65 73 73 61 67 65 73 20 69 66 20 74 68 65 20 6e 65 77 20 63 6c 6f 63 6b 76 61 6c 75 65 ┆4-messages if the new clockvalue┆ 0x25e40…25e60 0a 3b 20 65 78 63 65 65 64 73 20 74 68 65 20 63 61 6c 63 75 6c 61 74 65 64 20 65 78 70 69 72 61 ┆ ; exceeds the calculated expira┆ 0x25e60…25e80 74 69 6f 6e 20 74 69 6d 65 2e 20 6d 65 73 73 61 67 65 73 20 6e 6f 74 20 75 73 69 6e 67 20 6d 6f ┆tion time. messages not using mo┆ 0x25e80…25ea0 64 65 0a 3b 20 34 20 77 69 6c 6c 20 68 61 76 65 20 74 68 65 20 65 78 70 65 63 74 65 64 20 65 78 ┆de ; 4 will have the expected ex┆ 0x25ea0…25ec0 70 69 72 61 74 69 6f 6e 20 74 69 6d 65 20 61 64 6a 75 73 74 65 64 20 61 63 63 6f 72 64 69 6e 67 ┆piration time adjusted according┆ 0x25ec0…25ee0 20 74 6f 0a 3b 20 74 68 65 20 63 6c 6f 63 6b 63 68 61 6e 67 65 20 61 6e 64 20 74 68 65 20 65 6e ┆ to ; the clockchange and the en┆ 0x25ee0…25f00 74 69 72 65 20 6d 65 73 73 61 67 65 20 71 75 65 75 65 20 69 73 20 72 65 73 6f 72 74 65 64 2e 0a ┆tire message queue is resorted. ┆ 0x25f00…25f20 0a 0a 0a 6d 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 6f 6e 63 6c 6f 63 6b 20 28 6d ┆ m. monclock (m┆ 0x25f20…25f40 6f 6e 69 74 6f 72 20 69 6e 74 65 72 76 61 6c 20 63 6c 6f 63 6b 20 64 72 69 76 65 72 29 0a 0a 0a ┆onitor interval clock driver) ┆ 0x25f40…25f60 62 2e 20 69 31 30 2c 20 6a 36 30 2c 20 61 30 3d 31 3c 32 33 2c 20 77 2e 20 3b 20 62 6c 6f 63 6b ┆b. i10, j60, a0=1<23, w. ; block┆ 0x25f60…25f80 20 69 6e 63 6c 75 64 69 6e 67 20 63 6c 6f 63 6b 20 64 72 69 76 65 72 0a 0c 3b 20 70 65 6a 20 32 ┆ including clock driver ; pej 2┆ 0x25f80…25fa0 33 2e 30 31 2e 37 38 20 20 20 20 63 6c 6f 63 6b 20 64 72 69 76 65 72 0a 0a 3b 20 6d 20 65 20 73 ┆3.01.78 clock driver ; m e s┆ 0x25fa0…25fc0 20 73 20 61 20 67 20 65 20 20 20 72 20 65 20 63 20 65 20 69 20 76 20 65 20 64 0a 3b 20 2d 2d 2d ┆ s a g e r e c e i v e d ; ---┆ 0x25fc0…25fe0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x25fe0…26000 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 3b 0a 3b ┆---------------------------- ; ;┆ 0x26000…26020 20 74 68 69 73 20 72 6f 75 74 69 6e 65 20 69 73 20 65 6e 74 65 72 65 64 20 77 68 65 6e 20 64 72 ┆ this routine is entered when dr┆ 0x26020…26040 69 76 65 72 70 72 6f 63 20 72 65 63 65 69 76 65 73 20 61 20 6d 65 73 73 61 67 65 20 66 6f 72 0a ┆iverproc receives a message for ┆ 0x26040…26060 3b 20 74 68 65 20 63 6c 6f 63 6b 2e 20 74 68 65 20 6d 65 73 73 61 67 65 20 69 73 20 63 68 65 63 ┆; the clock. the message is chec┆ 0x26060…26080 6b 65 64 20 61 6e 64 20 74 69 6d 65 20 28 63 6c 6f 63 6b 76 61 6c 75 65 29 20 66 6f 72 0a 3b 20 ┆ked and time (clockvalue) for ; ┆ 0x26080…260a0 65 78 70 69 72 61 74 69 6f 6e 20 6f 66 20 64 65 6c 61 79 20 69 73 20 69 6e 73 65 72 74 65 64 20 ┆expiration of delay is inserted ┆ 0x260a0…260c0 69 6e 74 6f 20 74 68 65 20 62 75 66 66 65 72 2e 0a 68 34 20 20 3a 20 64 6c 2e 20 77 31 20 20 20 ┆into the buffer. h4 : dl. w1 ┆ 0x260c0…260e0 20 20 69 30 2e 20 20 20 20 3b 20 20 20 63 2e 20 77 32 20 3d 20 63 75 72 72 20 62 75 66 3b 0a 20 ┆ i0. ; c. w2 = curr buf; ┆ 0x260e0…26100 20 20 20 20 20 6a 6c 20 20 77 33 20 20 20 20 20 67 31 36 20 20 20 20 3b 20 20 20 63 68 65 63 6b ┆ jl w3 g16 ; check┆ 0x26100…26120 20 6f 70 65 72 61 74 69 6f 6e 28 6d 6f 64 65 20 6d 61 73 6b 2c 6f 70 65 72 20 6d 61 73 6b 29 3b ┆ operation(mode mask,oper mask);┆ 0x26120…26140 0a 20 20 20 20 20 20 72 73 2e 20 77 32 20 20 20 20 20 69 38 2e 20 20 20 20 3b 20 73 61 76 65 20 ┆ rs. w2 i8. ; save ┆ 0x26140…26160 72 65 63 65 69 76 65 64 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 72 6c 20 20 77 31 20 20 20 20 ┆received buffer rl w1 ┆ 0x26160…26180 20 62 31 39 20 20 20 20 3b 20 63 68 65 63 6b 20 66 6f 72 20 63 6c 6f 63 6b 63 68 61 6e 67 65 20 ┆ b19 ; check for clockchange ┆ 0x26180…261a0 63 2e 77 31 3d 63 75 72 20 72 65 63 65 69 76 65 72 0a 20 20 20 20 20 20 6a 6c 2e 20 77 33 20 20 ┆c.w1=cur receiver jl. w3 ┆ 0x261a0…261c0 20 20 20 6a 32 34 2e 20 20 20 3b 20 0a 20 20 20 20 20 20 72 6c 2e 20 77 32 20 20 20 20 20 69 38 ┆ j24. ; rl. w2 i8┆ 0x261c0…261e0 2e 20 20 20 20 3b 20 72 65 73 74 6f 72 65 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 64 6c 20 20 ┆. ; restore buffer dl ┆ 0x261e0…26200 77 30 20 20 78 32 2b 61 31 35 32 20 20 20 3b 20 20 20 64 65 6c 61 79 3a 3d 20 69 6e 74 65 72 76 ┆w0 x2+a152 ; delay:= interv┆ 0x26200…26220 61 6c 28 30 3a 34 37 29 2e 63 75 72 72 20 62 75 66 3b 0a 20 20 20 20 20 20 62 7a 20 20 77 31 20 ┆al(0:47).curr buf; bz w1 ┆ 0x26220…26240 20 78 32 2b 61 31 35 30 2b 31 20 3b 0a 20 20 20 20 20 20 73 7a 20 20 77 31 20 20 20 20 20 32 2e ┆ x2+a150+1 ; sz w1 2.┆ 0x26240…26260 31 30 20 20 20 3b 20 20 20 69 66 20 74 69 6d 65 20 69 6e 20 73 65 63 73 2e 6d 6f 64 65 2e 63 75 ┆10 ; if time in secs.mode.cu┆ 0x26260…26280 72 72 20 62 75 66 20 74 68 65 6e 0a 20 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 6a 31 30 ┆rr buf then jl. j10┆ 0x26280…262a0 2e 20 20 20 3b 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 61 6c 20 20 77 30 20 20 78 33 2b 30 ┆. ; begin al w0 x3+0┆ 0x262a0…262c0 20 20 20 20 20 20 3b 20 20 20 20 20 73 65 63 6f 6e 64 73 3a 3d 20 64 65 6c 61 79 28 30 3a 32 33 ┆ ; seconds:= delay(0:23┆ 0x262c0…262e0 29 3b 0a 20 20 20 20 20 20 73 6e 20 20 77 30 20 20 20 20 2d 31 20 20 20 20 20 20 3b 20 20 20 20 ┆); sn w0 -1 ; ┆ 0x262e0…26300 20 69 66 20 73 65 63 6f 6e 64 73 20 3d 20 2d 31 20 74 68 65 6e 20 67 6f 74 6f 20 6d 61 78 64 65 ┆ if seconds = -1 then goto maxde┆ 0x26300…26320 6c 61 79 0a 20 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 6a 31 34 2e 20 20 20 3b 20 20 20 ┆lay jl. j14. ; ┆ 0x26320…26340 20 20 65 6c 73 65 20 64 65 6c 61 79 3a 3d 20 73 65 63 6f 6e 64 73 20 2a 20 31 30 30 30 30 3b 0a ┆ else delay:= seconds * 10000; ┆ 0x26340…26360 20 20 20 20 20 20 77 6d 2e 20 77 30 20 20 20 20 20 69 31 2e 20 20 20 20 3b 20 20 20 65 6e 64 3b ┆ wm. w0 i1. ; end;┆ 0x26360…26380 0a 6a 31 30 20 3a 20 73 6c 20 20 77 33 20 20 20 20 20 30 20 20 20 20 20 20 3b 20 20 20 69 66 20 ┆ j10 : sl w3 0 ; if ┆ 0x26380…263a0 64 65 6c 61 79 20 3e 3d 20 30 0a 20 20 20 20 20 20 73 6c 20 20 77 33 20 20 20 20 20 35 32 20 20 ┆delay >= 0 sl w3 52 ┆ 0x263a0…263c0 20 20 20 3b 20 20 20 61 6e 64 20 64 65 6c 61 79 20 3c 3d 20 38 37 32 34 31 35 32 33 31 20 74 68 ┆ ; and delay <= 872415231 th┆ 0x263c0…263e0 65 6e 0a 20 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 6a 31 32 2e 20 20 20 3b 20 20 20 62 ┆en jl. j12. ; b┆ 0x263e0…26400 65 67 69 6e 20 63 2e 20 32 34 20 68 72 73 20 2b 20 38 34 31 2e 35 32 33 31 20 73 65 63 73 3b 0a ┆egin c. 24 hrs + 841.5231 secs; ┆ 0x26400…26420 (51,) 20 20 20 20 20 20 73 6e 20 20 77 30 20 20 20 20 20 30 20 20 20 20 20 20 3b 20 20 20 20 20 69 66 ┆ sn w0 0 ; if┆ 0x26420…26440 20 64 65 6c 61 79 20 3d 20 30 20 74 68 65 6e 0a 20 20 20 20 20 20 73 65 20 20 77 33 20 20 20 20 ┆ delay = 0 then se w3 ┆ 0x26440…26460 20 30 20 20 20 20 20 20 3b 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 6a 6c 2e 20 20 20 ┆ 0 ; begin jl. ┆ 0x26460…26480 20 20 20 20 20 6a 31 36 2e 20 20 20 3b 20 20 20 20 20 20 20 62 79 74 65 73 3a 3d 20 63 68 61 72 ┆ j16. ; bytes:= char┆ 0x26480…264a0 73 3a 3d 20 30 3b 20 67 6f 74 6f 20 72 65 73 75 6c 74 20 31 3b 0a 20 20 20 20 20 20 64 73 20 20 ┆s:= 0; goto result 1; ds ┆ 0x264a0…264c0 77 33 20 20 20 20 20 67 32 32 20 20 20 20 3b 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 6a ┆w3 g22 ; end; j┆ 0x264c0…264e0 6c 20 20 20 20 20 20 20 20 20 67 37 20 20 20 20 20 3b 20 20 20 65 6e 64 0a 6a 31 32 20 3a 20 73 ┆l g7 ; end j12 : s┆ 0x264e0…26500 6e 20 20 77 33 20 20 20 20 2d 31 20 20 20 20 20 20 3b 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 ┆n w3 -1 ; else ┆ 0x26500…26520 73 65 20 20 77 33 20 20 20 20 2d 31 20 20 20 20 20 20 3b 20 20 20 69 66 20 64 65 6c 61 79 20 3c ┆se w3 -1 ; if delay <┆ 0x26520…26540 3e 20 2d 31 0a 20 20 20 20 20 20 6a 6c 20 20 20 20 20 20 20 20 20 67 35 20 20 20 20 20 3b 20 20 ┆> -1 jl g5 ; ┆ 0x26540…26560 20 74 68 65 6e 20 67 6f 74 6f 20 72 65 73 75 6c 74 20 33 0a 6a 31 34 20 3a 20 64 6c 2e 20 77 30 ┆ then goto result 3 j14 : dl. w0┆ 0x26560…26580 20 20 20 20 20 69 32 2e 20 20 20 20 3b 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 73 73 20 20 77 ┆ i2. ; else ss w┆ 0x26580…265a0 30 20 20 20 20 20 62 31 33 2b 32 20 20 3b 20 6d 61 78 64 65 6c 61 79 3a 20 64 65 6c 61 79 3a 3d ┆0 b13+2 ; maxdelay: delay:=┆ 0x265a0…265c0 20 6d 61 78 20 63 6c 6f 63 6b 20 76 61 6c 20 2d 20 74 69 6d 65 3b 0a 6a 31 36 20 3a 20 61 61 20 ┆ max clock val - time; j16 : aa ┆ 0x265c0…265e0 20 77 30 20 20 20 20 20 62 31 33 2b 32 20 20 3b 0a 20 20 20 20 20 20 64 73 20 20 77 30 20 20 78 ┆ w0 b13+2 ; ds w0 x┆ 0x265e0…26600 32 2b 61 31 35 32 20 20 20 3b 20 20 20 74 69 6d 65 2e 63 75 72 72 20 62 75 66 3a 3d 20 64 65 6c ┆2+a152 ; time.curr buf:= del┆ 0x26600…26620 61 79 20 2b 20 74 69 6d 65 3b 0a 0a 3b 20 69 6e 73 65 72 74 20 74 68 65 20 6d 65 73 73 61 67 65 ┆ay + time; ; insert the message┆ 0x26620…26640 62 75 66 66 65 72 20 69 6e 20 65 76 65 6e 74 71 75 65 75 65 20 6f 66 20 74 68 65 20 64 72 69 76 ┆buffer in eventqueue of the driv┆ 0x26640…26660 65 72 20 28 74 68 65 20 65 76 65 6e 74 0a 3b 20 71 75 65 75 65 20 69 73 20 73 6f 72 74 65 64 20 ┆er (the event ; queue is sorted ┆ 0x26660…26680 61 66 74 65 72 20 64 65 6c 61 79 20 65 78 70 69 72 61 74 69 6f 6e 20 74 69 6d 65 29 20 61 6e 64 ┆after delay expiration time) and┆ 0x26680…266a0 20 63 6f 6e 74 69 6e 75 65 20 61 74 0a 3b 20 77 61 69 74 6e 65 78 74 20 69 6e 20 64 72 69 76 65 ┆ continue at ; waitnext in drive┆ 0x266a0…266c0 72 70 72 6f 63 2e 20 70 6c 65 61 73 65 20 6e 6f 74 65 20 74 68 61 74 20 74 68 65 20 6d 65 73 73 ┆rproc. please note that the mess┆ 0x266c0…266e0 61 67 65 62 75 66 66 65 72 20 69 73 0a 3b 20 6e 6f 74 20 63 6c 61 69 6d 65 64 2e 0a 20 20 20 20 ┆agebuffer is ; not claimed. ┆ 0x266e0…26700 20 20 72 6c 20 20 77 33 20 20 20 20 20 62 32 30 20 20 20 20 3b 0a 20 20 20 20 20 20 6a 6c 2e 20 ┆ rl w3 b20 ; jl. ┆ 0x26700…26720 20 20 20 20 20 20 20 6a 35 30 2e 20 20 20 3b 20 20 20 69 6e 73 65 72 74 20 62 75 66 28 63 75 72 ┆ j50. ; insert buf(cur┆ 0x26720…26740 72 20 62 75 66 29 3b 0a 0c 3b 20 70 65 6a 20 32 33 2e 30 31 2e 37 38 20 20 20 20 63 6c 6f 63 6b ┆r buf); ; pej 23.01.78 clock┆ 0x26740…26760 20 64 72 69 76 65 72 0a 0a 3b 20 69 20 6e 20 74 20 65 20 72 20 72 20 75 20 70 20 74 20 20 20 72 ┆ driver ; i n t e r r u p t r┆ 0x26760…26780 20 65 20 63 20 65 20 69 20 76 20 65 20 64 0a 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆ e c e i v e d ; ---------------┆ 0x26780…267a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x267a0…267c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 3b 0a 3b 20 74 68 69 73 20 72 6f 75 74 69 6e ┆---------------- ; ; this routin┆ 0x267c0…267e0 65 20 69 73 20 65 6e 74 65 72 65 64 20 77 68 65 6e 20 64 72 69 76 65 72 70 72 6f 63 20 72 65 63 ┆e is entered when driverproc rec┆ 0x267e0…26800 65 69 76 65 73 20 61 6e 20 69 6e 74 65 72 72 75 70 74 0a 3b 20 6f 70 65 72 61 74 69 6f 6e 20 66 ┆eives an interrupt ; operation f┆ 0x26800…26820 6f 72 20 74 68 65 20 63 6c 6f 63 6b 2e 0a 3b 0a 3b 20 69 66 20 61 20 70 6f 77 65 72 20 72 65 73 ┆or the clock. ; ; if a power res┆ 0x26820…26840 74 61 72 74 20 68 61 73 20 62 65 65 6e 20 65 78 65 63 75 74 65 64 2c 20 61 6c 6c 20 64 65 76 69 ┆tart has been executed, all devi┆ 0x26840…26860 63 65 73 20 61 72 65 20 72 65 73 65 74 0a 3b 20 61 6e 64 20 6d 65 73 73 61 67 65 73 20 71 75 65 ┆ces are reset ; and messages que┆ 0x26860…26880 75 65 64 20 74 6f 20 77 61 69 74 20 66 6f 72 20 70 6f 77 65 72 20 72 65 73 74 61 72 74 20 72 65 ┆ued to wait for power restart re┆ 0x26880…268a0 74 75 72 6e 65 64 2e 0a 63 33 35 20 3a 20 61 6c 20 20 77 30 20 20 20 20 20 30 20 20 20 20 20 20 ┆turned. c35 : al w0 0 ┆ 0x268a0…268c0 3b 20 20 20 63 2e 20 77 31 20 3d 20 63 75 72 72 20 72 65 63 65 69 76 65 72 3b 0a 20 20 20 20 20 ┆; c. w1 = curr receiver; ┆ 0x268c0…268e0 20 61 6c 2e 20 77 33 20 20 20 20 20 6a 33 38 2e 20 20 20 3b 20 73 65 74 20 63 6f 6e 74 69 6e 75 ┆ al. w3 j38. ; set continu┆ 0x268e0…26900 65 20 61 64 72 0a 20 20 20 20 20 20 72 78 20 20 77 30 20 20 20 20 20 62 37 35 20 20 20 20 3b 20 ┆e adr rx w0 b75 ; ┆ 0x26900…26920 20 20 70 3a 3d 20 61 66 74 65 72 20 70 6f 77 65 72 3b 20 61 66 74 65 72 20 70 6f 77 65 72 3a 3d ┆ p:= after power; after power:=┆ 0x26920…26940 20 30 3b 0a 20 20 20 20 20 20 73 6e 20 20 77 30 20 20 20 20 20 30 20 20 20 20 20 20 3b 20 20 20 ┆ 0; sn w0 0 ; ┆ 0x26940…26960 69 66 20 70 20 3c 3e 20 30 20 74 68 65 6e 0a 20 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 ┆if p <> 0 then jl. ┆ 0x26960…26980 6a 32 34 2e 20 20 20 3b 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 72 6c 20 20 77 32 20 20 20 ┆j24. ; begin rl w2 ┆ 0x26980…269a0 20 20 62 36 37 20 20 20 20 3b 20 20 20 20 20 65 6e 74 72 79 3a 3d 20 31 73 74 20 63 6f 6e 74 72 ┆ b67 ; entry:= 1st contr┆ 0x269a0…269c0 6f 6c 6c 65 72 20 74 61 62 20 65 6e 74 72 79 3b 0a 6a 31 38 20 3a 20 72 6c 20 20 77 33 20 20 78 ┆oller tab entry; j18 : rl w3 x┆ 0x269c0…269e0 32 2b 61 33 31 31 20 20 20 3b 20 20 20 20 20 72 65 70 65 61 74 0a 20 20 20 20 20 20 72 6c 20 20 ┆2+a311 ; repeat rl ┆ 0x269e0…26a00 77 31 20 20 78 33 2b 61 32 33 35 2d 61 32 33 30 3b 20 20 20 20 20 64 65 76 69 63 65 3a 3d 0a 20 ┆w1 x3+a235-a230; device:= ┆ 0x26a00…26a20 20 20 20 20 20 61 6c 20 20 77 30 20 20 20 20 20 30 20 20 20 20 20 20 3b 20 20 20 20 20 20 20 64 ┆ al w0 0 ; d┆ 0x26a20…26a40 65 76 69 63 65 61 64 64 72 2e 70 72 6f 63 2e 65 6e 74 72 79 3b 0a 20 20 20 20 20 20 6a 64 20 20 ┆eviceaddr.proc.entry; jd ┆ 0x26a40…26a60 20 20 20 20 20 20 20 31 3c 31 31 2b 32 20 3b 20 20 20 20 20 20 20 72 65 73 65 74 20 64 65 76 69 ┆ 1<11+2 ; reset devi┆ 0x26a60…26a80 63 65 28 64 65 76 69 63 65 2c 70 6f 77 65 72 29 3b 0a 20 20 20 20 20 20 61 6c 20 20 77 32 20 20 ┆ce(device,power); al w2 ┆ 0x26a80…26aa0 78 32 2b 61 33 31 34 20 20 20 3b 20 20 20 20 20 20 20 65 6e 74 72 79 3a 3d 20 65 6e 74 72 79 20 ┆x2+a314 ; entry:= entry ┆ 0x26aa0…26ac0 2b 20 65 6e 74 72 79 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 73 65 20 20 77 32 20 20 20 20 28 ┆+ entry length se w2 (┆ 0x26ac0…26ae0 62 36 38 29 20 20 20 3b 20 20 20 20 20 75 6e 74 69 6c 20 65 6e 74 72 79 20 3d 20 74 6f 70 20 65 ┆b68) ; until entry = top e┆ 0x26ae0…26b00 6e 74 72 79 3b 0a 20 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 6a 31 38 2e 20 20 20 3b 0a ┆ntry; jl. j18. ; ┆ 0x26b00…26b20 20 20 20 20 20 20 72 6c 20 20 77 31 20 20 20 20 20 62 31 39 20 20 20 20 3b 20 20 20 20 20 62 75 ┆ rl w1 b19 ; bu┆ 0x26b20…26b40 66 3a 3d 0a 20 20 20 20 20 20 61 6c 20 20 77 32 20 20 78 31 2b 61 35 34 20 20 20 20 3b 20 20 20 ┆f:= al w2 x1+a54 ; ┆ 0x26b40…26b60 20 20 61 64 64 72 20 6f 66 20 6d 65 73 73 20 71 20 68 65 61 64 2e 63 75 72 72 20 72 65 63 65 69 ┆ addr of mess q head.curr recei┆ 0x26b60…26b80 76 65 72 3b 0a 6a 32 30 20 3a 20 72 6c 20 20 77 32 20 20 78 32 2b 61 31 34 30 20 20 20 3b 20 72 ┆ver; j20 : rl w2 x2+a140 ; r┆ 0x26b80…26ba0 65 70 3a 20 62 75 66 3a 3d 20 6e 65 78 74 2e 62 75 66 3b 0a 6a 32 32 20 3a 20 61 6c 2e 20 77 33 ┆ep: buf:= next.buf; j22 : al. w3┆ 0x26ba0…26bc0 20 20 20 20 20 6a 33 38 2e 20 20 20 3b 20 70 72 65 70 61 72 65 20 63 6f 6e 74 69 6e 75 65 20 61 ┆ j38. ; prepare continue a┆ 0x26bc0…26be0 64 72 0a 20 20 20 20 20 20 73 6e 20 20 77 32 20 20 78 31 2b 61 35 34 20 20 20 20 3b 20 72 65 70 ┆dr sn w2 x1+a54 ; rep┆ 0x26be0…26c00 31 3a 20 69 66 20 62 75 66 3c 3e 61 64 64 72 20 6d 71 68 65 61 64 2e 63 75 72 72 20 72 65 63 20 ┆1: if buf<>addr mqhead.curr rec ┆ 0x26c00…26c20 74 68 65 6e 0a 20 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 6a 32 34 2e 20 20 20 3b 20 20 ┆then jl. j24. ; ┆ 0x26c20…26c40 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 62 7a 20 20 77 30 20 20 78 32 2b 61 31 35 30 20 20 ┆ begin bz w0 x2+a150 ┆ 0x26c40…26c60 20 3b 20 20 20 20 20 20 20 69 66 20 6f 70 65 72 61 74 69 6f 6e 2e 62 75 66 20 3c 3e 20 34 0a 20 ┆ ; if operation.buf <> 4 ┆ 0x26c60…26c80 20 20 20 20 20 73 65 20 20 77 30 20 20 20 20 20 34 20 20 20 20 20 20 3b 20 20 20 20 20 20 20 74 ┆ se w0 4 ; t┆ 0x26c80…26ca0 68 65 6e 20 67 6f 74 6f 20 72 65 70 3b 0a 20 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 6a ┆hen goto rep; jl. j┆ 0x26ca0…26cc0 32 30 2e 20 20 20 3b 20 20 20 20 20 20 20 64 65 6c 69 76 65 72 20 69 6e 74 65 72 76 65 6e 74 69 ┆20. ; deliver interventi┆ 0x26cc0…26ce0 6f 6e 28 62 75 66 29 3b 0a 20 20 20 20 20 20 61 6c 2e 20 77 33 20 20 20 20 20 6a 32 32 2e 20 20 ┆on(buf); al. w3 j22. ┆ 0x26ce0…26d00 20 3b 20 20 20 20 20 20 20 67 6f 74 6f 20 72 65 70 31 3b 0a 20 20 20 20 20 20 6a 6c 2e 20 20 20 ┆ ; goto rep1; jl. ┆ 0x26d00…26d20 20 20 20 20 20 6a 35 31 2e 20 20 20 3b 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 20 20 20 ┆ j51. ; end; ┆ 0x26d20…26d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 20 20 65 6e 64 3b 0a 0c 3b 20 70 65 6a 20 32 ┆ ; end; ; pej 2┆ 0x26d40…26d60 33 2e 30 31 2e 37 38 20 20 20 20 63 6c 6f 63 6b 20 64 72 69 76 65 72 0a 0a 3b 20 69 66 20 74 68 ┆3.01.78 clock driver ; if th┆ 0x26d60…26d80 65 20 63 6c 6f 63 6b 20 68 61 73 20 62 65 65 6e 20 63 68 61 6e 67 65 64 20 73 6f 6d 65 20 6d 65 ┆e clock has been changed some me┆ 0x26d80…26da0 73 73 61 67 65 73 20 6d 61 79 20 62 65 20 72 65 74 75 72 6e 65 64 0a 3b 20 28 74 68 6f 73 65 20 ┆ssages may be returned ; (those ┆ 0x26da0…26dc0 77 61 69 74 69 6e 67 20 66 6f 72 20 63 6c 6f 63 6b 63 68 61 6e 67 65 20 61 6e 64 20 74 68 6f 73 ┆waiting for clockchange and thos┆ 0x26dc0…26de0 65 20 77 61 69 74 69 6e 67 20 69 6e 20 72 65 61 6c 20 74 69 6d 65 0a 3b 20 64 65 6c 61 79 29 2e ┆e waiting in real time ; delay).┆ 0x26de0…26e00 20 65 78 70 69 72 61 74 69 6f 6e 20 74 69 6d 65 20 69 6e 20 6d 65 73 73 61 67 65 73 20 77 61 69 ┆ expiration time in messages wai┆ 0x26e00…26e20 74 69 6e 67 20 69 6e 20 65 66 66 65 63 74 69 76 65 20 74 69 6d 65 0a 3b 20 64 65 6c 61 79 20 69 ┆ting in effective time ; delay i┆ 0x26e20…26e40 73 20 61 64 6a 75 73 74 65 64 20 61 6e 64 20 74 68 65 20 6d 65 73 73 61 67 65 20 71 75 65 75 65 ┆s adjusted and the message queue┆ 0x26e40…26e60 20 69 73 20 72 65 73 6f 72 74 65 64 2e 0a 3b 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 61 20 6d 65 ┆ is resorted. ; called when a me┆ 0x26e60…26e80 73 73 61 67 65 20 6f 72 20 61 6e 20 69 6e 74 65 72 72 75 70 74 20 69 73 20 72 65 63 65 69 76 65 ┆ssage or an interrupt is receive┆ 0x26e80…26ea0 64 0a 3b 20 63 61 6c 6c 65 64 20 77 69 74 68 20 77 31 3d 63 75 72 20 72 65 63 65 69 76 65 72 20 ┆d ; called with w1=cur receiver ┆ 0x26ea0…26ec0 20 61 6e 64 20 77 33 20 68 6f 6c 64 69 6e 67 20 74 68 65 20 72 65 74 75 72 6e 20 61 64 72 0a 6a ┆ and w3 holding the return adr j┆ 0x26ec0…26ee0 32 34 20 3a 20 72 6c 20 20 77 30 20 20 20 20 20 62 31 35 20 20 20 20 3b 20 20 20 63 2e 20 77 31 ┆24 : rl w0 b15 ; c. w1┆ 0x26ee0…26f00 20 3d 20 63 75 72 72 20 72 65 63 65 69 76 65 72 3b 0a 20 20 20 20 20 20 6c 6f 20 20 77 30 20 20 ┆ = curr receiver; lo w0 ┆ 0x26f00…26f20 20 20 20 62 31 35 2b 32 20 20 3b 0a 20 20 20 20 20 20 73 6e 20 20 77 30 20 20 20 20 20 30 20 20 ┆ b15+2 ; sn w0 0 ┆ 0x26f20…26f40 20 20 20 20 3b 20 20 20 69 66 20 63 6c 6f 63 6b 63 68 61 6e 67 65 20 3c 3e 20 30 20 74 68 65 6e ┆ ; if clockchange <> 0 then┆ 0x26f40…26f60 0a 20 20 20 20 20 20 6a 6c 20 20 20 20 20 20 20 20 20 78 33 20 20 20 20 20 3b 20 20 20 62 65 67 ┆ jl x3 ; beg┆ 0x26f60…26f80 69 6e 0a 20 20 20 20 20 20 72 73 2e 20 77 33 20 20 20 20 20 69 39 2e 20 20 20 20 3b 20 73 61 76 ┆in rs. w3 i9. ; sav┆ 0x26f80…26fa0 65 20 72 65 74 75 72 6e 20 61 64 72 0a 20 20 20 20 20 20 61 6c 20 20 77 32 20 20 78 31 2b 61 35 ┆e return adr al w2 x1+a5┆ 0x26fa0…26fc0 34 20 20 20 20 3b 0a 20 20 20 20 20 20 73 6e 20 20 77 32 20 28 78 31 2b 61 35 34 29 20 20 20 3b ┆4 ; sn w2 (x1+a54) ;┆ 0x26fc0…26fe0 20 20 20 20 20 69 66 20 6d 65 73 73 20 71 2e 63 75 72 72 20 72 65 63 20 2d 2c 65 6d 70 74 79 20 ┆ if mess q.curr rec -,empty ┆ 0x26fe0…27000 74 68 65 6e 0a 20 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 6a 33 36 2e 20 20 20 3b 20 20 ┆then jl. j36. ; ┆ 0x27000…27020 (52,) 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 64 6c 20 20 77 30 20 20 78 31 2b 61 35 35 20 20 20 ┆ begin dl w0 x1+a55 ┆ 0x27020…27040 20 3b 20 20 20 20 20 20 20 68 65 6c 70 20 71 20 68 65 61 64 3a 3d 0a 20 20 20 20 20 20 64 73 2e ┆ ; help q head:= ds.┆ 0x27040…27060 20 77 30 20 20 20 20 20 69 34 2e 20 20 20 20 3b 20 20 20 20 20 20 20 6d 65 73 73 20 71 20 68 65 ┆ w0 i4. ; mess q he┆ 0x27060…27080 61 64 2e 63 75 72 72 20 72 65 63 65 69 76 65 72 3b 0a 20 20 20 20 20 20 72 73 20 20 77 32 20 20 ┆ad.curr receiver; rs w2 ┆ 0x27080…270a0 78 31 2b 61 35 34 20 20 20 20 3b 0a 20 20 20 20 20 20 72 73 20 20 77 32 20 20 78 31 2b 61 35 35 ┆x1+a54 ; rs w2 x1+a55┆ 0x270a0…270c0 20 20 20 20 3b 20 20 20 20 20 20 20 6d 65 73 73 20 71 20 68 65 61 64 2e 63 75 72 72 20 72 65 63 ┆ ; mess q head.curr rec┆ 0x270c0…270e0 65 69 76 65 72 3a 3d 20 65 6d 70 74 79 3b 0a 20 20 20 20 20 20 61 6c 2e 20 77 30 20 20 20 20 20 ┆eiver:= empty; al. w0 ┆ 0x270e0…27100 69 33 2e 20 20 20 20 3b 20 20 20 20 20 20 20 6e 65 78 74 2e 6c 61 73 74 2e 68 65 6c 70 20 71 20 ┆i3. ; next.last.help q ┆ 0x27100…27120 68 65 61 64 3a 3d 0a 20 20 20 20 20 20 72 73 2e 20 77 30 20 20 20 20 28 69 34 2e 29 20 20 20 3b ┆head:= rs. w0 (i4.) ;┆ 0x27120…27140 20 20 20 20 20 20 20 61 64 64 72 20 6f 66 20 68 65 6c 70 20 71 20 68 65 61 64 3b 0a 20 20 20 20 ┆ addr of help q head; ┆ 0x27140…27160 20 20 72 6c 2e 20 77 32 20 20 20 20 20 69 33 2e 20 20 20 20 3b 20 20 20 20 20 20 20 62 75 66 3a ┆ rl. w2 i3. ; buf:┆ 0x27160…27180 3d 20 6e 65 78 74 2e 68 65 6c 70 20 71 20 68 65 61 64 3b 0a 20 20 20 20 20 20 72 73 20 20 77 30 ┆= next.help q head; rs w0┆ 0x27180…271a0 20 20 78 32 2b 32 20 20 20 20 20 20 3b 20 20 20 20 20 20 20 6c 61 73 74 2e 62 75 66 3a 3d 20 61 ┆ x2+2 ; last.buf:= a┆ 0x271a0…271c0 64 64 72 20 6f 66 20 68 65 6c 70 20 71 20 68 65 61 64 3b 0a 6a 32 36 20 3a 20 73 6e 2e 20 77 32 ┆ddr of help q head; j26 : sn. w2┆ 0x271c0…271e0 20 20 20 20 28 69 35 2e 29 20 20 20 3b 20 72 65 70 3a 20 20 69 66 20 62 75 66 20 3c 3e 20 61 64 ┆ (i5.) ; rep: if buf <> ad┆ 0x271e0…27200 64 72 20 6f 66 20 68 65 6c 70 20 71 20 68 65 61 64 20 74 68 65 6e 0a 20 20 20 20 20 20 6a 6c 2e ┆dr of help q head then jl.┆ 0x27200…27220 20 20 20 20 20 20 20 20 6a 33 36 2e 20 20 20 3b 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 ┆ j36. ; begin ┆ 0x27220…27240 20 20 20 62 7a 20 20 77 30 20 20 78 32 2b 61 31 35 30 20 20 20 3b 0a 20 20 20 20 20 20 73 65 20 ┆ bz w0 x2+a150 ; se ┆ 0x27240…27260 20 77 30 20 20 20 20 20 32 20 20 20 20 20 20 3b 20 20 20 20 20 20 20 20 20 69 66 20 6f 70 65 72 ┆ w0 2 ; if oper┆ 0x27260…27280 61 74 69 6f 6e 2e 62 75 66 20 3d 20 32 20 74 68 65 6e 0a 20 20 20 20 20 20 6a 6c 2e 20 20 20 20 ┆ation.buf = 2 then jl. ┆ 0x27280…272a0 20 20 20 20 6a 33 30 2e 20 20 20 3b 20 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 6a 32 38 20 3a ┆ j30. ; begin j28 :┆ 0x272a0…272c0 20 6a 6c 2e 20 77 33 20 20 20 20 20 6a 35 31 2e 20 20 20 3b 20 73 65 6e 64 3a 20 20 20 20 20 64 ┆ jl. w3 j51. ; send: d┆ 0x272c0…272e0 65 6c 69 76 65 72 20 69 6e 74 65 72 76 65 6e 74 69 6f 6e 28 62 75 66 29 3b 0a 20 20 20 20 20 20 ┆eliver intervention(buf); ┆ 0x272e0…27300 6a 6c 2e 20 20 20 20 20 20 20 20 6a 32 36 2e 20 20 20 3b 20 20 20 20 20 20 20 20 20 20 20 67 6f ┆jl. j26. ; go┆ 0x27300…27320 74 6f 20 72 65 70 3b 0a 6a 33 30 20 3a 20 64 6c 20 20 77 30 20 20 78 32 2b 61 31 35 32 20 20 20 ┆to rep; j30 : dl w0 x2+a152 ┆ 0x27320…27340 3b 20 20 20 20 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 62 7a 20 20 77 31 20 20 78 32 2b ┆; end; bz w1 x2+┆ 0x27340…27360 61 31 35 30 2b 31 20 3b 0a 20 20 20 20 20 20 73 6f 20 20 77 31 20 20 20 20 20 32 2e 31 30 30 20 ┆a150+1 ; so w1 2.100 ┆ 0x27360…27380 20 3b 20 20 20 20 20 20 20 20 20 69 66 20 72 65 61 6c 20 74 69 6d 65 2e 6d 6f 64 65 2e 62 75 66 ┆ ; if real time.mode.buf┆ 0x27380…273a0 20 74 68 65 6e 0a 20 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 6a 33 32 2e 20 20 20 3b 20 ┆ then jl. j32. ; ┆ 0x273a0…273c0 20 20 20 20 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 20 73 73 20 20 77 30 20 20 20 20 20 62 ┆ begin ss w0 b┆ 0x273c0…273e0 31 33 2b 32 20 20 3b 20 20 20 20 20 20 20 20 20 20 20 69 66 20 74 69 6d 65 20 3e 20 74 69 6d 65 ┆13+2 ; if time > time┆ 0x273e0…27400 2e 62 75 66 0a 20 20 20 20 20 20 73 78 20 20 20 20 20 20 20 20 20 32 2e 31 20 20 20 20 3b 20 20 ┆.buf sx 2.1 ; ┆ 0x27400…27420 20 20 20 20 20 20 20 20 20 74 68 65 6e 20 67 6f 74 6f 20 73 65 6e 64 3b 0a 20 20 20 20 20 20 6a ┆ then goto send; j┆ 0x27420…27440 6c 2e 20 20 20 20 20 20 20 20 6a 33 34 2e 20 20 20 3b 20 20 20 20 20 20 20 20 20 65 6e 64 0a 20 ┆l. j34. ; end ┆ 0x27440…27460 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 6a 32 38 2e 20 20 20 3b 20 20 20 20 20 20 20 20 ┆ jl. j28. ; ┆ 0x27460…27480 20 65 6c 73 65 0a 6a 33 32 20 3a 20 73 6e 2e 20 77 33 20 20 20 20 28 69 37 2e 29 20 20 20 3b 0a ┆ else j32 : sn. w3 (i7.) ; ┆ 0x27480…274a0 20 20 20 20 20 20 73 65 2e 20 77 30 20 20 20 20 28 69 32 2e 29 20 20 20 3b 20 20 20 20 20 20 20 ┆ se. w0 (i2.) ; ┆ 0x274a0…274c0 20 20 69 66 20 74 69 6d 65 2e 62 75 66 20 3c 3e 20 6d 61 78 20 63 6c 6f 63 6b 20 76 61 6c 0a 20 ┆ if time.buf <> max clock val ┆ 0x274c0…274e0 20 20 20 20 20 61 61 20 20 77 30 20 20 20 20 20 62 31 35 2b 32 20 20 3b 20 20 20 20 20 20 20 20 ┆ aa w0 b15+2 ; ┆ 0x274e0…27500 20 74 68 65 6e 20 74 69 6d 65 2e 62 75 66 3a 3d 20 74 69 6d 65 2e 62 75 66 0a 20 20 20 20 20 20 ┆ then time.buf:= time.buf ┆ 0x27500…27520 64 73 20 20 77 30 20 20 78 32 2b 61 31 35 32 20 20 20 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ds w0 x2+a152 ; ┆ 0x27520…27540 20 20 20 20 20 20 20 20 20 20 20 20 2b 20 63 6c 6f 63 6b 63 68 61 6e 67 65 3b 0a 6a 33 34 20 3a ┆ + clockchange; j34 :┆ 0x27540…27560 20 72 6c 20 20 77 30 20 20 78 32 2b 30 20 20 20 20 20 20 3b 20 20 20 20 20 20 20 20 20 6e 65 78 ┆ rl w0 x2+0 ; nex┆ 0x27560…27580 74 3a 3d 20 6e 65 78 74 2e 62 75 66 3b 0a 20 20 20 20 20 20 72 73 2e 20 77 30 20 20 20 20 20 69 ┆t:= next.buf; rs. w0 i┆ 0x27580…275a0 36 2e 20 20 20 20 3b 0a 20 20 20 20 20 20 6a 6c 20 20 77 33 20 20 20 20 20 64 35 20 20 20 20 20 ┆6. ; jl w3 d5 ┆ 0x275a0…275c0 3b 20 20 20 20 20 20 20 20 20 72 65 6d 6f 76 65 28 62 75 66 29 3b 20 63 2e 20 66 72 6f 6d 20 68 ┆; remove(buf); c. from h┆ 0x275c0…275e0 65 6c 70 20 71 3b 0a 20 20 20 20 20 20 6a 6c 2e 20 77 33 20 20 20 20 20 6a 35 30 2e 20 20 20 3b ┆elp q; jl. w3 j50. ;┆ 0x275e0…27600 20 20 20 20 20 20 20 20 20 69 6e 73 65 72 74 20 62 75 66 28 62 75 66 29 3b 0a 20 20 20 20 20 20 ┆ insert buf(buf); ┆ 0x27600…27620 72 6c 2e 20 77 32 20 20 20 20 20 69 36 2e 20 20 20 20 3b 20 20 20 20 20 20 20 20 20 62 75 66 3a ┆rl. w2 i6. ; buf:┆ 0x27620…27640 3d 20 6e 65 78 74 3b 0a 20 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 6a 32 36 2e 20 20 20 ┆= next; jl. j26. ┆ 0x27640…27660 3b 20 20 20 20 20 20 20 20 20 67 6f 74 6f 20 72 65 70 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ┆; goto rep; ┆ 0x27660…27680 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 20 20 20 20 20 20 65 6e 64 3b 0a 6a 33 36 20 3a 20 6c ┆ ; end; j36 : l┆ 0x27680…276a0 64 20 20 77 30 20 20 20 20 2d 31 30 30 20 20 20 20 3b 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 ┆d w0 -100 ; end; ┆ 0x276a0…276c0 20 20 64 73 20 20 77 30 20 20 20 20 20 62 31 35 2b 32 20 20 3b 20 20 20 20 20 63 6c 6f 63 6b 63 ┆ ds w0 b15+2 ; clockc┆ 0x276c0…276e0 68 61 6e 67 65 3a 3d 20 30 3b 0a 20 20 20 20 20 20 72 6c 20 20 77 31 20 20 20 20 20 62 31 39 20 ┆hange:= 0; rl w1 b19 ┆ 0x276e0…27700 20 20 20 3b 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 28 69 39 2e 29 ┆ ; end; jl. (i9.)┆ 0x27700…27720 20 20 20 20 3b 0a 0c 0c 3b 20 70 65 6a 20 32 33 2e 30 31 2e 37 38 20 20 20 20 63 6c 6f 63 6b 20 ┆ ; ; pej 23.01.78 clock ┆ 0x27720…27740 64 72 69 76 65 72 0a 0a 3b 20 73 63 61 6e 20 74 68 65 20 6d 65 73 73 61 67 65 20 71 75 65 75 65 ┆driver ; scan the message queue┆ 0x27740…27760 20 61 6e 64 20 72 65 74 75 72 6e 20 62 75 66 66 65 72 73 20 77 69 74 68 20 64 65 6c 61 79 73 20 ┆ and return buffers with delays ┆ 0x27760…27780 65 78 70 69 72 65 64 2e 0a 6a 33 38 20 3a 20 72 6c 20 20 77 32 20 20 78 31 2b 61 35 34 20 20 20 ┆expired. j38 : rl w2 x1+a54 ┆ 0x27780…277a0 20 3b 20 20 20 63 2e 20 77 31 20 3d 20 63 75 72 72 20 72 65 63 65 69 76 65 72 3b 0a 20 20 20 20 ┆ ; c. w1 = curr receiver; ┆ 0x277a0…277c0 20 20 73 6e 20 20 77 32 20 20 78 31 2b 61 35 34 20 20 20 20 3b 20 72 65 70 3a 20 62 75 66 3a 3d ┆ sn w2 x1+a54 ; rep: buf:=┆ 0x277c0…277e0 20 6e 65 78 74 2e 6d 65 73 73 20 71 20 68 65 61 64 2e 63 75 72 72 20 72 65 63 3b 0a 20 20 20 20 ┆ next.mess q head.curr rec; ┆ 0x277e0…27800 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 6a 34 30 2e 20 20 20 3b 20 20 20 69 66 20 62 75 66 20 3d ┆ jl. j40. ; if buf =┆ 0x27800…27820 20 61 64 64 72 20 6f 66 20 6d 65 73 73 20 71 20 68 65 61 64 2e 63 75 72 72 20 72 65 63 0a 20 20 ┆ addr of mess q head.curr rec ┆ 0x27820…27840 20 20 20 20 64 6c 20 20 77 30 20 20 78 32 2b 61 31 35 32 20 20 20 3b 20 20 20 74 68 65 6e 20 67 ┆ dl w0 x2+a152 ; then g┆ 0x27840…27860 6f 74 6f 20 63 68 65 63 6b 20 74 69 6d 65 6f 75 74 73 3b 0a 20 20 20 20 20 20 73 73 20 20 77 30 ┆oto check timeouts; ss w0┆ 0x27860…27880 20 20 20 20 20 62 31 33 2b 32 20 20 3b 0a 20 20 20 20 20 20 73 78 20 20 20 20 20 20 20 20 20 32 ┆ b13+2 ; sx 2┆ 0x27880…278a0 2e 31 20 20 20 20 3b 20 20 20 69 66 20 74 69 6d 65 20 3c 20 74 69 6d 65 2e 62 75 66 0a 20 20 20 ┆.1 ; if time < time.buf ┆ 0x278a0…278c0 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 6a 34 30 2e 20 20 20 3b 20 20 20 74 68 65 6e 20 67 6f ┆ jl. j40. ; then go┆ 0x278c0…278e0 74 6f 20 63 68 65 63 6b 20 74 69 6d 65 6f 75 74 73 3b 0a 20 20 20 20 20 20 72 73 20 20 77 32 20 ┆to check timeouts; rs w2 ┆ 0x278e0…27900 20 20 20 20 62 31 38 20 20 20 20 3b 20 20 20 63 75 72 72 20 62 75 66 3a 3d 20 62 75 66 3b 0a 20 ┆ b18 ; curr buf:= buf; ┆ 0x27900…27920 20 20 20 20 20 61 6c 2e 20 77 33 20 20 20 20 20 6a 33 38 2e 20 20 20 3b 20 20 20 6e 6f 20 6f 70 ┆ al. w3 j38. ; no op┆ 0x27920…27940 65 72 61 74 69 6f 6e 3b 20 63 2e 20 72 65 73 75 6c 74 20 31 2c 20 73 74 61 74 75 73 20 30 3b 0a ┆eration; c. result 1, status 0; ┆ 0x27940…27960 20 20 20 20 20 20 6a 6c 20 20 20 20 20 20 20 20 20 67 32 36 20 20 20 20 3b 20 20 20 67 6f 74 6f ┆ jl g26 ; goto┆ 0x27960…27980 20 72 65 70 3b 0a 0a 3b 20 73 63 61 6e 20 74 68 65 20 74 69 6d 65 6f 75 74 20 71 75 65 75 65 20 ┆ rep; ; scan the timeout queue ┆ 0x27980…279a0 6f 66 20 64 65 76 69 63 65 73 20 61 6e 64 20 72 65 73 65 74 20 77 69 74 68 20 74 69 6d 65 6f 75 ┆of devices and reset with timeou┆ 0x279a0…279c0 74 20 72 65 73 75 6c 74 0a 3b 20 66 6f 72 20 74 69 6d 65 72 73 20 77 68 69 63 68 20 68 61 76 65 ┆t result ; for timers which have┆ 0x279c0…279e0 20 72 75 6e 20 6f 75 74 2e 20 72 65 74 75 72 6e 20 74 6f 20 77 61 69 74 6e 65 78 74 20 69 6e 20 ┆ run out. return to waitnext in ┆ 0x279e0…27a00 64 72 69 76 65 72 70 72 6f 63 2e 0a 6a 34 30 20 3a 20 64 6c 20 20 77 32 20 20 20 20 20 62 31 33 ┆driverproc. j40 : dl w2 b13┆ 0x27a00…27a20 2b 32 20 20 3b 20 63 68 65 63 6b 20 74 69 6d 65 6f 75 74 73 3a 0a 20 20 20 20 20 20 64 6c 20 20 ┆+2 ; check timeouts: dl ┆ 0x27a20…27a40 77 30 20 20 20 20 20 62 37 30 2b 32 20 20 3b 20 20 20 74 69 6d 65 75 73 65 64 3a 3d 20 74 69 6d ┆w0 b70+2 ; timeused:= tim┆ 0x27a40…27a60 65 20 2d 20 6c 61 73 74 20 69 6e 73 70 65 63 74 65 64 3b 0a 20 20 20 20 20 20 64 73 20 20 77 32 ┆e - last inspected; ds w2┆ 0x27a60…27a80 20 20 20 20 20 62 37 30 2b 32 20 20 3b 20 20 20 6c 61 73 74 20 69 6e 73 70 65 63 74 65 64 3a 3d ┆ b70+2 ; last inspected:=┆ 0x27a80…27aa0 20 74 69 6d 65 3b 0a 20 20 20 20 20 20 73 73 20 20 77 32 20 20 20 20 20 30 20 20 20 20 20 20 3b ┆ time; ss w2 0 ;┆ 0x27aa0…27ac0 20 20 20 69 66 20 74 69 6d 65 75 73 65 64 20 3e 3d 20 31 3c 32 34 0a 20 20 20 20 20 20 73 65 20 ┆ if timeused >= 1<24 se ┆ 0x27ac0…27ae0 20 77 31 20 20 20 20 20 30 20 20 20 20 20 20 3b 20 20 20 74 68 65 6e 20 74 69 6d 65 75 73 65 64 ┆ w1 0 ; then timeused┆ 0x27ae0…27b00 3a 3d 20 6d 61 78 69 6d 75 6d 3b 0a 20 20 20 20 20 20 61 6c 20 20 77 32 20 20 20 20 2d 31 20 20 ┆:= maximum; al w2 -1 ┆ 0x27b00…27b20 20 20 20 20 3b 20 20 20 63 2e 20 74 69 6d 65 75 73 65 64 20 69 73 20 75 6e 73 69 67 6e 65 64 20 ┆ ; c. timeused is unsigned ┆ 0x27b20…27b40 69 6e 74 65 67 65 72 3b 0a 20 20 20 20 20 20 61 6c 20 20 77 33 20 20 20 20 20 62 36 39 20 20 20 ┆integer; al w3 b69 ┆ 0x27b40…27b60 20 3b 20 20 20 64 65 76 3a 3d 20 61 64 64 72 20 6f 66 20 74 69 6d 65 6f 75 74 20 71 20 68 65 61 ┆ ; dev:= addr of timeout q hea┆ 0x27b60…27b80 64 3b 0a 6a 34 32 20 3a 20 72 6c 20 20 77 33 20 20 78 33 2b 30 20 20 20 20 20 20 3b 20 72 65 70 ┆d; j42 : rl w3 x3+0 ; rep┆ 0x27b80…27ba0 3a 20 64 65 76 3a 3d 20 6e 65 78 74 2e 64 65 76 3b 0a 6a 34 34 20 3a 20 73 6e 20 20 77 33 20 20 ┆: dev:= next.dev; j44 : sn w3 ┆ 0x27ba0…27bc0 20 20 20 62 36 39 20 20 20 20 3b 20 72 65 70 31 3a 20 69 66 20 64 65 76 20 3d 20 61 64 64 72 20 ┆ b69 ; rep1: if dev = addr ┆ 0x27bc0…27be0 6f 66 20 74 69 6d 65 6f 75 74 20 71 20 68 65 61 64 0a 20 20 20 20 20 20 6a 65 20 20 20 20 20 20 ┆of timeout q head je ┆ 0x27be0…27c00 20 20 28 62 32 30 29 20 20 20 3b 20 20 20 74 68 65 6e 20 67 6f 74 6f 20 77 61 69 74 6e 65 78 74 ┆ (b20) ; then goto waitnext┆ 0x27c00…27c20 (53,) 3b 20 63 2e 20 69 6e 20 64 72 69 76 65 72 70 72 6f 63 3b 0a 20 20 20 20 20 20 72 6c 20 20 77 30 ┆; c. in driverproc; rl w0┆ 0x27c20…27c40 20 20 78 33 2d 61 32 34 32 2b 61 32 34 34 3b 0a 20 20 20 20 20 20 77 73 20 20 77 30 20 20 20 20 ┆ x3-a242+a244; ws w0 ┆ 0x27c40…27c60 20 34 20 20 20 20 20 20 3b 20 20 20 74 69 6d 65 72 2e 64 65 76 3a 3d 0a 20 20 20 20 20 20 72 73 ┆ 4 ; timer.dev:= rs┆ 0x27c60…27c80 20 20 77 30 20 20 78 33 2d 61 32 34 32 2b 61 32 34 34 3b 20 74 69 6d 65 72 2e 64 65 76 20 2d 20 ┆ w0 x3-a242+a244; timer.dev - ┆ 0x27c80…27ca0 74 69 6d 65 75 73 65 64 3b 0a 20 20 20 20 20 20 73 78 20 20 20 20 20 20 20 20 20 32 2e 31 20 20 ┆timeused; sx 2.1 ┆ 0x27ca0…27cc0 20 20 3b 20 20 20 69 66 20 74 69 6d 65 72 2e 64 65 76 20 77 61 73 20 3e 20 74 69 6d 65 75 73 65 ┆ ; if timer.dev was > timeuse┆ 0x27cc0…27ce0 64 0a 20 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 6a 34 32 2e 20 20 20 3b 20 20 20 74 68 ┆d jl. j42. ; th┆ 0x27ce0…27d00 65 6e 20 67 6f 74 6f 20 72 65 70 3b 20 63 2e 20 75 6e 73 69 67 6e 65 64 20 63 6f 6d 70 61 72 69 ┆en goto rep; c. unsigned compari┆ 0x27d00…27d20 73 6f 6e 3b 0a 20 20 20 20 20 20 72 6c 20 20 77 31 20 20 78 33 2d 61 32 34 32 2b 61 32 33 35 3b ┆son; rl w1 x3-a242+a235;┆ 0x27d20…27d40 20 64 65 76 69 63 65 3a 3d 20 64 65 76 69 63 65 61 64 64 72 2e 74 69 6d 65 6f 75 74 20 6f 70 3b ┆ device:= deviceaddr.timeout op;┆ 0x27d40…27d60 0a 20 20 20 20 20 20 72 6c 20 20 77 33 20 20 78 33 2b 30 20 20 20 20 20 20 3b 20 20 20 64 65 76 ┆ rl w3 x3+0 ; dev┆ 0x27d60…27d80 3a 3d 20 6e 65 78 74 2e 64 65 76 3b 0a 20 20 20 20 20 20 61 6c 20 20 77 30 20 20 20 20 20 31 20 ┆:= next.dev; al w0 1 ┆ 0x27d80…27da0 20 20 20 20 20 3b 0a 20 20 20 20 20 20 6a 64 20 20 20 20 20 20 20 20 20 31 3c 31 31 2b 32 20 3b ┆ ; jd 1<11+2 ;┆ 0x27da0…27dc0 20 20 20 72 65 73 65 74 20 64 65 76 69 63 65 28 64 65 76 69 63 65 2c 74 69 6d 65 6f 75 74 29 3b ┆ reset device(device,timeout);┆ 0x27dc0…27de0 0a 20 20 20 20 20 20 6a 64 2e 20 20 20 20 20 20 20 20 6a 34 34 2e 20 20 20 3b 20 20 20 67 6f 74 ┆ jd. j44. ; got┆ 0x27de0…27e00 6f 20 72 65 70 31 3b 0a 0a 3b 20 76 61 72 69 61 62 6c 65 73 0a 20 20 20 20 20 20 61 30 3e 30 2b ┆o rep1; ; variables a0>0+┆ 0x27e00…27e20 61 30 3e 32 2b 61 30 3e 34 20 20 20 20 3b 20 6f 70 65 72 61 74 69 6f 6e 20 61 6e 64 20 6d 6f 64 ┆a0>2+a0>4 ; operation and mod┆ 0x27e20…27e40 65 20 6d 61 73 6b 73 0a 69 30 20 20 3a 20 61 30 3e 30 2b 61 30 3e 32 2b 61 30 3e 34 2b 61 30 3e ┆e masks i0 : a0>0+a0>2+a0>4+a0>┆ 0x27e40…27e60 36 0a 69 31 20 20 3a 20 31 30 30 30 30 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 63 6f 6e 73 ┆6 i1 : 10000 ; cons┆ 0x27e60…27e80 74 61 6e 74 20 31 30 30 30 30 0a 69 37 20 20 3a 20 38 2e 33 37 37 37 37 37 37 37 20 20 20 20 20 ┆tant 10000 i7 : 8.37777777 ┆ 0x27e80…27ea0 20 20 20 3b 20 6d 61 78 20 63 6c 6f 63 6b 20 76 61 6c 75 65 20 28 64 6f 75 62 6c 65 77 6f 72 64 ┆ ; max clock value (doubleword┆ 0x27ea0…27ec0 29 0a 69 32 20 20 3a 20 38 2e 37 37 37 37 37 37 37 37 20 20 20 20 20 20 20 20 3b 20 0a 69 33 20 ┆) i2 : 8.77777777 ; i3 ┆ 0x27ec0…27ee0 20 3a 20 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 64 6f 75 62 6c 65 77 6f 72 ┆ : 0 ; doublewor┆ 0x27ee0…27f00 64 20 75 73 65 64 20 66 6f 72 20 68 65 6c 70 20 71 20 68 65 61 64 0a 69 34 20 20 3a 20 30 20 20 ┆d used for help q head i4 : 0 ┆ 0x27f00…27f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0a 69 35 20 20 3a 20 69 33 20 20 20 20 20 20 20 ┆ ; i5 : i3 ┆ 0x27f20…27f40 20 20 20 20 20 20 20 20 20 3b 20 61 64 64 72 20 6f 66 20 68 65 6c 70 20 71 20 68 65 61 64 0a 69 ┆ ; addr of help q head i┆ 0x27f40…27f60 36 20 20 3a 20 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 77 6f 72 6b 2c 20 73 ┆6 : 0 ; work, s┆ 0x27f60…27f80 61 76 65 64 20 62 75 66 20 69 6e 20 6c 6f 6f 70 0a 69 38 20 20 3a 20 30 20 20 20 20 20 20 20 20 ┆aved buf in loop i8 : 0 ┆ 0x27f80…27fa0 20 20 20 20 20 20 20 20 20 3b 20 73 61 76 65 64 20 62 75 66 66 65 72 20 66 72 6f 6d 20 6d 65 73 ┆ ; saved buffer from mes┆ 0x27fa0…27fc0 73 61 67 65 20 72 65 63 65 69 76 65 64 0a 69 39 20 20 3a 20 30 20 20 20 20 20 20 20 20 20 20 20 ┆sage received i9 : 0 ┆ 0x27fc0…27fe0 20 20 20 20 20 20 3b 20 72 65 74 75 72 6e 20 61 64 72 20 66 6f 72 20 6a 32 34 0a 0c 3b 20 70 65 ┆ ; return adr for j24 ; pe┆ 0x27fe0…28000 6a 20 32 33 2e 30 31 2e 37 38 20 20 20 20 63 6c 6f 63 6b 20 64 72 69 76 65 72 0a 0a 3b 20 70 72 ┆j 23.01.78 clock driver ; pr┆ 0x28000…28020 6f 63 65 64 75 72 65 20 69 6e 73 65 72 74 20 62 75 66 28 62 75 66 29 3b 0a 3b 20 2d 2d 2d 2d 2d ┆ocedure insert buf(buf); ; -----┆ 0x28020…28040 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x28040…28060 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 3b 20 69 6e 73 ┆-------------------------- ; ins┆ 0x28060…28080 65 72 74 73 20 61 20 6d 65 73 73 61 67 65 62 75 66 66 65 72 20 69 6e 20 74 68 65 20 65 76 65 6e ┆erts a messagebuffer in the even┆ 0x28080…280a0 74 71 75 65 75 65 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 61 20 62 75 66 66 65 72 0a 3b 20 77 69 ┆tqueue in front of a buffer ; wi┆ 0x280a0…280c0 74 68 20 68 69 67 68 65 72 20 64 65 6c 61 79 20 65 78 70 69 72 61 74 69 6f 6e 20 74 69 6d 65 2e ┆th higher delay expiration time.┆ 0x280c0…280e0 0a 3b 0a 3b 20 72 65 67 69 73 74 65 72 73 3a 20 63 61 6c 6c 20 20 20 20 20 20 20 20 20 20 20 20 ┆ ; ; registers: call ┆ 0x280e0…28100 20 20 65 78 69 74 0a 3b 20 77 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ exit ; w0 ┆ 0x28100…28120 20 20 20 20 20 20 64 65 73 74 72 6f 79 65 64 0a 3b 20 77 31 20 20 20 20 20 20 20 20 20 20 20 20 ┆ destroyed ; w1 ┆ 0x28120…28140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 73 74 72 6f 79 65 64 0a 3b 20 77 32 20 20 20 ┆ destroyed ; w2 ┆ 0x28140…28160 20 20 20 20 20 20 62 75 66 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 63 68 61 6e 67 65 ┆ buf unchange┆ 0x28160…28180 64 0a 3b 20 77 33 20 20 20 20 20 20 20 20 20 6c 69 6e 6b 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆d ; w3 link ┆ 0x28180…281a0 20 64 65 73 74 72 6f 79 65 64 0a 3b 0a 3b 20 65 6e 74 72 79 3a 20 6a 35 30 3b 20 72 65 74 75 72 ┆ destroyed ; ; entry: j50; retur┆ 0x281a0…281c0 6e 3a 20 6c 69 6e 6b 2b 30 0a 62 2e 20 69 33 20 77 2e 0a 6a 35 30 20 3a 20 72 6c 20 20 77 31 20 ┆n: link+0 b. i3 w. j50 : rl w1 ┆ 0x281c0…281e0 20 20 20 20 62 31 39 20 20 20 20 3b 20 69 6e 73 65 72 74 20 62 75 66 3a 0a 20 20 20 20 20 20 61 ┆ b19 ; insert buf: a┆ 0x281e0…28200 6c 20 20 77 31 20 20 78 31 2b 61 35 34 20 20 20 20 3b 20 20 20 65 6c 65 6d 3a 3d 20 65 6e 64 71 ┆l w1 x1+a54 ; elem:= endq┆ 0x28200…28220 3a 3d 0a 20 20 20 20 20 20 72 73 2e 20 77 31 20 20 20 20 20 69 30 2e 20 20 20 20 3b 20 20 20 61 ┆:= rs. w1 i0. ; a┆ 0x28220…28240 64 64 72 20 6f 66 20 6d 65 73 73 20 71 20 68 65 61 64 2e 63 75 72 72 20 72 65 63 65 69 76 65 72 ┆ddr of mess q head.curr receiver┆ 0x28240…28260 3b 0a 20 20 20 20 20 20 72 73 2e 20 77 33 20 20 20 20 20 69 31 2e 20 20 20 20 3b 0a 69 32 20 20 ┆; rs. w3 i1. ; i2 ┆ 0x28260…28280 3a 20 72 6c 20 20 77 31 20 20 78 31 2b 30 20 20 20 20 20 20 3b 20 72 65 70 3a 20 65 6c 65 6d 3a ┆: rl w1 x1+0 ; rep: elem:┆ 0x28280…282a0 3d 20 6e 65 78 74 2e 65 6c 65 6d 3b 0a 20 20 20 20 20 20 73 6e 2e 20 77 31 20 20 20 20 28 69 30 ┆= next.elem; sn. w1 (i0┆ 0x282a0…282c0 2e 29 20 20 20 3b 20 20 20 69 66 20 65 6c 65 6d 20 3c 3e 20 65 6e 64 71 0a 20 20 20 20 20 20 6a ┆.) ; if elem <> endq j┆ 0x282c0…282e0 6c 2e 20 20 20 20 20 20 20 20 69 33 2e 20 20 20 20 3b 0a 20 20 20 20 20 20 64 6c 20 20 77 30 20 ┆l. i3. ; dl w0 ┆ 0x282e0…28300 20 78 32 2b 61 31 35 32 20 20 20 3b 0a 20 20 20 20 20 20 73 73 20 20 77 30 20 20 78 31 2b 61 31 ┆ x2+a152 ; ss w0 x1+a1┆ 0x28300…28320 35 32 20 20 20 3b 0a 20 20 20 20 20 20 73 78 20 20 20 20 20 20 20 20 20 32 2e 31 20 20 20 20 3b ┆52 ; sx 2.1 ;┆ 0x28320…28340 20 20 20 61 6e 64 20 74 69 6d 65 2e 62 75 66 20 3c 3d 20 74 69 6d 65 2e 65 6c 65 6d 0a 20 20 20 ┆ and time.buf <= time.elem ┆ 0x28340…28360 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 20 69 32 2e 20 20 20 20 3b 20 20 20 74 68 65 6e 20 67 6f ┆ jl. i2. ; then go┆ 0x28360…28380 74 6f 20 72 65 70 3b 0a 69 33 20 20 3a 20 72 6c 2e 20 77 33 20 20 20 20 20 69 31 2e 20 20 20 20 ┆to rep; i3 : rl. w3 i1. ┆ 0x28380…283a0 3b 0a 20 20 20 20 20 20 6a 6c 20 20 20 20 20 20 20 20 20 64 36 20 20 20 20 20 3b 20 20 20 6c 69 ┆; jl d6 ; li┆ 0x283a0…283c0 6e 6b 28 65 6c 65 6d 2c 62 75 66 29 3b 20 63 2e 20 72 65 74 75 72 6e 20 66 72 6f 6d 20 74 68 65 ┆nk(elem,buf); c. return from the┆ 0x283c0…283e0 72 65 3b 0a 0a 0a 0a 3b 20 70 72 6f 63 65 64 75 72 65 20 64 65 6c 69 76 65 72 20 69 6e 74 65 72 ┆re; ; procedure deliver inter┆ 0x283e0…28400 76 65 6e 74 69 6f 6e 28 62 75 66 29 0a 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆vention(buf) ; -----------------┆ 0x28400…28420 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ┆--------------------------------┆ 0x28420…28440 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 3b 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 61 ┆-------------- ; the procedure a┆ 0x28440…28460 6e 73 77 65 72 73 20 62 75 66 20 77 69 74 68 20 73 74 61 74 75 73 20 69 6e 74 65 72 76 65 6e 74 ┆nswers buf with status intervent┆ 0x28460…28480 69 6f 6e 20 61 6e 64 20 72 65 74 75 72 6e 73 0a 3b 20 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 ┆ion and returns ; with the value┆ 0x28480…284a0 20 6f 66 20 6e 65 78 74 2e 62 75 66 20 61 74 20 63 61 6c 6c 74 69 6d 65 2e 0a 3b 0a 3b 20 72 65 ┆ of next.buf at calltime. ; ; re┆ 0x284a0…284c0 67 69 73 74 65 72 73 3a 20 63 61 6c 6c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 69 74 0a ┆gisters: call exit ┆ 0x284c0…284e0 3b 20 77 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 ┆; w0 d┆ 0x284e0…28500 65 73 74 72 6f 79 65 64 0a 3b 20 77 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆estroyed ; w1 ┆ 0x28500…28520 20 20 20 20 20 20 20 20 63 75 72 72 20 72 65 63 65 69 76 65 72 0a 3b 20 77 32 20 20 20 20 20 20 ┆ curr receiver ; w2 ┆ 0x28520…28540 20 20 20 62 75 66 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 2e 62 75 66 0a 3b 20 ┆ buf next.buf ; ┆ 0x28540…28560 77 33 20 20 20 20 20 20 20 20 20 6c 69 6e 6b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 73 ┆w3 link des┆ 0x28560…28580 74 72 6f 79 65 64 0a 3b 0a 3b 20 65 6e 74 72 79 3a 20 6a 35 31 3b 20 72 65 74 75 72 6e 3a 20 6c ┆troyed ; ; entry: j51; return: l┆ 0x28580…285a0 69 6e 6b 2b 30 0a 6a 35 31 20 3a 20 72 73 2e 20 77 33 20 20 20 20 20 69 31 2e 20 20 20 20 3b 20 ┆ink+0 j51 : rs. w3 i1. ; ┆ 0x285a0…285c0 64 65 6c 69 76 65 72 20 69 6e 74 65 72 76 65 6e 74 69 6f 6e 3a 0a 20 20 20 20 20 20 72 73 20 20 ┆deliver intervention: rs ┆ 0x285c0…285e0 77 32 20 20 20 20 20 62 31 38 20 20 20 20 3b 20 20 20 63 75 72 72 20 62 75 66 3a 3d 20 62 75 66 ┆w2 b18 ; curr buf:= buf┆ 0x285e0…28600 3b 0a 20 20 20 20 20 20 72 6c 20 20 77 30 20 20 78 32 2b 30 20 20 20 20 20 20 3b 0a 20 20 20 20 ┆; rl w0 x2+0 ; ┆ 0x28600…28620 20 20 72 73 2e 20 77 30 20 20 20 20 20 69 30 2e 20 20 20 20 3b 20 20 20 73 61 76 65 20 6e 65 78 ┆ rs. w0 i0. ; save nex┆ 0x28620…28640 74 2e 62 75 66 3b 0a 20 20 20 20 20 20 72 6c 20 20 77 30 20 20 20 20 20 67 34 39 20 20 20 20 3b ┆t.buf; rl w0 g49 ;┆ 0x28640…28660 0a 20 20 20 20 20 20 72 73 20 20 77 30 20 20 20 20 20 67 32 30 20 20 20 20 3b 20 20 20 73 74 61 ┆ rs w0 g20 ; sta┆ 0x28660…28680 74 75 73 2e 69 2f 6f 20 61 6e 73 77 65 72 3a 3d 20 62 69 74 20 30 3b 0a 20 20 20 20 20 20 61 6c ┆tus.i/o answer:= bit 0; al┆ 0x28680…286a0 20 20 77 30 20 20 20 20 20 31 20 20 20 20 20 20 3b 20 20 20 72 65 73 75 6c 74 3a 3d 20 31 3b 0a ┆ w0 1 ; result:= 1; ┆ 0x286a0…286c0 20 20 20 20 20 20 61 6c 20 20 77 31 20 20 20 20 20 30 20 20 20 20 20 20 3b 20 20 20 62 79 74 65 ┆ al w1 0 ; byte┆ 0x286c0…286e0 73 3a 3d 20 63 68 61 72 61 63 74 65 72 73 3a 3d 20 30 3b 0a 20 20 20 20 20 20 6a 6c 20 20 77 33 ┆s:= characters:= 0; jl w3┆ 0x286e0…28700 20 20 20 20 20 67 32 38 20 20 20 20 3b 20 20 20 6e 6f 20 6f 70 65 72 61 74 69 6f 6e 3b 0a 20 20 ┆ g28 ; no operation; ┆ 0x28700…28720 20 20 20 20 72 6c 2e 20 77 32 20 20 20 20 20 69 30 2e 20 20 20 20 3b 20 20 20 77 32 3a 3d 20 73 ┆ rl. w2 i0. ; w2:= s┆ 0x28720…28740 61 76 65 64 20 6e 65 78 74 2e 62 75 66 3b 0a 20 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 20 20 28 ┆aved next.buf; jl. (┆ 0x28740…28760 69 31 2e 29 20 20 20 3b 20 20 20 72 65 74 75 72 6e 3b 0a 0a 3b 20 76 61 72 69 61 62 6c 65 73 0a ┆i1.) ; return; ; variables ┆ 0x28760…28780 69 30 20 20 3a 20 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 66 6f 72 20 73 61 ┆i0 : 0 ; for sa┆ 0x28780…287a0 76 69 6e 67 20 6e 65 78 74 2e 62 75 66 20 6f 72 20 65 6e 64 71 0a 69 31 20 20 3a 20 30 20 20 20 ┆ving next.buf or endq i1 : 0 ┆ 0x287a0…287c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 73 61 76 65 64 20 6c 69 6e 6b 0a 65 2e 0a 0a 65 ┆ ; saved link e. e┆ 0x287c0…287e0 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 65 6e 64 20 6f 66 20 ┆. ; end of ┆ 0x287e0…28800 62 6c 6f 63 6b 20 63 6f 6e 74 61 69 6e 69 6e 67 20 63 6c 6f 63 6b 20 64 72 69 76 65 72 0a 0c 0a ┆block containing clock driver ┆ 0x28800…28820 (54,) 0a 3b 20 72 65 6d 6f 74 65 72 20 70 72 6f 63 65 73 73 2e 0a 3b 20 6a 72 20 37 39 2e 30 32 2e 32 ┆ ; remoter process. ; jr 79.02.2┆ 0x28820…28840 38 0a 0a 6d 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 6d 6f 74 65 72 0a 0a 62 2e ┆8 m. remoter b.┆ 0x28840…28860 69 34 2c 6a 34 20 77 2e 0a 0a 68 32 32 3a 20 61 6c 20 20 77 31 20 20 78 33 2b 61 35 34 20 20 20 ┆i4,j4 w. h22: al w1 x3+a54 ┆ 0x28860…28880 20 3b 20 72 65 6d 6f 74 65 72 3a 0a 20 20 20 20 20 6a 6c 20 20 77 33 20 20 64 36 20 20 20 20 20 ┆ ; remoter: jl w3 d6 ┆ 0x28880…288a0 20 20 20 3b 20 20 20 6c 69 6e 6b 20 65 76 65 6e 74 28 65 76 65 6e 74 20 71 75 65 75 65 28 70 72 ┆ ; link event(event queue(pr┆ 0x288a0…288c0 6f 63 29 2c 20 62 75 66 29 3b 0a 20 20 20 20 20 72 6c 20 20 77 31 20 20 62 33 20 20 20 20 20 20 ┆oc), buf); rl w1 b3 ┆ 0x288c0…288e0 20 20 3b 0a 6a 30 3a 20 20 61 6c 20 20 77 31 20 20 78 31 2b 32 20 20 20 20 20 20 3b 20 20 20 66 ┆ ; j0: al w1 x1+2 ; f┆ 0x288e0…28900 6f 72 20 64 65 76 3a 3d 66 69 72 73 74 20 64 65 76 20 69 6e 20 6e 61 6d 65 20 74 61 62 6c 65 20 ┆or dev:=first dev in name table ┆ 0x28900…28920 75 6e 74 69 6c 20 6c 61 73 74 20 64 6f 0a 20 20 20 20 20 73 6c 20 20 77 31 20 28 62 35 29 20 20 ┆until last do sl w1 (b5) ┆ 0x28920…28940 20 20 20 20 20 3b 20 20 20 20 62 65 67 69 6e 0a 20 20 20 20 20 6a 6c 20 20 20 20 20 28 62 32 30 ┆ ; begin jl (b20┆ 0x28940…28960 29 20 20 20 20 20 20 3b 0a 20 20 20 20 20 72 6c 20 20 77 33 20 20 78 31 20 20 20 20 20 20 20 20 ┆) ; rl w3 x1 ┆ 0x28960…28980 3b 20 20 20 20 20 70 72 6f 63 3a 3d 70 72 6f 63 28 64 65 76 29 3b 0a 20 20 20 20 20 72 6c 20 20 ┆; proc:=proc(dev); rl ┆ 0x28980…289a0 77 30 20 20 78 33 2b 61 31 30 20 20 20 20 3b 20 20 20 20 20 6b 69 6e 64 3a 3d 6b 69 6e 64 28 70 ┆w0 x3+a10 ; kind:=kind(p┆ 0x289a0…289c0 72 6f 63 29 3b 0a 20 20 20 20 20 73 6e 20 20 77 30 20 20 31 38 20 20 20 20 20 20 20 20 3b 20 20 ┆roc); sn w0 18 ; ┆ 0x289c0…289e0 20 20 20 6d 61 69 6e 3a 3d 6d 61 69 6e 28 70 72 6f 63 29 3b 0a 20 20 20 20 20 6a 6c 2e 20 20 20 ┆ main:=main(proc); jl. ┆ 0x289e0…28a00 20 20 6a 31 2e 20 20 20 20 20 20 20 3b 20 20 20 20 20 69 66 20 6b 69 6e 64 3d 31 38 0a 20 20 20 ┆ j1. ; if kind=18 ┆ 0x28a00…28a20 20 20 72 6c 20 20 77 32 20 20 78 33 2b 61 35 30 20 20 20 20 3b 20 20 20 20 20 6f 72 20 28 6b 69 ┆ rl w2 x3+a50 ; or (ki┆ 0x28a20…28a40 6e 64 3d 38 34 2c 38 35 20 61 6e 64 20 6d 61 69 6e 3c 3e 30 20 61 6e 64 20 73 75 62 6b 69 6e 64 ┆nd=84,85 and main<>0 and subkind┆ 0x28a40…28a60 3d 31 38 29 20 74 68 65 6e 0a 20 20 20 20 20 73 65 20 20 77 30 20 20 38 34 20 20 20 20 20 20 20 ┆=18) then se w0 84 ┆ 0x28a60…28a80 20 3b 0a 20 20 20 20 20 73 6e 20 20 77 30 20 20 38 35 20 20 20 20 20 20 20 20 3b 0a 20 20 20 20 ┆ ; sn w0 85 ; ┆ 0x28a80…28aa0 20 73 6e 20 20 77 32 20 20 30 20 20 20 20 20 20 20 20 20 3b 0a 20 20 20 20 20 6a 6c 2e 20 20 20 ┆ sn w2 0 ; jl. ┆ 0x28aa0…28ac0 20 20 6a 30 2e 20 20 20 20 20 20 20 3b 0a 20 20 20 20 20 62 6c 20 20 77 32 20 20 78 33 2b 61 36 ┆ j0. ; bl w2 x3+a6┆ 0x28ac0…28ae0 33 20 20 20 20 3b 0a 20 20 20 20 20 73 65 20 20 77 32 20 20 31 38 20 20 20 20 20 20 20 20 3b 0a ┆3 ; se w2 18 ; ┆ 0x28ae0…28b00 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 6a 30 2e 20 20 20 20 20 20 20 3b 0a 6a 31 3a 20 20 72 6c ┆ jl. j0. ; j1: rl┆ 0x28b00…28b20 20 20 77 32 20 20 78 33 2b 61 37 30 20 20 20 20 3b 20 20 20 20 20 20 20 69 66 20 73 74 61 74 65 ┆ w2 x3+a70 ; if state┆ 0x28b20…28b40 28 70 72 6f 63 29 3d 32 20 74 68 65 6e 0a 20 20 20 20 20 73 65 20 20 77 32 20 20 32 20 20 20 20 ┆(proc)=2 then se w2 2 ┆ 0x28b40…28b60 20 20 20 20 20 3b 20 20 20 20 20 20 20 20 20 61 6e 73 77 65 72 28 30 29 3a 3d 30 3b 0a 20 20 20 ┆ ; answer(0):=0; ┆ 0x28b60…28b80 20 20 6a 6c 2e 20 20 20 20 20 6a 30 2e 20 20 20 20 20 20 20 3b 20 20 20 20 20 20 20 20 20 61 6e ┆ jl. j0. ; an┆ 0x28b80…28ba0 73 77 65 72 28 32 29 3a 3d 70 72 6f 63 3b 0a 20 20 20 20 20 61 6c 20 20 77 32 20 20 30 20 20 20 ┆swer(2):=proc; al w2 0 ┆ 0x28ba0…28bc0 20 20 20 20 20 20 3b 20 20 20 20 20 20 20 20 20 64 65 6c 69 76 65 72 20 72 65 73 75 6c 74 28 31 ┆ ; deliver result(1┆ 0x28bc0…28be0 29 3b 0a 20 20 20 20 20 64 73 20 20 77 33 20 20 67 32 31 20 20 20 20 20 20 20 3b 20 20 20 20 20 ┆); ds w3 g21 ; ┆ 0x28be0…28c00 20 20 20 20 67 6f 74 6f 20 65 78 69 74 3b 0a 20 20 20 20 20 6a 6c 20 20 77 33 20 20 67 31 38 20 ┆ goto exit; jl w3 g18 ┆ 0x28c00…28c20 20 20 20 20 20 20 3b 20 20 20 20 20 65 6e 64 3b 0a 20 20 20 20 20 6a 6c 20 20 20 20 20 28 62 32 ┆ ; end; jl (b2┆ 0x28c20…28c40 30 29 20 20 20 20 20 20 3b 20 65 78 69 74 3a 20 72 65 74 75 72 6e 3b 0a 65 2e 0a 3b 20 65 72 72 ┆0) ; exit: return; e. ; err┆ 0x28c40…28c60 6f 72 6c 6f 67 20 70 72 6f 63 65 73 73 0a 3b 20 68 73 69 20 38 30 2e 30 37 2e 32 32 0a 6d 2e 20 ┆orlog process ; hsi 80.07.22 m. ┆ 0x28c60…28c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 6c 6f 67 20 70 72 6f 63 65 73 73 0a ┆ errorlog process ┆ 0x28c80…28ca0 62 2e 20 69 31 30 2c 20 6a 31 30 20 77 2e 0a 69 30 3d 31 3c 32 33 0a 20 20 20 20 69 30 3e 31 39 ┆b. i10, j10 w. i0=1<23 i0>19┆ 0x28ca0…28cc0 0a 6a 30 3a 20 69 30 3e 30 0a 69 31 3a 20 31 3c 31 32 0a 68 37 3a 20 20 61 6c 20 20 77 30 20 20 ┆ j0: i0>0 i1: 1<12 h7: al w0 ┆ 0x28cc0…28ce0 30 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 72 65 73 65 74 20 69 6e 74 65 72 72 75 70 74 20 61 ┆0 ; reset interrupt a┆ 0x28ce0…28d00 64 72 2e 20 28 73 65 74 20 62 79 20 72 65 6d 6f 76 65 20 70 72 6f 63 65 73 73 29 0a 20 20 20 20 ┆dr. (set by remove process) ┆ 0x28d00…28d20 20 72 73 20 20 77 30 20 20 78 33 2b 61 35 36 20 20 20 20 20 20 20 3b 0a 0a 0a 20 20 20 20 20 64 ┆ rs w0 x3+a56 ; d┆ 0x28d20…28d40 6c 2e 20 77 31 20 20 6a 30 2e 20 20 20 20 20 20 20 20 20 20 3b 20 63 68 65 63 6b 20 6f 70 65 72 ┆l. w1 j0. ; check oper┆ 0x28d40…28d60 61 74 69 6f 6e 0a 20 20 20 20 20 6a 6c 20 20 77 33 20 20 67 31 36 20 20 20 20 20 20 20 20 20 20 ┆ation jl w3 g16 ┆ 0x28d60…28d80 3b 20 0a 20 20 20 20 20 72 6c 20 20 77 32 20 20 62 31 38 20 20 20 20 20 20 20 20 20 20 3b 20 69 ┆; rl w2 b18 ; i┆ 0x28d80…28da0 66 20 62 75 66 66 65 72 20 73 69 7a 65 20 3c 20 6d 61 78 20 72 65 63 6f 72 64 20 73 69 7a 65 0a ┆f buffer size < max record size ┆ 0x28da0…28dc0 20 20 20 20 20 72 6c 20 20 77 31 20 20 78 32 2b 61 31 35 30 20 20 20 20 20 20 3b 0a 20 20 20 20 ┆ rl w1 x2+a150 ; ┆ 0x28dc0…28de0 20 77 73 2e 20 77 31 20 20 69 31 2e 20 20 20 20 20 20 20 20 20 20 3b 0a 20 20 20 20 20 72 73 20 ┆ ws. w1 i1. ; rs ┆ 0x28de0…28e00 20 77 31 20 20 78 32 2b 61 31 35 30 20 20 20 20 20 20 3b 20 6d 61 6b 65 20 6f 70 65 72 61 74 69 ┆ w1 x2+a150 ; make operati┆ 0x28e00…28e20 6f 6e 20 65 76 65 6e 2e 20 28 20 61 6c 6c 6f 77 69 6e 67 20 69 74 20 74 6f 20 62 65 20 72 65 67 ┆on even. ( allowing it to be reg┆ 0x28e20…28e40 65 72 74 74 65 64 29 0a 20 20 20 20 20 72 6c 20 20 77 31 20 20 78 32 2b 61 31 35 31 20 20 20 20 ┆ertted) rl w1 x2+a151 ┆ 0x28e40…28e60 20 20 3b 20 74 68 65 6e 20 73 65 6e 64 20 61 6e 73 77 65 72 3a 20 75 6e 69 6e 74 65 6c 6c 69 67 ┆ ; then send answer: unintellig┆ 0x28e60…28e80 62 6c 65 0a 20 20 20 20 20 61 6c 20 20 77 31 20 20 78 31 2b 37 34 20 20 20 20 20 20 20 20 3b 20 ┆ble al w1 x1+74 ; ┆ 0x28e80…28ea0 0a 20 20 20 20 20 73 68 20 20 77 31 20 20 28 78 32 2b 61 31 35 32 29 20 20 20 20 3b 20 65 6c 73 ┆ sh w1 (x2+a152) ; els┆ 0x28ea0…28ec0 65 20 6c 69 6e 6b 20 6f 70 65 72 61 74 69 6f 6e 20 61 6e 64 20 72 65 74 75 72 20 74 6f 20 64 72 ┆e link operation and retur to dr┆ 0x28ec0…28ee0 69 76 65 72 70 72 6f 63 0a 20 20 20 20 20 6a 6c 2e 20 20 20 20 20 6a 31 2e 20 20 20 20 20 20 20 ┆iverproc jl. j1. ┆ 0x28ee0…28f00 3b 0a 20 20 20 20 20 6c 64 20 20 77 31 20 20 2d 31 30 30 20 20 20 20 20 20 20 20 20 3b 20 62 75 ┆; ld w1 -100 ; bu┆ 0x28f00…28f20 66 66 65 72 20 74 6f 6f 20 73 6d 61 6c 6c 20 3a 20 73 65 6e 64 20 61 6e 73 77 65 72 0a 20 20 20 ┆ffer too small : send answer ┆ 0x28f20…28f40 20 20 64 73 20 20 77 31 20 20 67 32 32 20 20 20 20 20 20 20 20 20 20 3b 0a 20 20 20 20 20 61 6c ┆ ds w1 g22 ; al┆ 0x28f40…28f60 20 20 77 31 20 20 38 20 20 20 20 20 20 20 20 20 20 20 20 3b 0a 20 20 20 20 20 72 73 20 20 77 31 ┆ w1 8 ; rs w1┆ 0x28f60…28f80 20 20 67 32 30 20 20 20 20 20 20 20 20 20 20 3b 20 73 74 61 74 75 73 3a 20 31 20 73 68 69 66 74 ┆ g20 ; status: 1 shift┆ 0x28f80…28fa0 20 33 0a 20 20 20 20 20 6a 6c 20 20 20 20 20 20 67 35 20 20 20 20 20 20 20 20 20 20 20 3b 0a 20 ┆ 3 jl g5 ; ┆ 0x28fa0…28fc0 6a 31 3a 20 6a 6c 20 20 77 33 20 20 67 31 37 20 20 20 20 20 20 20 20 20 20 3b 20 6c 69 6e 6b 20 ┆j1: jl w3 g17 ; link ┆ 0x28fc0…28fe0 75 70 20 28 72 65 74 75 72 6e 20 69 66 20 66 69 72 73 74 20 69 6e 20 71 75 65 75 65 20 29 0a 20 ┆up (return if first in queue ) ┆ 0x28fe0…29000 20 20 20 20 72 6c 20 20 77 30 20 20 78 32 2b 61 31 35 33 20 20 20 20 20 3b 20 69 66 20 66 69 72 ┆ rl w0 x2+a153 ; if fir┆ 0x29000…29020 73 74 20 69 6e 20 71 75 65 75 65 20 74 68 65 6e 0a 20 20 20 20 20 72 73 20 20 77 30 20 20 62 33 ┆st in queue then rs w0 b3┆ 0x29020…29040 32 20 20 20 20 20 20 20 20 20 20 3b 20 73 65 74 20 70 64 20 6f 66 20 73 70 65 63 69 61 6c 20 77 ┆2 ; set pd of special w┆ 0x29040…29060 61 74 63 68 65 64 20 72 65 63 65 69 76 65 72 0a 20 20 20 20 20 6a 6c 20 20 20 20 20 20 28 62 32 ┆atched receiver jl (b2┆ 0x29060…29080 30 29 20 20 20 20 20 20 20 20 3b 20 72 65 74 75 72 6e 20 76 69 61 20 77 61 69 74 20 65 76 65 6e ┆0) ; return via wait even┆ 0x29080…290a0 74 20 69 6e 20 64 72 69 76 65 72 70 72 6f 63 0a 65 2e 0a 0a 3b 20 72 63 38 36 30 31 20 64 72 69 ┆t in driverproc e. ; rc8601 dri┆ 0x290a0…290c0 76 65 72 2e 0a 3b 20 6a 72 2c 20 37 38 2e 30 34 2e 32 38 0a 0a 63 2e 28 3a 61 38 30 3e 31 31 61 ┆ver. ; jr, 78.04.28 c.(:a80>11a┆ 0x290c0…290e0 2e 31 3a 29 2d 31 0a 0a 6d 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 63 38 36 30 31 ┆.1:)-1 m. rc8601┆ 0x290e0…29100 2f 30 32 20 28 63 64 63 31 36 30 34 2f 67 69 65 72 20 65 6d 75 6c 61 74 6f 72 29 0a 0a 62 2e 69 ┆/02 (cdc1604/gier emulator) b.i┆ 0x29100…29120 31 35 2c 6d 36 2c 70 36 2c 73 36 20 77 2e 0a 0a 3b 20 74 68 65 20 72 63 38 36 30 31 20 61 6e 64 ┆15,m6,p6,s6 w. ; the rc8601 and┆ 0x29120…29140 20 72 63 38 36 30 32 20 61 72 65 20 61 20 72 63 38 30 30 20 63 70 75 20 75 73 65 64 20 66 6f 72 ┆ rc8602 are a rc800 cpu used for┆ 0x29140…29160 20 65 6d 75 6c 61 74 69 6e 67 20 74 68 65 20 63 64 63 20 31 36 30 34 20 61 6e 64 20 67 69 65 72 ┆ emulating the cdc 1604 and gier┆ 0x29160…29180 2e 0a 3b 20 74 68 65 20 64 65 76 69 63 65 20 72 65 73 70 6f 6e 64 73 20 74 77 6f 20 64 65 76 69 ┆. ; the device responds two devi┆ 0x29180…291a0 63 65 6e 75 6d 62 65 72 73 2c 20 61 6e 64 20 69 74 20 69 73 20 74 68 65 6e 20 63 6f 6e 74 72 6f ┆cenumbers, and it is then contro┆ 0x291a0…291c0 6c 6c 65 64 0a 3b 20 66 72 6f 6d 20 74 77 6f 20 65 78 74 65 72 6e 61 6c 20 70 72 6f 63 65 73 73 ┆lled ; from two external process┆ 0x291c0…291e0 65 73 20 2d 0a 3b 20 20 20 73 73 63 69 72 2c 20 73 74 6f 70 2d 73 74 61 72 74 20 63 6f 6e 74 72 ┆es - ; sscir, stop-start contr┆ 0x291e0…29200 6f 6c 20 61 6e 64 20 69 6f 2d 72 65 71 75 65 73 74 2c 0a 3b 20 61 6e 64 0a 3b 20 20 20 69 73 72 ┆ol and io-request, ; and ; isr┆ 0x29200…29220 70 79 2c 20 69 6f 2d 73 74 61 74 75 73 20 72 65 70 6c 79 2e 0a 3b 20 74 68 65 73 65 20 70 72 6f ┆py, io-status reply. ; these pro┆ 0x29220…29240 63 65 73 73 65 73 20 61 72 65 20 77 6f 72 6b 69 6e 67 20 74 6f 74 61 6c 6c 79 20 69 6e 64 65 70 ┆cesses are working totally indep┆ 0x29240…29260 65 6e 64 65 6e 74 2c 20 62 75 74 20 61 73 20 74 68 65 79 20 73 68 6f 75 6c 64 20 62 65 0a 3b 20 ┆endent, but as they should be ; ┆ 0x29260…29280 64 72 69 76 65 6e 20 69 6e 20 61 6c 6d 6f 73 74 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 74 68 ┆driven in almost the same way th┆ 0x29280…292a0 65 79 20 61 72 65 20 75 73 69 6e 67 20 74 68 65 20 73 61 6d 65 20 64 72 69 76 65 72 2d 63 6f 64 ┆ey are using the same driver-cod┆ 0x292a0…292c0 65 2e 0a 3b 0a 3b 20 74 68 65 20 70 72 6f 63 65 73 73 65 73 20 61 63 63 65 70 74 20 74 68 65 20 ┆e. ; ; the processes accept the ┆ 0x292c0…292e0 6f 70 65 72 61 74 69 6f 6e 73 2d 0a 3b 20 20 20 73 73 63 69 72 20 3a 20 20 73 65 6e 73 65 20 20 ┆operations- ; sscir : sense ┆ 0x292e0…29300 20 20 20 20 20 20 20 30 3c 31 32 2b 30 20 20 20 2c 20 64 75 6d 6d 79 20 20 20 20 2c 20 64 75 6d ┆ 0<12+0 , dummy , dum┆ 0x29300…29320 6d 79 0a 3b 20 20 20 20 20 20 20 20 20 20 20 20 61 75 74 6f 6c 6f 61 64 20 20 20 20 20 20 31 3c ┆my ; autoload 1<┆ 0x29320…29340 31 32 2b 30 20 20 20 2c 20 62 61 73 65 20 61 64 64 72 2c 20 64 75 6d 6d 79 20 28 72 63 38 36 30 ┆12+0 , base addr, dummy (rc860┆ 0x29340…29360 31 29 0a 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 3c ┆1) ; 1<┆ 0x29360…29380 31 32 2b 30 20 20 20 2c 20 66 69 72 73 74 20 20 20 20 2c 20 6c 61 73 74 20 20 28 72 63 38 36 30 ┆12+0 , first , last (rc860┆ 0x29380…293a0 32 29 0a 3b 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 74 61 72 74 20 20 20 20 20 20 20 32 3c ┆2) ; restart 2<┆ 0x293a0…293c0 31 32 2b 30 20 20 20 2c 20 64 75 6d 6d 79 20 20 20 20 2c 20 64 75 6d 6d 79 0a 3b 20 20 20 20 20 ┆12+0 , dummy , dummy ; ┆ 0x293c0…293e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 33 3c 31 32 2b 30 20 20 20 2c 20 ┆ 3<12+0 , ┆ 0x293e0…29400 66 69 72 73 74 20 20 20 20 2c 20 6c 61 73 74 20 20 28 72 63 38 36 30 32 29 0a 3b 20 20 20 69 73 ┆first , last (rc8602) ; is┆