|
|
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: 43008 (0xa800)
Types: Rc489kSubCat
Names: »adm«
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
└─⟦b2ec5d50f⟧
└─⟦this⟧ »adm«
0x0000…0033 Rc489kSubCatEnt {f00=0x001323, f01=0x000050, f02=0x000059, filename=»orsem «, entry_tail=0-4-0-8-1982-04-21T11:06-disc2-0x0-0x0-0x0-0x0}
0x0033…0066 Rc489kSubCatEnt {f00=0x009053, f01=0x000050, f02=0x000059, filename=»cgbrev «, entry_tail=0-4-0-3-1982-03-25T13:53-disc2-0x0-0x0-0x0-0x0}
0x0066…0099 Rc489kSubCatEnt {f00=0x00c9b3, f01=0x000050, f02=0x000059, filename=»efx «, entry_tail=0-4-0-6-1981-09-09T15:01-disc2-0x0-0x0-0x0-0x0}
0x0099…00cc Rc489kSubCatEnt {f00=0x012223, f01=0x000050, f02=0x000059, filename=»hbrev0 «, entry_tail=0-4-0-5-1982-01-11T13:17-disc2-0x0-0x0-0x0-0x0}
0x00cc…00ff Rc489kSubCatEnt {f00=0x017e9b, f01=0x000050, f02=0x000059, filename=»bbrev0 «, entry_tail=0-4-0-4-1982-01-08T12:46-disc2-0x0-0x0-0x0-0x0}
0x00ff…0132 Rc489kSubCatEnt {f00=0x01b50b, f01=0x000050, f02=0x000059, filename=»budget82 «, entry_tail=0-4-0-6-1982-01-08T12:40-disc2-0x0-0x0-0x0-0x0}
0x0132…0140 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ┆ ┆
0x0140…0160 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ┆ ┆
[…0x6…]
0x0220…0240 ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 00 04 06 53 fb 00 75 30 00 75 39 66 66 61 67 32 74 ┆ S u0 u9ffag2t┆
0x0240…0260 78 74 00 00 00 00 00 00 01 64 69 73 63 00 00 00 00 00 00 00 00 7b af 92 00 00 00 00 00 00 00 00 ┆xt disc æ ┆
0x0260…0280 00 00 00 00 80 63 fb 00 00 00 7f ff fc 70 6c 6f 74 70 6f 69 6e 74 00 00 00 80 00 04 68 63 7c 6c ┆ c plotpoint hcøl┆
0x0280…02a0 69 62 00 00 00 00 00 00 80 01 64 08 d3 8e 00 00 00 05 30 ea 00 20 00 4d 33 fb 00 00 8c 00 00 95 ┆ib d 0 M3 ┆
0x02a0…02c0 74 70 6c 6f 74 00 00 00 00 00 00 00 00 00 c4 64 69 73 63 32 00 00 00 00 00 00 00 81 cb 7e 00 00 ┆tplot disc2 ü ┆
0x02c0…02e0 00 00 00 00 00 a0 00 01 88 00 33 53 fb 00 00 8c 00 00 95 70 6c 6f 74 70 6f 69 6e 74 00 00 00 00 ┆ 3S plotpoint ┆
0x02e0…02fd 00 02 64 69 73 63 32 00 00 00 00 00 00 00 80 01 64 08 d3 8e 00 00 00 00 40 ea 00 20 00 ┆ disc2 d @ ┆
0x02fd…0300 0x000006
0x0300…1b00 Data for orsem
0x1b00…2400 Data for cgbrev
0x2400…3600 Data for efx
0x3600…4500 Data for hbrev0
0x4500…5100 Data for bbrev0
0x5100…6300 Data for budget82
0x6300…6320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 20 20 20 20 73 74 61 72 74 20 6f 66 20 ┆ ; start of ┆
0x6320…6340 73 65 63 6f 6e 64 61 72 79 20 69 6e 74 65 72 72 75 70 74 20 63 68 61 69 6e 0a 62 33 39 3a 20 62 ┆secondary interrupt chain b39: b┆
0x6340…6360 33 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 20 20 20 20 71 75 65 75 65 20 68 65 61 ┆39 ; queue hea┆
0x6360…6380 64 3a 20 64 6d 61 20 74 72 61 6e 73 66 65 72 0a 20 20 20 20 20 62 33 39 20 20 20 20 20 20 20 20 ┆d: dma transfer b39 ┆
0x6380…63a0 20 20 20 20 20 20 20 3b 0a 62 33 30 3a 20 30 2d 30 2d 30 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ ; b30: 0-0-0 ┆
0x63a0…63c0 3b 20 20 20 20 20 65 72 72 6f 72 6c 6f 67 20 70 72 6f 63 0a 62 33 31 3a 20 67 36 36 20 20 20 20 ┆; errorlog proc b31: g66 ┆
0x63c0…63e0 20 20 20 20 20 20 20 20 20 20 20 3b 20 20 20 20 20 65 72 72 6f 72 6c 6f 67 20 65 6e 74 72 79 0a ┆ ; errorlog entry ┆
0x63e0…6400 20 20 20 20 20 72 2e 20 28 3a 36 34 2d 6b 2b 32 3a 29 20 3e 20 31 20 3b 20 36 30 2d 36 32 20 72 ┆ r. (:64-k+2:) > 1 ; 60-62 r┆
0x6400…6420 65 73 65 72 76 65 64 20 66 6f 72 20 74 65 73 74 70 72 6f 67 72 61 6d 73 0a 20 20 20 20 20 61 31 ┆eserved for testprograms a1┆
0x6420…6440 33 35 3c 31 32 2b 61 31 33 36 20 20 20 20 20 20 3b 20 36 34 3a 20 72 65 6c 65 61 73 65 2c 20 76 ┆35<12+a136 ; 64: release, v┆
0x6440…6460 65 72 73 69 6f 6e 20 6f 66 20 6d 6f 6e 69 74 6f 72 0a 62 31 3a 20 20 30 20 20 20 20 20 20 20 20 ┆ersion of monitor b1: 0 ┆
0x6460…6480 20 20 20 20 20 20 20 20 20 3b 20 36 36 3a 20 63 75 72 72 65 6e 74 20 70 72 6f 63 65 73 73 0a 62 ┆ ; 66: current process b┆
0x6480…64a0 32 3a 20 20 62 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 20 20 20 20 74 69 6d 65 ┆2: b2 ; time┆
0x64a0…64c0 20 73 6c 69 63 65 20 71 75 65 75 65 20 68 65 61 64 3a 20 20 6e 65 78 74 20 70 72 6f 63 65 73 73 ┆ slice queue head: next process┆
0x64c0…64e0 0a 20 20 20 20 20 62 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 20 20 20 20 20 20 ┆ b2 ; ┆
0x64e0…6500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 61 73 74 20 70 72 6f 63 65 ┆ last proce┆
0x6500…6520 73 73 0a 62 33 3a 20 20 30 2d 30 2d 30 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 37 32 3a 20 ┆ss b3: 0-0-0 ; 72: ┆
0x6520…6540 6e 61 6d 65 20 74 61 62 6c 65 20 73 74 61 72 74 0a 62 34 3a 20 20 30 2d 30 2d 30 20 20 20 20 20 ┆name table start b4: 0-0-0 ┆
0x6540…6560 20 20 20 20 20 20 20 20 3b 20 37 34 3a 20 66 69 72 73 74 20 64 65 76 69 63 65 20 69 6e 20 6e 61 ┆ ; 74: first device in na┆
0x6560…6580 6d 65 20 74 61 62 6c 65 0a 62 35 3a 20 20 30 2d 30 2d 30 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆me table b5: 0-0-0 ┆
0x6580…65a0 3b 20 37 36 3a 20 66 69 72 73 74 20 61 72 65 61 20 69 6e 20 6e 61 6d 65 20 74 61 62 6c 65 0a 62 ┆; 76: first area in name table b┆
0x65a0…65c0 36 3a 20 20 30 2d 30 2d 30 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 37 38 3a 20 66 69 72 73 ┆6: 0-0-0 ; 78: firs┆
0x65c0…65e0 74 20 69 6e 74 65 72 6e 61 6c 20 69 6e 20 6e 61 6d 65 20 74 61 62 6c 65 0a 62 37 3a 20 20 30 2d ┆t internal in name table b7: 0-┆
0x65e0…6600 30 2d 30 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 38 30 3a 20 6e 61 6d 65 20 74 61 62 6c 65 ┆0-0 ; 80: name table┆
0x6600…6620 20 65 6e 64 0a 62 38 3a 20 20 62 38 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 20 20 ┆ end b8: b8 ; ┆
0x6620…6640 20 20 6d 65 73 73 20 62 75 66 20 70 6f 6f 6c 20 71 75 65 75 65 20 68 65 61 64 3a 20 20 6e 65 78 ┆ mess buf pool queue head: nex┆
0x6640…6660 74 20 62 75 66 0a 20 20 20 20 20 62 38 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 20 ┆t buf b8 ; ┆
0x6660…6680 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 20 20 20 6c 61 ┆ la┆
0x6680…66a0 73 74 20 62 75 66 0a 20 20 20 20 20 30 2d 30 2d 30 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 ┆st buf 0-0-0 ; ┆
0x66a0…66c0 38 36 3a 20 66 69 72 73 74 20 62 79 74 65 20 6f 66 20 6d 65 73 73 20 62 75 66 20 70 6f 6f 6c 20 ┆86: first byte of mess buf pool ┆
0x66c0…66e0 61 72 65 61 0a 20 20 20 20 20 30 2d 30 2d 30 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 38 38 ┆area 0-0-0 ; 88┆
0x66e0…6700 3a 20 6c 61 73 74 20 62 79 74 65 20 20 6f 66 20 6d 65 73 73 20 62 75 66 20 70 6f 6f 6c 20 61 72 ┆: last byte of mess buf pool ar┆
0x6700…6720 65 61 0a 20 20 20 20 20 61 36 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 39 30 3a 20 ┆ea a6 ; 90: ┆
0x6720…6740 73 69 7a 65 20 6f 66 20 6d 65 73 73 61 67 65 20 62 75 66 66 65 72 0a 62 32 32 3a 20 30 2d 30 2d ┆size of message buffer b22: 0-0-┆
0x6740…6760 30 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 39 32 3a 20 66 69 72 73 74 20 64 72 75 6d 20 63 ┆0 ; 92: first drum c┆
0x6760…6780 68 61 69 6e 20 20 69 6e 20 6e 61 6d 65 20 74 61 62 6c 65 0a 62 32 33 3a 20 30 2d 30 2d 30 20 20 ┆hain in name table b23: 0-0-0 ┆
0x6780…67a0 20 20 20 20 20 20 20 20 20 20 20 3b 20 39 34 3a 20 66 69 72 73 74 20 64 69 73 63 20 63 68 61 69 ┆ ; 94: first disc chai┆
0x67a0…67c0 6e 20 20 69 6e 20 6e 61 6d 65 20 74 61 62 6c 65 0a 62 32 34 3a 20 30 2d 30 2d 30 20 20 20 20 20 ┆n in name table b24: 0-0-0 ┆
0x67c0…67e0 20 20 20 20 20 20 20 20 3b 20 39 36 3a 20 63 68 61 69 6e 20 65 6e 64 20 20 20 20 20 20 20 20 20 ┆ ; 96: chain end ┆
0x67e0…6800 69 6e 20 6e 61 6d 65 20 74 61 62 6c 65 0a 62 32 35 3a 20 30 20 20 20 20 20 20 20 20 20 20 20 20 ┆in name table b25: 0 ┆
0x6800…6820 20 20 20 20 20 3b 20 39 38 3a 20 6d 61 69 6e 20 63 61 74 20 63 68 61 69 6e 20 74 61 62 6c 65 0a ┆ ; 98: main cat chain table ┆
0x6820…6840 20 20 20 20 20 30 2d 30 2d 30 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 28 31 30 30 29 20 6e 6f ┆ 0-0-0 ;(100) no┆
0x6840…6860 74 20 75 73 65 64 20 3f 3f 3f 0a 62 31 30 3a 20 61 38 35 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆t used ??? b10: a85 ┆
0x6860…6880 20 20 3b 20 20 20 20 20 6d 61 78 69 6d 75 6d 20 74 69 6d 65 20 73 6c 69 63 65 0a 62 31 31 3a 20 ┆ ; maximum time slice b11: ┆
0x6880…68a0 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 31 30 34 3a 20 74 69 6d 65 20 73 6c 69 ┆0 ;104: time sli┆
0x68a0…68c0 63 65 20 28 6f 66 20 63 75 72 72 65 6e 74 20 70 72 6f 63 65 73 73 29 0a 20 20 20 20 20 30 20 20 ┆ce (of current process) 0 ┆
0x68c0…68e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 31 30 36 3a 20 7a 65 72 6f 20 28 65 61 72 6c 69 ┆ ;106: zero (earli┆
0x68e0…6900 65 72 3a 20 20 6d 69 63 72 6f 20 73 65 63 6f 6e 64 73 29 0a 62 31 33 3a 20 30 20 2c 20 30 20 20 ┆er: micro seconds) b13: 0 , 0 ┆
0x6900…6920 20 20 20 20 20 20 20 20 20 20 20 3b 31 30 38 3a 31 31 30 3a 20 74 69 6d 65 20 28 75 6e 69 74 20 ┆ ;108:110: time (unit ┆
0x6920…6940 6f 66 20 30 2e 31 20 6d 69 6c 6c 69 20 73 65 63 6f 6e 64 73 29 0a 62 31 34 3a 20 30 20 20 20 20 ┆of 0.1 milli seconds) b14: 0 ┆
0x6940…6960 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 20 20 20 20 6c 61 73 74 20 73 65 6e 73 65 64 20 63 ┆ ; last sensed c┆
0x6960…6980 6c 6f 63 6b 20 76 61 6c 75 65 0a 20 20 20 20 20 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆lock value 0 ┆
0x6980…69a0 20 20 3b 20 20 20 20 20 28 6e 6f 74 20 75 73 65 64 29 0a 62 31 32 3a 20 30 2d 30 2d 30 20 20 20 ┆ ; (not used) b12: 0-0-0 ┆
0x69a0…69c0 20 20 20 20 20 20 20 20 20 20 3b 31 31 36 3a 20 6e 75 6d 62 65 72 20 6f 66 20 73 74 6f 72 61 67 ┆ ;116: number of storag┆
0x69c0…69e0 65 20 62 79 74 65 73 0a 20 20 20 20 20 61 31 31 31 3c 31 32 20 2b 20 61 31 30 39 20 20 20 20 3b ┆e bytes a111<12 + a109 ;┆
0x69e0…6a00 31 31 38 3a 20 6d 69 6e 20 67 6c 6f 62 61 6c 20 6b 65 79 2c 20 6d 69 6e 20 61 75 78 20 63 61 74 ┆118: min global key, min aux cat┆
0x6a00…6a20 20 6b 65 79 20 3f 3f 3f 3f 3f 0a 62 31 35 3a 20 30 20 2c 20 30 20 20 20 20 20 20 20 20 20 20 20 ┆ key ????? b15: 0 , 0 ┆
0x6a20…6a40 20 20 3b 20 20 20 20 20 63 6c 6f 63 6b 63 68 61 6e 67 65 2c 20 61 66 74 65 72 20 73 65 74 20 63 ┆ ; clockchange, after set c┆
0x6a40…6a60 6c 6f 63 6b 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 20 ┆lock: ; ┆
0x6a60…6a80 20 20 20 20 20 20 6e 65 77 74 69 6d 65 20 2d 20 6f 6c 64 74 69 6d 65 0a 63 2e 61 34 30 30 2d 31 ┆ newtime - oldtime c.a400-1┆
0x6a80…6aa0 0a 62 32 37 3a 20 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 31 32 34 3a 20 66 69 72 ┆ b27: 0 ;124: fir┆
0x6aa0…6ac0 73 74 20 70 72 6f 63 65 73 73 20 65 78 74 65 6e 73 69 6f 6e 28 63 75 72 29 0a 62 32 38 3a 20 30 ┆st process extension(cur) b28: 0┆
0x6ac0…6ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 31 32 36 3a 20 73 65 63 6f 6e 64 20 70 72 6f ┆ ;126: second pro┆
0x6ae0…6b00 63 65 73 73 20 65 78 74 65 6e 73 69 6f 6e 28 63 75 72 29 0a 62 31 34 31 3a 30 20 20 20 20 20 20 ┆cess extension(cur) b141:0 ┆
0x6b00…6b20 20 20 20 20 20 20 20 20 20 20 3b 31 32 38 3a 20 63 6f 72 6f 75 74 69 6e 65 20 74 65 73 74 6f 75 ┆ ;128: coroutine testou┆
0x6b20…6b40 74 70 75 74 20 61 64 64 72 65 73 73 0a 3b 20 6c 69 6e 6b 73 20 74 6f 20 63 6d 6f 6e 20 70 72 6f ┆tput address ; links to cmon pro┆
0x6b40…6b60 63 65 64 75 72 65 73 3a 0a 62 31 34 30 3a 63 31 30 30 20 20 20 20 20 20 20 20 20 20 20 20 20 3b ┆cedures: b140:c100 ;┆
0x6b60…6b80 31 33 30 3a 20 61 64 64 72 65 73 73 20 6f 66 20 63 6d 6f 6e 20 70 72 6f 63 65 64 75 72 65 20 73 ┆130: address of cmon procedure s┆
0x6b80…6ba0 74 61 72 74 0a 20 20 20 20 20 63 31 30 31 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 31 33 32 3a ┆tart c101 ;132:┆
0x6ba0…6bc0 20 20 20 20 20 20 20 20 2d 20 27 27 20 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 77 61 69 74 0a ┆ - '' - wait ┆
0x6bc0…6be0 20 20 20 20 20 63 31 30 32 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 31 33 34 3a 20 20 20 20 20 ┆ c102 ;134: ┆
0x6be0…6c00 20 20 20 2d 20 27 27 20 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 0a 20 20 20 20 20 ┆ - '' - pass ┆
0x6c00…6c20 63 31 30 33 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 31 33 36 3a 20 20 20 20 20 20 20 20 2d 20 ┆c103 ;136: - ┆
0x6c20…6c40 27 27 20 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 73 70 65 63 74 0a 20 20 20 20 20 63 31 ┆'' - inspect c1┆
0x6c40…6c60 30 34 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 31 33 38 3a 20 20 20 20 20 20 20 20 2d 20 27 27 ┆04 ;138: - ''┆
0x6c60…6c80 20 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 63 73 65 6e 64 6d 65 73 73 61 67 65 0a 20 20 20 20 ┆ - csendmessage ┆
0x6c80…6ca0 20 63 31 30 35 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 31 34 30 3a 20 20 20 20 20 20 20 20 2d ┆ c105 ;140: -┆
0x6ca0…6cc0 20 27 27 20 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 63 77 61 69 74 61 6e 73 77 65 72 0a 20 20 ┆ '' - cwaitanswer ┆
0x6cc0…6ce0 20 20 20 63 31 30 36 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 31 34 32 3a 20 20 20 20 20 20 20 ┆ c106 ;142: ┆
0x6ce0…6d00 20 2d 20 27 27 20 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 73 77 65 72 5f 61 72 72 69 76 ┆ - '' - answer_arriv┆
0x6d00…6d20 65 64 0a 20 20 20 20 20 63 31 30 37 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 31 34 34 3a 20 20 ┆ed c107 ;144: ┆
0x6d20…6d40 20 20 20 20 20 20 2d 20 27 27 20 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 67 6e 61 6c 5f ┆ - '' - signal_┆
0x6d40…6d60 62 69 6e 61 72 79 0a 20 20 20 20 20 63 31 30 38 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 31 34 ┆binary c108 ;14┆
0x6d60…6d80 36 3a 20 20 20 20 20 20 20 20 2d 20 27 27 20 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 67 ┆6: - '' - sig┆
0x6d80…6da0 6e 61 6c 5f 73 65 6d 0a 20 20 20 20 20 63 31 30 39 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 31 ┆nal_sem c109 ;1┆
0x6da0…6dc0 34 38 3a 20 20 20 20 20 20 20 20 2d 20 27 27 20 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 77 61 ┆48: - '' - wa┆
0x6dc0…6de0 69 74 5f 73 65 6d 0a 20 20 20 20 20 63 31 31 30 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 31 35 ┆it_sem c110 ;15┆
0x6de0…6e00 30 3a 20 20 20 20 20 20 20 20 2d 20 27 27 20 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 67 ┆0: - '' - sig┆
0x6e00…6e20 6e 61 6c 5f 63 68 61 69 6e 65 64 0a 20 20 20 20 20 63 31 31 31 20 20 20 20 20 20 20 20 20 20 20 ┆nal_chained c111 ┆
0x6e20…6e40 20 20 3b 31 35 32 3a 20 20 20 20 20 20 20 20 2d 20 27 27 20 2d 20 20 20 20 20 20 20 20 20 20 20 ┆ ;152: - '' - ┆
0x6e40…6e60 20 20 69 6e 73 70 65 63 74 5f 63 68 61 69 6e 65 64 0a 20 20 20 20 20 63 31 31 32 20 20 20 20 20 ┆ inspect_chained c112 ┆
0x6e60…6e80 20 20 20 20 20 20 20 20 3b 31 35 34 3a 20 20 20 20 20 20 20 20 2d 20 27 27 20 2d 20 20 20 20 20 ┆ ;154: - '' - ┆
0x6e80…6ea0 20 20 20 20 20 20 20 20 77 61 69 74 5f 63 68 61 69 6e 65 64 0a 20 20 20 20 20 63 31 31 33 20 20 ┆ wait_chained c113 ┆
0x6ea0…6ec0 20 20 20 20 20 20 20 20 20 20 20 3b 31 35 36 3a 20 20 20 20 20 20 20 20 2d 20 27 27 20 2d 20 20 ┆ ;156: - '' - ┆
0x6ec0…6ee0 20 20 20 20 20 20 20 20 20 20 20 73 65 6d 5f 73 65 6e 64 5f 6d 65 73 73 0a 20 20 20 20 20 63 31 ┆ sem_send_mess c1┆
0x6ee0…6f00 31 34 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 31 35 38 3a 20 20 20 20 20 20 20 20 2d 20 27 27 ┆14 ;158: - ''┆
0x6f00…6f20 20 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6d 5f 61 6e 73 77 65 72 5f 70 72 6f 63 0a 20 ┆ - sem_answer_proc ┆
0x6f20…6f40 20 20 20 20 63 31 31 35 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 31 36 30 3a 20 20 20 20 20 20 ┆ c115 ;160: ┆
0x6f40…6f60 20 20 2d 20 27 27 20 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 73 73 61 67 65 5f 72 65 63 ┆ - '' - message_rec┆
0x6f60…6f80 65 69 76 65 64 0a 20 20 20 20 20 63 31 31 36 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 31 36 32 ┆eived c116 ;162┆
0x6f80…6fa0 3a 20 20 20 20 20 20 20 20 2d 20 27 27 20 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 74 69 6d 65 ┆: - '' - time┆
0x6fa0…6fc0 72 5f 6d 65 73 73 61 67 65 0a 20 20 20 20 20 63 31 31 37 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆r_message c117 ┆
0x6fc0…6fe0 3b 31 36 34 3a 20 20 20 20 20 20 20 20 2d 20 27 27 20 2d 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆;164: - '' - ┆
0x6fe0…7000 74 69 6d 65 72 5f 73 63 61 6e 0a 20 20 20 20 20 63 31 31 38 20 20 20 20 20 20 20 20 20 20 20 20 ┆timer_scan c118 ┆
0x7000…7020 20 3b 31 36 36 3a 20 20 20 20 20 20 20 20 2d 20 27 27 20 2d 20 20 20 20 20 20 20 20 20 20 20 20 ┆ ;166: - '' - ┆
0x7020…7040 20 63 72 65 67 72 65 74 6d 65 73 73 61 67 65 0a 20 20 20 20 20 63 31 31 39 20 20 20 20 20 20 20 ┆ cregretmessage c119 ┆
0x7040…7060 20 20 20 20 20 20 3b 31 36 38 3a 20 20 20 20 20 20 20 20 2d 20 27 27 20 2d 20 20 20 20 20 20 20 ┆ ;168: - '' - ┆
0x7060…7080 20 20 20 20 20 20 75 73 65 72 20 74 65 73 74 6f 75 74 70 75 74 0a 7a 2e 0a 62 32 36 20 3d 20 62 ┆ user testoutput z. b26 = b┆
0x7080…70a0 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 75 73 65 20 61 72 65 61 20 70 72 6f 63 65 ┆5 ; use area proce┆
0x70a0…70c0 73 73 65 73 20 61 73 20 70 73 65 75 64 6f 20 70 72 6f 63 65 73 73 65 73 0a 30 2c 72 2e 28 3a 36 ┆sses as pseudo processes 0,r.(:6┆
0x70c0…70e0 36 3c 31 20 2d 6b 20 2b 32 3a 29 20 3e 20 31 20 3b 0a 62 35 36 3a 20 30 2c 72 2e 61 33 35 30 20 ┆6<1 -k +2:) > 1 ; b56: 0,r.a350 ┆
0x70e0…7100 20 20 20 20 20 20 20 20 20 3b 20 20 20 20 63 75 72 72 65 6e 74 20 70 72 6f 63 65 73 73 20 28 63 ┆ ; current process (c┆
0x7100…7120 70 75 28 69 29 29 20 69 3d 31 2c 2e 2e 2e 2c 6c 61 73 74 20 63 70 75 0a 0a 3b 20 64 65 66 69 6e ┆pu(i)) i=1,...,last cpu ; defin┆
0x7120…7140 69 74 69 6f 6e 20 6f 66 20 67 65 6e 65 72 61 6c 20 72 65 67 69 73 74 65 72 73 20 69 6e 20 72 63 ┆ition of general registers in rc┆
0x7140…7160 38 30 30 30 0a 0a 62 39 30 20 3d 20 38 2e 31 34 20 2a 20 32 20 20 20 20 20 20 20 20 20 3b 20 69 ┆8000 b90 = 8.14 * 2 ; i┆
0x7160…7180 6c 65 76 63 20 20 3a 20 69 6e 74 65 72 72 75 70 74 20 6c 65 76 65 6c 20 6c 69 6d 69 74 20 63 6f ┆levc : interrupt level limit co┆
0x7180…71a0 70 79 0a 62 39 31 20 3d 20 38 2e 31 35 20 2a 20 32 20 20 20 20 20 20 20 20 20 3b 20 69 6e 66 20 ┆py b91 = 8.15 * 2 ; inf ┆
0x71a0…71c0 20 20 20 3a 20 63 75 72 72 65 6e 74 20 69 6e 74 65 72 72 75 70 74 20 73 74 61 63 6b 20 65 6c 65 ┆ : current interrupt stack ele┆
0x71c0…71e0 6d 65 6e 74 20 61 64 64 72 65 73 73 0a 62 39 32 20 3d 20 38 2e 31 37 20 2a 20 32 20 20 20 20 20 ┆ment address b92 = 8.17 * 2 ┆
0x71e0…7200 20 20 20 20 3b 20 73 69 7a 65 20 20 20 3a 20 74 6f 70 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 72 ┆ ; size : top available cor┆
0x7200…7220 65 20 61 64 64 72 65 73 73 0a 62 39 33 20 3d 20 38 2e 32 30 20 2a 20 32 20 20 20 20 20 20 20 20 ┆e address b93 = 8.20 * 2 ┆
0x7220…7240 20 3b 20 6d 6f 6e 74 6f 70 20 3a 20 31 20 3c 20 31 31 20 2d 20 74 6f 70 20 6d 6f 6e 69 74 6f 72 ┆ ; montop : 1 < 11 - top monitor┆
0x7240…7260 20 70 72 6f 63 65 64 75 72 65 20 6e 75 6d 62 65 72 0a 62 39 34 20 3d 20 38 2e 36 32 20 2a 20 32 ┆ procedure number b94 = 8.62 * 2┆
0x7260…7280 20 20 20 20 20 20 20 20 20 3b 20 63 6c 6f 63 6b 0a 62 39 35 20 3d 20 38 2e 35 37 20 2a 20 32 20 ┆ ; clock b95 = 8.57 * 2 ┆
0x7280…72a0 20 20 20 20 20 20 20 20 3b 20 69 72 20 20 20 20 20 3a 20 75 73 65 64 20 74 6f 20 63 6c 65 61 72 ┆ ; ir : used to clear┆
0x72a0…72c0 20 73 65 6c 65 63 74 65 64 20 62 69 74 73 20 69 6e 20 69 6e 74 65 72 72 75 70 74 20 72 65 67 0a ┆ selected bits in interrupt reg ┆
0x72c0…72e0 62 39 37 20 3d 20 38 2e 36 30 20 2a 20 32 20 20 20 20 20 20 20 20 20 3b 20 64 73 77 72 20 20 20 ┆b97 = 8.60 * 2 ; dswr ┆
0x72e0…7300 3a 20 64 61 74 61 20 73 77 69 74 68 65 73 0a 62 39 38 20 3d 20 38 2e 36 31 20 2a 20 32 20 20 20 ┆: data swithes b98 = 8.61 * 2 ┆
0x7300…9800 […elided…]
0x9800…9820 20 20 20 20 20 6a 65 20 20 20 20 20 20 20 20 20 6b 2b 32 20 20 20 20 3b 20 20 20 20 28 69 66 20 ┆ je k+2 ; (if ┆
0x9820…9840 61 6e 79 20 70 6f 77 65 72 20 66 61 69 6c 20 64 75 72 69 6e 67 20 74 68 69 73 20 73 74 61 72 74 ┆any power fail during this start┆
0x9840…9860 20 75 70 2c 0a 20 20 20 20 20 6a 64 20 20 20 20 20 20 20 20 20 6b 2b 32 20 20 20 20 3b 20 20 20 ┆ up, jd k+2 ; ┆
0x9860…9880 20 20 20 69 74 20 77 69 6c 6c 20 62 65 20 27 73 65 72 76 69 63 65 64 27 20 6e 6f 77 2c 20 69 2e ┆ it will be 'serviced' now, i.┆
0x9880…98a0 65 2e 20 73 79 73 74 65 6d 66 61 75 6c 74 29 0a 0a 3b 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 ┆e. systemfault) ; the following┆
0x98a0…98c0 20 73 65 71 75 65 6e 63 65 20 6f 66 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 68 61 76 65 20 74 ┆ sequence of instructions have t┆
0x98c0…98e0 6f 20 62 65 20 65 78 65 63 75 74 65 64 0a 3b 20 77 69 74 68 6f 75 74 20 61 6e 79 20 64 69 73 74 ┆o be executed ; without any dist┆
0x98e0…9900 75 72 62 61 6e 63 65 2c 20 65 6c 73 65 20 74 68 65 20 73 79 73 74 65 6d 20 77 6f 6e 27 74 20 77 ┆urbance, else the system won't w┆
0x9900…9920 6f 72 6b 0a 20 20 20 20 20 72 73 20 20 77 31 20 20 20 20 20 68 30 20 20 20 20 20 3b 20 20 20 20 ┆ork rs w1 h0 ; ┆
0x9920…9940 63 6c 65 61 72 20 70 72 65 76 69 6f 75 73 20 70 6f 77 65 72 20 75 70 20 65 6c 65 6d 65 6e 74 3b ┆clear previous power up element;┆
0x9940…9960 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 20 20 20 28 69 2e ┆ ; (i.┆
0x9960…9980 65 2e 20 70 72 65 76 65 6e 74 20 74 77 6f 20 63 6f 6e 73 65 63 75 74 69 76 65 20 70 6f 77 65 72 ┆e. prevent two consecutive power┆
0x9980…99a0 75 70 73 29 0a 20 20 20 20 20 67 70 20 20 77 33 20 20 20 20 20 62 39 31 20 20 20 20 3b 20 20 20 ┆ups) gp w3 b91 ; ┆
0x99a0…99c0 20 69 6e 66 20 3a 3d 20 70 6f 77 65 72 20 75 70 20 65 6c 65 6d 65 6e 74 3b 0a 20 20 20 20 20 72 ┆ inf := power up element; r┆
0x99c0…99e0 69 20 20 20 20 20 20 20 20 20 61 31 37 39 20 20 20 3b 20 20 20 20 72 65 74 75 72 6e 20 69 6e 74 ┆i a179 ; return int┆
0x99e0…9a00 65 72 72 75 70 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b ┆errupt; ;┆
0x9a00…9a20 20 20 20 20 28 74 68 65 20 6c 69 6d 69 74 2d 63 6f 70 69 65 73 20 6d 75 73 74 20 62 65 20 69 6e ┆ (the limit-copies must be in┆
0x9a20…9a40 69 74 69 61 6c 69 7a 65 64 29 0a 65 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆itialized) e. ┆
0x9a40…9a60 20 20 3b 20 65 6e 64 20 6f 66 20 70 6f 77 65 72 20 66 61 69 6c 2f 72 65 73 74 61 72 74 0a 0a 3b ┆ ; end of power fail/restart ;┆
0x9a60…9a80 20 70 72 6f 63 65 64 75 72 65 20 64 65 6c 69 76 65 72 20 65 78 74 65 72 6e 61 6c 20 69 6e 74 65 ┆ procedure deliver external inte┆
0x9a80…9aa0 72 72 75 70 74 0a 3b 0a 3b 20 77 68 65 6e 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 69 6e 74 65 72 ┆rrupt ; ; when an external inter┆
0x9aa0…9ac0 72 75 70 74 20 69 73 20 61 63 63 65 70 74 65 64 20 62 79 20 74 68 65 20 6d 6f 6e 69 74 6f 72 2c ┆rupt is accepted by the monitor,┆
0x9ac0…9ae0 0a 3b 20 20 20 20 63 6f 6e 74 72 6f 6c 20 69 73 20 74 72 61 6e 73 66 65 72 72 65 64 20 6f 75 74 ┆ ; control is transferred out┆
0x9ae0…9b00 20 69 6e 74 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 3b 20 20 20 20 64 65 76 ┆ into the corresponding ; dev┆
0x9b00…9b20 69 63 65 20 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 77 68 69 63 68 20 73 68 6f 75 6c 64 20 63 6f ┆ice description, which should co┆
0x9b20…9b40 6e 74 61 69 6e 3a 0a 3b 0a 3b 20 20 20 20 20 20 20 20 64 65 76 20 64 65 73 63 72 20 2b 20 61 32 ┆ntain: ; ; dev descr + a2┆
0x9b40…9b60 34 30 20 3a 20 20 6a 6c 20 20 77 32 20 20 20 20 20 63 35 31 0a 3b 0a 3b 20 72 65 74 75 72 6e 20 ┆40 : jl w2 c51 ; ; return ┆
0x9b60…9b80 6d 75 73 74 20 62 65 20 6d 61 64 65 20 74 6f 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 69 6e 74 ┆must be made to the standard int┆
0x9b80…9ba0 65 72 72 75 70 74 20 72 65 74 75 72 6e 20 61 63 74 69 6f 6e 2c 0a 3b 20 20 20 20 77 68 69 63 68 ┆errupt return action, ; which┆
0x9ba0…9bc0 20 77 69 6c 6c 20 74 61 6b 65 20 63 61 72 65 20 6f 66 20 61 20 70 6f 73 73 69 62 6c 65 20 73 65 ┆ will take care of a possible se┆
0x9bc0…9be0 6c 65 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 64 72 69 76 65 72 2e 0a 3b 0a 3b 20 63 61 6c 6c 3a ┆lection of the driver. ; ; call:┆
0x9be0…9c00 20 77 32 20 3d 20 64 65 76 20 64 65 73 63 72 20 2b 20 61 32 34 31 0a 3b 20 72 65 74 75 72 6e 20 ┆ w2 = dev descr + a241 ; return ┆
0x9c00…9c20 61 64 64 72 65 73 73 20 3d 20 69 6e 74 65 72 72 75 70 74 20 72 65 74 75 72 6e 0a 0a 63 35 31 3a ┆address = interrupt return c51:┆
0x9c20…9c40 20 72 6c 20 20 77 33 20 20 78 32 2d 61 32 34 31 2b 61 32 33 30 3b 20 20 77 33 20 3a 3d 20 74 6f ┆ rl w3 x2-a241+a230; w3 := to┆
0x9c40…9c60 70 20 6f 66 20 65 78 65 63 75 74 65 64 20 63 68 61 6e 6e 65 6c 20 70 72 6f 67 72 61 6d 3b 0a 20 ┆p of executed channel program; ┆
0x9c60…9c80 20 20 20 20 61 6c 20 20 77 30 20 20 20 20 20 34 20 20 20 20 20 20 3b 20 20 20 20 72 65 73 75 6c ┆ al w0 4 ; resul┆
0x9c80…9ca0 74 20 3a 3d 20 34 3b 20 28 69 2e 65 2e 20 70 72 65 70 61 72 65 20 66 6f 72 20 61 62 6e 6f 72 6d ┆t := 4; (i.e. prepare for abnorm┆
0x9ca0…9cc0 61 6c 20 74 65 72 6d 69 6e 61 74 69 6f 6e 29 0a 20 20 20 20 20 73 65 20 20 77 33 20 20 20 20 20 ┆al termination) se w3 ┆
0x9cc0…9ce0 30 20 20 20 20 20 20 3b 20 20 20 20 69 66 20 74 6f 70 20 63 6f 6d 6d 61 6e 64 20 61 64 64 72 65 ┆0 ; if top command addre┆
0x9ce0…9d00 73 73 20 64 65 66 69 6e 65 64 20 74 68 65 6e 0a 20 20 20 20 20 62 6c 20 20 77 33 20 20 78 33 2d ┆ss defined then bl w3 x3-┆
0x9d00…9d20 36 2b 31 20 20 20 20 3b 20 20 20 20 20 20 77 33 20 3a 3d 20 6c 61 73 74 20 63 6f 6d 6d 61 6e 64 ┆6+1 ; w3 := last command┆
0x9d20…9d40 20 65 78 65 63 75 74 65 64 3b 0a 20 20 20 20 20 73 6e 20 20 77 33 20 20 20 20 2d 31 3c 38 20 20 ┆ executed; sn w3 -1<8 ┆
0x9d40…9d60 20 20 3b 20 20 20 20 69 66 20 6c 61 73 74 20 63 6f 6d 6d 61 6e 64 20 3d 20 27 73 74 6f 70 27 20 ┆ ; if last command = 'stop' ┆
0x9d60…9d80 74 68 65 6e 0a 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 ┆then al w0 0 ; ┆
0x9d80…9da0 20 20 20 72 65 73 75 6c 74 20 3a 3d 20 30 3b 0a 20 20 20 20 20 73 6e 20 20 77 33 20 20 20 20 20 ┆ result := 0; sn w3 ┆
0x9da0…9dc0 34 3c 38 20 20 20 20 3b 20 20 20 20 69 66 20 6c 61 73 74 20 63 6f 6d 6d 61 6e 64 20 3d 20 27 77 ┆4<8 ; if last command = 'w┆
0x9dc0…9de0 61 69 74 27 20 74 68 65 6e 0a 20 20 20 20 20 61 6c 20 20 77 30 20 20 20 20 20 35 20 20 20 20 20 ┆ait' then al w0 5 ┆
0x9de0…9e00 20 3b 20 20 20 20 20 20 72 65 73 75 6c 74 20 3a 3d 20 35 3b 0a 0a 63 35 30 3a 20 6a 6c 20 20 77 ┆ ; result := 5; c50: jl w┆
0x9e00…9e20 33 20 20 20 20 20 64 33 35 20 20 20 20 3b 20 20 20 20 73 74 6f 70 28 69 29 2c 20 69 3d 31 2c 32 ┆3 d35 ; stop(i), i=1,2┆
0x9e20…9e40 2c 33 2c 2e 2e 2e 2c 6c 61 73 74 20 63 70 75 0a 20 61 6c 20 20 77 33 20 20 20 20 20 63 39 39 20 ┆,3,...,last cpu al w3 c99 ┆
0x9e40…9e60 20 20 20 3b 20 20 20 20 6c 69 6e 6b 20 3a 3d 20 69 6e 74 65 72 72 75 70 74 20 72 65 74 75 72 6e ┆ ; link := interrupt return┆
0x9e60…9e80 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 63 6f 6e 74 69 ┆; ; conti┆
0x9e80…9ea0 6e 75 65 20 77 69 74 68 20 64 65 6c 69 76 65 72 20 69 6e 74 65 72 72 75 70 74 0a 0a 3b 20 70 72 ┆nue with deliver interrupt ; pr┆
0x9ea0…9ec0 6f 63 65 64 75 72 65 20 64 65 6c 69 76 65 72 20 69 6e 74 65 72 72 75 70 74 0a 3b 20 66 75 6e 63 ┆ocedure deliver interrupt ; func┆
0x9ec0…9ee0 74 69 6f 6e 3a 20 64 65 6c 69 76 65 72 73 20 74 68 65 20 69 6e 74 65 72 72 75 70 74 20 6f 70 65 ┆tion: delivers the interrupt ope┆
0x9ee0…9f00 72 61 74 69 6f 6e 20 69 6e 20 74 68 65 20 65 76 65 6e 74 20 71 75 65 75 65 0a 3b 20 20 20 20 20 ┆ration in the event queue ; ┆
0x9f00…9f20 20 20 20 20 20 20 6f 66 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 64 72 69 76 65 ┆ of the corresponding drive┆
0x9f20…9f40 72 20 70 72 6f 63 65 73 73 2e 0a 3b 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 64 72 69 76 65 ┆r process. ; the drive┆
0x9f40…9f60 72 20 70 72 6f 63 65 73 73 20 69 73 20 73 74 61 72 74 65 64 2c 20 69 66 20 69 74 20 77 61 73 20 ┆r process is started, if it was ┆
0x9f60…9f80 77 61 69 74 69 6e 67 20 66 6f 72 0a 3b 20 20 20 20 20 20 20 20 20 20 20 61 6e 20 65 76 65 6e 74 ┆waiting for ; an event┆
0x9f80…9fa0 2e 0a 3b 0a 3b 20 63 61 6c 6c 3a 20 77 30 20 3d 20 72 65 73 75 6c 74 20 28 3d 30 2c 20 31 2c 20 ┆. ; ; call: w0 = result (=0, 1, ┆
0x9fa0…9fc0 32 2c 20 33 2c 20 34 2c 20 35 2c 20 36 29 2c 20 77 32 20 3d 20 6f 70 65 72 61 74 69 6f 6e 2c 20 ┆2, 3, 4, 5, 6), w2 = operation, ┆
0x9fc0…9fe0 77 33 20 3d 20 6c 69 6e 6b 0a 3b 20 65 78 69 74 3a 20 61 6c 6c 20 72 65 67 73 20 75 6e 64 65 66 ┆w3 = link ; exit: all regs undef┆
0x9fe0…a000 0a 3b 20 72 65 74 75 72 6e 20 61 64 64 72 65 73 73 3a 20 6c 69 6e 6b 0a 0a 62 2e 20 68 31 30 20 ┆ ; return address: link b. h10 ┆
0xa000…a020 77 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0a 64 31 32 31 3a 72 73 20 20 77 33 20 20 20 ┆w. ; d121:rs w3 ┆
0xa020…a040 20 20 68 30 20 20 20 20 20 3b 20 20 20 20 73 61 76 65 20 28 72 65 74 75 72 6e 29 3b 0a 20 20 20 ┆ h0 ; save (return); ┆
0xa040…a060 20 20 6a 6c 20 20 77 31 20 20 20 20 20 64 31 33 31 20 20 20 3b 20 20 20 20 73 65 74 20 72 65 73 ┆ jl w1 d131 ; set res┆
0xa060…a080 75 6c 74 20 61 6e 64 20 64 65 73 63 72 65 61 73 65 20 61 6c 6c 20 73 74 6f 70 63 6f 75 6e 74 73 ┆ult and descrease all stopcounts┆
0xa080…a0a0 3b 0a 3b 20 77 32 20 3d 20 64 65 76 69 63 65 20 64 65 73 63 72 0a 0a 20 20 20 20 20 72 6c 20 20 ┆; ; w2 = device descr rl ┆
0xa0a0…a0c0 77 31 20 20 78 32 2b 61 32 35 30 20 20 20 3b 20 20 20 20 64 72 69 76 65 72 20 3a 3d 20 64 72 69 ┆w1 x2+a250 ; driver := dri┆
0xa0c0…a0e0 76 65 72 70 72 6f 63 20 28 64 65 76 69 63 65 20 64 65 73 63 72 29 3b 0a 20 20 20 20 20 73 68 20 ┆verproc (device descr); sh ┆
0xa0e0…a100 20 77 31 20 20 20 20 20 30 20 20 20 20 20 20 3b 20 20 20 20 69 66 20 64 72 69 76 65 72 20 75 6e ┆ w1 0 ; if driver un┆
0xa100…a120 64 65 66 69 6e 65 64 20 74 68 65 6e 0a 20 20 20 20 20 6a 6c 20 20 20 20 20 20 20 20 28 68 30 29 ┆defined then jl (h0)┆
0xa120…a140 20 20 20 20 3b 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 20 20 20 20 20 61 6c 20 20 77 32 20 ┆ ; return; al w2 ┆
0xa140…a160 20 78 32 2b 61 32 34 31 20 20 20 3b 20 20 20 20 6f 70 65 72 20 3a 3d 20 74 69 6d 65 6f 75 74 20 ┆ x2+a241 ; oper := timeout ┆
0xa160…a180 6f 70 65 72 61 74 69 6f 6e 20 28 64 65 76 69 63 65 20 64 65 73 63 72 29 3b 0a 20 20 20 20 20 72 ┆operation (device descr); r┆
0xa180…a1a0 6c 20 20 77 33 20 20 20 20 20 68 30 20 20 20 20 20 3b 20 20 20 20 72 65 73 74 6f 72 65 20 28 72 ┆l w3 h0 ; restore (r┆
0xa1a0…a1c0 65 74 75 72 6e 29 3b 0a 0a 20 20 20 20 20 62 7a 20 20 77 30 20 20 78 31 2b 61 31 33 20 20 20 20 ┆eturn); bz w0 x1+a13 ┆
0xa1c0…a1e0 3b 20 20 20 20 73 74 61 74 65 20 3a 3d 20 73 74 61 74 65 28 64 72 69 76 65 72 29 3b 0a 20 20 20 ┆; state := state(driver); ┆
0xa1e0…a200 20 20 73 6e 20 20 77 30 20 20 20 20 20 61 31 30 34 20 20 20 3b 20 20 20 20 69 66 20 64 72 69 76 ┆ sn w0 a104 ; if driv┆
0xa200…a220 65 72 20 69 73 20 77 61 69 74 69 6e 67 20 66 6f 72 20 65 76 65 6e 74 20 74 68 65 6e 0a 20 20 20 ┆er is waiting for event then ┆
0xa220…a240 20 20 6a 6c 20 20 20 20 20 20 20 20 20 64 31 32 37 20 20 20 3b 20 20 20 20 20 20 67 6f 74 6f 20 ┆ jl d127 ; goto ┆
0xa240…a260 74 61 6b 65 20 69 6e 74 65 72 72 75 70 74 3b 0a 0a 20 20 20 20 20 61 6c 20 20 77 31 20 20 78 31 ┆take interrupt; al w1 x1┆
0xa260…a280 2b 61 31 35 20 20 20 20 3b 20 20 20 20 6c 69 6e 6b 20 28 65 76 65 6e 74 20 71 75 65 75 65 20 28 ┆+a15 ; link (event queue (┆
0xa280…a2a0 64 72 69 76 65 72 29 20 2c 20 6f 70 65 72 29 3b 0a 20 20 20 20 20 6a 6c 20 20 20 20 20 20 20 20 ┆driver) , oper); jl ┆
0xa2a0…a2c0 20 64 36 20 20 20 20 20 3b 20 20 20 20 72 65 74 75 72 6e 3b 0a 68 30 3a 20 20 30 20 20 20 20 20 ┆ d6 ; return; h0: 0 ┆
0xa2c0…a2e0 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 73 61 76 65 64 20 72 65 74 75 72 6e 3b 0a 65 2e 20 20 ┆ ; saved return; e. ┆
0xa2e0…a300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 0a 0a 3b 20 70 72 6f 63 65 64 75 72 ┆ ; ; procedur┆
0xa300…a320 65 20 74 61 6b 65 20 69 6e 74 65 72 72 75 70 74 0a 3b 20 66 75 6e 63 74 69 6f 6e 3a 20 6c 65 74 ┆e take interrupt ; function: let┆
0xa320…a340 20 74 68 65 20 64 72 69 76 65 72 20 72 65 63 65 69 76 65 20 74 68 65 20 69 6e 74 65 72 72 75 70 ┆ the driver receive the interrup┆
0xa340…a360 74 20 6f 70 65 72 61 74 69 6f 6e 20 61 74 20 6f 6e 63 65 0a 3b 0a 3b 20 63 61 6c 6c 3a 20 77 31 ┆t operation at once ; ; call: w1┆
0xa360…a380 20 3d 20 64 72 69 76 65 72 20 70 72 6f 63 65 73 73 2c 20 77 32 20 3d 20 69 6e 74 65 72 72 75 70 ┆ = driver process, w2 = interrup┆
0xa380…a3a0 74 20 6f 70 65 72 61 74 69 6f 6e 2c 20 77 33 20 3d 20 6c 69 6e 6b 0a 3b 20 65 78 69 74 3a 20 61 ┆t operation, w3 = link ; exit: a┆
0xa3a0…a3c0 6c 6c 20 72 65 67 73 20 75 6e 64 65 66 0a 3b 20 72 65 74 75 72 6e 20 61 64 64 72 65 73 73 3a 20 ┆ll regs undef ; return address: ┆
0xa3c0…a3e0 6c 69 6e 6b 0a 0a 64 31 32 37 3a 61 6c 20 20 77 32 20 20 78 32 2d 61 32 34 31 2b 61 32 34 36 3b ┆link d127:al w2 x2-a241+a246;┆
0xa3e0…a400 0a 20 20 20 20 20 72 73 20 20 77 32 20 20 78 31 2b 61 33 30 20 20 20 20 3b 20 20 20 20 73 61 76 ┆ rs w2 x1+a30 ; sav┆
0xa400…a420 65 20 77 32 20 28 64 72 69 76 65 72 29 20 3a 3d 20 61 64 64 72 65 73 73 20 6f 66 20 64 72 69 76 ┆e w2 (driver) := address of driv┆
0xa420…a440 65 72 20 73 65 72 76 69 63 65 20 69 6e 73 74 0a 0a 20 20 20 20 20 61 6c 20 20 77 30 20 20 20 20 ┆er service inst al w0 ┆
0xa440…a460 20 32 20 20 20 20 20 20 3b 20 20 20 20 73 61 76 65 20 77 30 20 28 64 72 69 76 65 72 29 20 3a 3d ┆ 2 ; save w0 (driver) :=┆
0xa460…a480 20 32 3b 20 20 69 2e 65 2e 20 69 6e 64 69 63 61 74 65 20 69 6e 74 65 72 72 75 70 74 3b 0a 20 20 ┆ 2; i.e. indicate interrupt; ┆
0xa480…a4a0 20 20 20 72 73 20 20 77 30 20 20 78 31 2b 61 32 38 20 20 20 20 3b 20 20 20 20 6c 69 6e 6b 20 69 ┆ rs w0 x1+a28 ; link i┆
0xa4a0…a4c0 6e 74 65 72 6e 61 6c 20 28 64 72 69 76 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆nternal (driver); ┆
0xa4c0…a4e0 20 20 20 20 20 20 20 20 20 3b 20 20 20 20 28 6f 6e 6c 79 20 72 65 6c 65 76 61 6e 74 20 61 66 74 ┆ ; (only relevant aft┆
0xa4e0…a500 65 72 20 64 65 6c 69 76 65 72 20 69 6e 74 65 72 72 75 70 74 29 0a 20 20 20 20 20 6a 6c 20 20 20 ┆er deliver interrupt) jl ┆
0xa500…a520 20 20 20 20 20 20 64 31 30 20 20 20 20 3b 20 20 20 20 72 65 74 75 72 6e 3b 0a 0a 3b 20 70 72 6f ┆ d10 ; return; ; pro┆
0xa520…a540 63 65 64 75 72 65 20 70 72 65 70 61 72 65 20 64 72 69 76 65 72 28 70 72 6f 63 29 0a 3b 20 66 75 ┆cedure prepare driver(proc) ; fu┆
0xa540…a560 6e 63 74 69 6f 6e 3a 20 69 6e 69 74 69 61 6c 69 7a 65 73 20 63 75 72 72 65 6e 74 20 65 78 74 65 ┆nction: initializes current exte┆
0xa560…a580 72 6e 61 6c 20 70 72 6f 63 65 73 73 20 61 6e 64 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 0a ┆rnal process and current buffer ┆
0xa580…a5a0 3b 20 20 20 20 20 20 20 20 20 20 20 65 78 69 74 73 20 74 6f 20 74 68 65 20 69 6e 74 65 72 72 75 ┆; exits to the interru┆
0xa5a0…a5c0 70 74 20 61 64 64 72 65 73 73 20 67 69 76 65 6e 20 69 6e 20 70 72 6f 63 3a 0a 3b 20 20 20 20 20 ┆pt address given in proc: ; ┆
0xa5c0…a5e0 20 20 20 20 20 20 20 20 20 69 6e 74 20 61 64 64 72 20 20 20 20 3a 20 20 6e 6f 72 6d 61 6c 20 65 ┆ int addr : normal e┆
0xa5e0…a600 78 69 74 0a 3b 0a 3b 20 74 68 65 20 63 61 6c 6c 20 6d 75 73 74 20 62 65 20 6d 61 64 65 20 6c 69 ┆xit ; ; the call must be made li┆
0xa600…a620 6b 65 20 74 68 69 73 3a 0a 3b 0a 3b 20 20 20 70 72 6f 63 20 2b 20 61 32 34 36 3a 20 20 6a 6c 20 ┆ke this: ; ; proc + a246: jl ┆
0xa620…a640 20 77 31 20 20 20 20 20 63 33 30 20 3b 20 64 72 69 76 65 72 20 73 65 72 76 69 63 65 20 69 6e 73 ┆ w1 c30 ; driver service ins┆
0xa640…a660 74 72 75 63 74 69 6f 6e 0a 3b 20 20 20 20 20 2d 2d 2d 0a 3b 20 20 20 70 72 6f 63 20 2b 20 61 32 ┆truction ; --- ; proc + a2┆
0xa660…a680 34 35 3a 20 20 69 6e 74 65 72 72 75 70 74 20 61 64 64 72 65 73 73 0a 3b 20 20 20 20 20 2d 2d 2d ┆45: interrupt address ; ---┆
0xa680…a6a0 0a 3b 20 20 20 70 72 6f 63 20 2b 20 61 35 34 20 3a 20 20 6e 65 78 74 20 6d 65 73 73 61 67 65 20 ┆ ; proc + a54 : next message ┆
0xa6a0…a6c0 62 75 66 0a 3b 0a 3b 20 63 61 6c 6c 3a 20 77 31 20 3d 20 70 72 6f 63 20 2b 20 61 32 34 37 0a 3b ┆buf ; ; call: w1 = proc + a247 ;┆
0xa6c0…a6e0 20 65 78 69 74 3a 20 77 30 20 3d 20 72 65 73 75 6c 74 28 70 72 6f 63 29 2c 20 77 31 20 3d 20 70 ┆ exit: w0 = result(proc), w1 = p┆
0xa6e0…a700 72 6f 63 2c 20 77 32 20 3d 20 62 75 66 28 70 72 6f 63 29 0a 3b 20 20 20 20 20 20 20 20 20 20 20 ┆roc, w2 = buf(proc) ; ┆
0xa700…a720 20 20 20 20 20 69 6e 74 2e 61 64 64 72 20 20 20 20 3a 20 20 6e 6f 72 6d 61 6c 20 65 78 69 74 0a ┆ int.addr : normal exit ┆
0xa720…a740 0a 63 33 30 3a 20 61 6c 20 20 77 31 20 20 78 31 2d 61 32 34 37 20 20 20 3b 0a 20 20 20 20 20 72 ┆ c30: al w1 x1-a247 ; r┆
0xa740…a760 73 20 20 77 31 20 20 20 20 20 62 31 39 20 20 20 20 3b 20 20 20 20 63 75 72 72 65 6e 74 20 72 65 ┆s w1 b19 ; current re┆
0xa760…a780 63 65 69 76 65 72 20 3a 3d 20 62 75 66 3b 0a 20 20 20 20 20 72 6c 20 20 77 32 20 20 78 31 2b 61 ┆ceiver := buf; rl w2 x1+a┆
0xa780…a7a0 35 34 20 20 20 20 3b 0a 20 20 20 20 20 72 73 20 20 77 32 20 20 20 20 20 62 31 38 20 20 20 20 3b ┆54 ; rs w2 b18 ;┆
0xa7a0…a7c0 20 20 20 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 61 64 64 72 65 73 73 20 3a 3d 20 6e 65 ┆ current buffer address := ne┆
0xa7c0…a7e0 78 74 20 6d 65 73 73 28 70 72 6f 63 29 3b 0a 20 20 20 20 20 72 6c 20 20 77 30 20 20 78 31 2b 61 ┆xt mess(proc); rl w0 x1+a┆
0xa7e0…a800 32 34 34 20 20 20 3b 20 20 20 20 72 65 73 75 6c 74 20 3a 3d 20 74 69 6d 65 6f 75 74 28 70 72 6f ┆244 ; result := timeout(pro┆