From acf115128525e4fb49703e15f2a3c1733f482fc1 Mon Sep 17 00:00:00 2001 From: nealcrook Date: Wed, 23 Nov 2016 11:45:51 +0000 Subject: [PATCH] Add simple example programs --- Applications/BCPL/examples/cgtest.i | 196 ++++++++++++++++++++++++++++ Applications/BCPL/examples/fact.b | 5 + Applications/BCPL/examples/fact.i | 72 ++++++++++ Applications/BCPL/examples/hello.b | 13 ++ Applications/BCPL/examples/hello.i | 72 ++++++++++ 5 files changed, 358 insertions(+) create mode 100644 Applications/BCPL/examples/cgtest.i create mode 100644 Applications/BCPL/examples/fact.b create mode 100644 Applications/BCPL/examples/fact.i create mode 100644 Applications/BCPL/examples/hello.b create mode 100644 Applications/BCPL/examples/hello.i diff --git a/Applications/BCPL/examples/cgtest.i b/Applications/BCPL/examples/cgtest.i new file mode 100644 index 00000000..5dd9149f --- /dev/null +++ b/Applications/BCPL/examples/cgtest.i @@ -0,0 +1,196 @@ +/proj/hci/src/langs/1/bcpl/local/boot/icint $0; exit $? +11 LIP2 X24 X4 G11L11 /SELECTINPUT +12 LIP2 X25 X4 G12L12 /SELECTOUTPUT +13 X26 X4 G13L13 /RDCH +14 LIP2 X27 X4 G14L14 /WRCH +42 LIP2 X28 X4 G42L42 /FINDINPUT +41 LIP2 X29 X4 G41L41 /FINDOUTPUT +30 LIP2 X30 X4 G30L30 /STOP +31 X31 X4 G31L31 /LEVEL +32 LIP3 LIP2 X32 G32L32 /LONGJUMP +46 X33 X4 G46L46 /ENDREAD +47 X34 X4 G47L47 /ENDWRITE +40 LIP3 LIP2 X35 G40L40 /APTOVEC +85 LIP3 LIP2 X36 X4 G85L85 / GETBYTE +86 LIP3 LIP2 X37 X4 G86L86 / PUTBYTE +Z + + + +Z +JL12 +$ 1 L1 SP3 LIP2 SP6 L0 SP7 LIG85 K4 SP4 JL13 14 LIP2 SP9 LIP3 SP10 LIG8/ +5 K7 SP7 LIG14 K5 LIP3 A1 SP3 13 LIP3 LIP4 X15 TL14 X4 +$ 2 L0 SP4 LIP2 SP7 L0 SP8 LIG85 K5 SP5 JL15 16 LIP2 SP8 LIP4 SP9 LIG85/ + K6 SP6 LIP4 AIP3 SP7 LIP6 SIP7 LIP4 A1 SP4 15 LIP4 LIP5 X15 TL16 X4 +$ 3 L0 AIP2 X1 L255 X18 SP4 LIP4 L2 X6 SP5 L0 SP6 LIP4 SP7 JL18 19 LIP3/ + SP10 LIP6 SP11 LIP6 AIP2 X1 SP12 LIG86 K8 LIP6 A1 SP6 18 LIP6 LIP7 X15/ + TL19 L1 LIP4 X18 L0 X10 FL20 LIP3 SP8 L1 AIP4 SP9 L0 SP10 LIG86 K6 20 / +LIP5 JL17 17 X4 +$ 4 LP7 SP4 L0 SP5 LIP2 SP6 LIP2 L0 X12 FL21 LIP3 L1 X9 SP3 LIP2 X2 SP6/ + 21 22 LIP6 L10 X7 SP28 LIP5 AIP4 SP29 LIP28 SIP29 LIP6 L10 X6 SP6 L1 A/ +IP5 SP5 L0 LIP6 X10 FL22 L1 AIP5 SP28 LIP3 SP29 JL23 24 L32 SP32 LIG14 / +K30 LIP28 A1 SP28 23 LIP28 LIP29 X15 TL24 LIP2 L0 X12 FL25 L45 SP30 LIG/ +14 K28 25 LIP5 L1 X9 SP28 JL26 27 LIP28 AIP4 X1 A48 SP31 LIG14 K29 LIP2/ +8 AIL499 SP28 26 LIP28 L0 X13 TL27 X4 +$ 5 LIP2 SP5 L0 SP6 LIG68 K3 X4 +$ 6 L10 SP4 LIG14 K2 X4 +$ 7 L0 SP2 L0 SP3 29 LIG13 K4 SG71 JL31 33 34 35 JIL30 36 LIL498 SP3 37/ + LIG13 K4 SG71 JL32 31 LIG71 X23 D5 DL32 D32 DL33 D9 DL34 D10 DL35 D45 / +DL36 D43 DL37 32 JL39 38 LIP2 L10 X5 AIG71 L48 X9 SP2 LIG13 K4 SG71 39 / +L48 LIG71 X15 FL40 LIG71 L57 X15 TL38 40 LIP3 FL41 LIP2 X2 SP2 41 LIP2 / +JL28 28 X4 +$ 8 LIP3 L1 X14 FL42 LIP2 L3 X17 SP6 LIP3 L1 X9 SP7 LIG77 K4 42 L7 LIP2/ + X18 A48 SP6 LIG14 K4 X4 +$ 9 LIP3 L1 X14 FL43 LIP2 L4 X17 SP6 LIP3 L1 X9 SP7 LIG75 K4 43 L15 LIP/ +2 X18 AL44 X1 SP6 LIG14 K4 X4 +$ 10 LP3 SP14 L1 SP15 LIP2 SP18 L0 SP19 LIG85 K16 SP16 JL45 46 LIP2 SP1/ +9 LIP15 SP20 LIG85 K17 SP17 L37 LIP17 X10 FL47 L0 SP18 L0 AIP14 X1 SP19/ + L0 SP20 LIP2 SP23 L1 AIP15 SP24 LIG85 K21 SP21 L1 AIP15 SP15 JL53 55 L/ +IP21 SP24 LIG14 K22 JL54 56 LIG60 SP18 JIL50 57 LIG14 SP18 JIL50 58 LIG/ +77 SP18 JIL52 59 LIG75 SP18 JIL52 60 LIG68 SP18 JIL52 61 LIG68 SP18 JIL/ +50 51 L1 AIP15 SP15 LIP2 SP24 LIP15 SP25 LIG85 K22 SP20 L48 LIP20 X15 F/ +L63 LIP20 L57 X15 FL63 LIP20 L48 X9 SP22 JL62 63 LIP20 L65 X9 A10 SP22 / +62 LIP22 SP20 49 LIP19 SP24 LIP20 SP25 LIP18 K22 L1 AIP14 SP14 JL54 53 / +LIP21 X23 D6 DL55 D83 DL56 D67 DL57 D79 DL58 D88 DL59 D73 DL60 D78 DL61/ + 54 JL48 47 LIP17 SP20 LIG14 K18 48 LIP15 A1 SP15 45 LIP15 LIP16 X15 TL/ +46 X4 +$ 11 LL497 SP4 LIG60 K2 X4 12 +499 D-1 30 DL29 498 D-1 44 D48 D49 D50 D51 D52 D53 D54 D55 D56 D57 D65 / +D66 D67 D68 D69 D70 50 DL49 52 DL51 497 C26 C10 C77 C65 C80 C83 C84 C79/ + C82 C69 C32 C78 C79 C84 C32 C73 C77 C80 C76 C69 C77 C69 C78 C84 C69 C6/ +8 C10 +G60L1 G67L2 G66L3 G68L4 G62L5 G63L6 G70L7 G77L8 G75L9 G76L10 G78L11 +Z +JL6 +$ 5 L1 AIG103 SG103 L1 AIG106 SG106 LIP3 LIP2 X10 FL8 LIG107 FL8 LIP3 J/ +L7 8 LL499 SP6 LIG103 SP7 LIP3 SP8 LIG76 K4 LIP3 LIP2 X10 FL9 LL498 SP6/ + LIG60 K4 JL10 9 LL497 SP6 LIP2 SP7 LIP2 SP8 LIP3 SP9 LIP3 SP10 LIG76 K/ +4 L1 AIG104 SG104 10 LIP3 JL7 7 X4 6 JL13 +$ 11 LIP3 AIP2 AIP4 AIP5 AIP6 AIP7 SP11 LIP8 SP12 LIG108 K9 X4 13 JL19 +$ 14 LP5 SP3 LP206 SP4 L0 SP409 L1 SP410 L2 SP411 LIP3 SP412 LIP4 SP413/ + LIL18 K407 X4 +$ 15 LL496 X4 +$ 16 LL495 X4 +$ 17 LL494 SP9 LIG27 K10 SP10 LIG29 K11 SP11 LIG76 K7 L100 SG100 L101 S/ +G101 L102 SG102 L0 SG103 L0 SG106 L0 SG104 LIP5 SG105 LIP6 SL4 L0 SP7 J/ +L22 23 LIP7 A1000 SP8 LIP7 AIG105 SP9 LIP8 SIP9 LIP7 A10000 SP8 LIP7 AI/ +L4 SP9 LIP8 SIP9 LIP7 A1 SP7 22 LIP7 L200 X15 TL23 L0 SG107 LIL2 AIL1 A/ +IL3 SP9 L33 SP10 LIG108 K7 LIG101 AIG100 AIG102 SP9 L303 SP10 LIG108 K7/ + LIP3 AIP2 AIP4 SP9 L3 SP10 LIG108 K7 L321 A123 L400 X9 SP9 L44 SP10 LI/ +G108 K7 L0 LIP2 X10 SP9 L-1 SP10 LIG108 K7 L0 LIP3 X10 SP9 L0 SP10 LIG1/ +08 K7 LP3 AIP2 X1 SP9 L1 SP10 LIG108 K7 LL2 AIP2 X1 SP9 L11 SP10 LIG108/ + K7 LG101 AIP2 X1 SP9 L101 SP10 LIG108 K7 L5 SP2 L15 SL1 L105 SG100 LIP/ +2 SP9 L5 SP10 LIG108 K7 LIL1 SP9 L15 SP10 LIG108 K7 LIG100 SP9 L105 SP1/ +0 LIG108 K7 L1234 SP7 L1 AIG105 SP8 LIP7 SIP8 L5678 SP7 L2 AIG105 SP8 L/ +IP7 SIP8 L1 AIG105 X1 SP9 L1234 SP10 LIG108 K7 LIP4 AIG105 X1 SP9 L5678/ + SP10 LIG108 K7 LIL1 LIP2 X5 SP9 L75 SP10 LIG108 K7 LIP2 L1 X5 SP9 LIP3/ + L2 X5 SP10 LIP9 AIP10 SP9 LIP4 L3 X5 SP10 LIP9 AIP10 SP9 L4 LIG100 X5 / +SP10 LIP9 AIP10 SP9 L433 SP10 LIG108 K7 LIL1 LIP2 X5 SP9 LIP2 LIL1 X5 S/ +P10 LIP9 AIP10 SP9 L150 SP10 LIG108 K7 L100 L2 X6 SP9 L50 SP10 LIG108 K/ +7 LIL1 LIP2 X6 SP9 L3 SP10 LIG108 K7 LIL1 SP9 LIP2 X2 SP10 LIP9 LIP10 X/ +6 SP9 L-3 SP10 LIG108 K7 LIL1 X2 LIP2 X6 SP9 L-3 SP10 LIG108 K7 LIL1 X2/ + SP9 LIP2 X2 SP10 LIP9 LIP10 X6 SP9 L3 SP10 LIG108 K7 LIL1 AIL1 LIL1 X6/ + SP9 L2 SP10 LIG108 K7 LIP2 LIL1 X5 SP9 LIL1 LIP2 X5 SP10 LIP9 LIP10 X6/ + SP9 L1 SP10 LIG108 K7 LIL2 AIL1 SP9 LIP3 AIP2 SP10 LIP9 LIP10 X5 L123 / +X5 SP9 L123 L6 X5 SP10 LIP9 LIP10 X6 SP9 L26 SP10 LIG108 K7 L7 L2 X7 SP/ +9 L1 SP10 LIG108 K7 LIG100 L100 X7 SP9 L5 SP10 LIG108 K7 LIL1 LIP2 X7 S/ +P9 L0 SP10 LIG108 K7 LIG100 X2 SP9 L-105 SP10 LIG108 K7 L105 LIG100 X10/ + SP9 L-1 SP10 LIG108 K7 L105 LIG100 X11 SP9 L0 SP10 LIG108 K7 LIG100 L1/ +05 X12 SP9 L0 SP10 LIG108 K7 LIG100 L105 X13 SP9 L-1 SP10 LIG108 K7 LIG/ +100 L105 X14 SP9 L0 SP10 LIG108 K7 LIG100 L105 X15 SP9 L-1 SP10 LIG108 / +K7 L1021 L3 X16 SP9 L8168 SP10 LIG108 K7 L1021 L3 X17 SP9 L127 SP10 LIG/ +108 K7 L1021 SP9 L1 AIP4 SP10 LIP9 LIP10 X16 SP9 L8168 SP10 LIG108 K7 L/ +1021 SP9 L1 AIP4 SP10 LIP9 LIP10 X17 SP9 L127 SP10 LIG108 K7 L10 L12 X1/ +8 SP9 L8 SP10 LIG108 K7 L10 L12 X19 SP9 L14 SP10 LIG108 K7 L10 L12 X21 / +L31 X18 SP9 L25 SP10 LIG108 K7 L10 L12 X20 SP9 L6 SP10 LIG108 K7 L-1 X3/ + SP9 L0 SP10 LIG108 K7 L0 X3 SP9 L-1 SP10 LIG108 K7 L-4321 L1234 X21 X3/ + SP9 L-4321 L1234 X20 SP10 LIG108 K7 LIG100 X2 SP9 L-105 SP10 LIG108 K7/ + LIG105 X1 SP9 L1000 SP10 LIG108 K7 L0 AIG105 X1 SP9 L1000 SP10 LIG108 / +K7 L1 AIG105 X1 SP9 L1234 SP10 LIG108 K7 LIG105 X1 L998 X9 AIG105 X1 SP/ +9 L5678 SP10 LIG108 K7 LIL4 X1 SP9 L10000 SP10 LIG108 K7 L0 AIL4 X1 SP9/ + L10000 SP10 LIG108 K7 LIL4 A0 X1 SP9 L10000 SP10 LIG108 K7 LIL4 A1 X1 / +SP9 L10001 SP10 LIG108 K7 L1 AIL4 X1 SP9 L10001 SP10 LIG108 K7 L200 AIL/ +4 X1 SP9 L10200 SP10 LIG108 K7 L-1 SL1 L0 SL2 LIL1 FL24 L16 SP2 24 LIP2/ + SP9 L16 SP10 LIG108 K7 L16 SP2 LIL2 FL25 L15 SP2 25 LIP2 SP9 L16 SP10 / +LIG108 K7 L15 SP2 LP8 SP7 JIL21 26 LL493 SP31 LIG60 K29 L1 AIG104 SG104/ + 20 L11 JL28 28 SL1 LIL1 SP9 L11 SP10 LIG108 K7 L100 SG103 LP8 SP7 L-1 / +SP10 L0 AIP7 SP11 LIP10 SIP11 L-2 SP10 L1 AIP7 SP11 LIP10 SIP11 LP11 SP/ +10 L0 SP22 JL29 30 LIP22 X2 SP23 LIP22 AIP10 SP24 LIP23 SIP24 LIP22 A1 / +SP22 29 LIP22 L10 X15 TL30 L5 AIP10 X1 SP24 L-5 SP25 LIG108 K22 L1 AIP7/ + X1 SP12 L-2 SP13 LIG108 K10 LIP2 SP9 L15 SP10 LIG100 SP13 L105 SP14 LI/ +G108 K11 SP11 LIL1 SP14 L11 SP15 LIG108 K12 SP12 LIG108 K7 AIP2 L15 X9 / +SP2 LIP2 SP9 L15 SP10 LIG108 K7 L1 AIP2 SP2 LIP2 SP9 L16 SP10 LIG108 K7/ + LIP2 L1 X9 SP2 LIP2 SP9 L15 SP10 LIG108 K7 L7 AIP2 SP2 LIP2 SP9 L22 SP/ +10 LIG108 K7 LIP2 L22 X9 SP2 LIP2 SP9 L0 SP10 LIG108 K7 L15 AIP2 SP2 LI/ +P2 SP9 L15 SP10 LIG108 K7 LIG100 AIP2 SP2 LIP2 SP9 L120 SP10 LIG108 K7 / +L1 SP2 L200 SG103 L0 SP7 L0 SP8 L0 SP9 L0 SP10 L-200 SP11 JL31 32 JL33 / +35 L1000 AIP7 SP7 JL34 36 LIP11 AIP8 SP8 JL34 37 L1 AIP7 SP7 38 L1 AIP7/ + SP7 39 L1 AIP7 SP7 40 L1 AIP7 SP7 41 L1 AIP7 SP7 42 L1 AIP7 SP7 43 L1 / +AIP7 SP7 44 L1 AIP7 SP7 45 L1 AIP7 SP7 46 L1 AIP7 SP7 47 L1 AIP7 SP7 48/ + L1 AIP7 SP7 49 L1 AIP7 SP7 50 L1 AIP7 SP7 51 L1 AIP7 SP7 52 L1 AIP7 SP/ +7 53 L1 AIP7 SP7 54 L1 AIP7 SP7 55 L1 AIP7 SP7 56 L1 AIP7 SP7 57 L1 AIP/ +7 SP7 58 L1 AIP7 SP7 59 L1 AIP7 SP7 60 L1 AIP7 SP7 61 L1 AIP7 SP7 62 L1/ + AIP7 SP7 63 L1 AIP7 SP7 64 L1 AIP7 SP7 65 L1 AIP7 SP7 66 L1 AIP7 SP7 6/ +7 L1 AIP7 SP7 68 L1 AIP7 SP7 JL34 33 LIP11 X23 D33 DL35 D-1000 DL36 D-2/ +00 DL37 D-190 DL38 D-180 DL39 D-5 DL40 D0 DL41 D-145 DL42 D7 DL43 D8 DL/ +44 D200 DL45 D190 DL46 D100 DL47 D90 DL48 D199 DL49 D95 DL50 D76 DL51 D/ +88 DL52 D99 DL53 D-98 DL54 D11 DL55 D12 DL56 D13 DL57 D41 DL58 D91 DL59/ + D92 DL60 D71 DL61 D73 DL62 D74 DL63 D81 DL64 D82 DL65 D61 DL66 D-171 D/ +L67 D-162 DL68 34 JL69 71 L1000 AIP9 SP9 JL70 72 L1 AIP9 SP9 73 L1 AIP9/ + SP9 74 L1 AIP9 SP9 75 L1 AIP9 SP9 76 L1 AIP9 SP9 77 L1 AIP9 SP9 78 L1 / +AIP9 SP9 79 L1 AIP9 SP9 80 L1 AIP9 SP9 81 L1 AIP9 SP9 82 L1 AIP9 SP9 83/ + L1 AIP9 SP9 84 L1 AIP9 SP9 85 L1 AIP9 SP9 86 L1 AIP9 SP9 87 L1 AIP9 SP/ +9 JL70 69 L10000 AIP11 X23 D16 DL71 D10020 DL72 D10021 DL73 D10022 DL74/ + D10023 DL75 D10024 DL76 D10025 DL77 D10026 DL78 D10027 DL79 D10028 DL8/ +0 D10029 DL81 D10010 DL82 D10011 DL83 D10012 DL84 D10013 DL85 D10014 DL/ +86 D10015 DL87 70 LIP11 A1 SP11 31 LIP11 L200 X15 TL32 LIP8 SP13 L0 SP1/ +4 LIG108 K11 LIP10 SP13 L0 SP14 LIG108 K11 LIP7 SP13 L401 L32 X9 L1000 / +X5 SP14 L1 A32 L32 X5 L2 X6 SP15 LIP14 AIP15 SP14 LIG108 K11 LIP9 SP13 / +L401 L16 X9 L1000 X5 SP14 L1 A16 L16 X5 L2 X6 SP15 LIP14 AIP15 SP14 LIG/ +108 K11 L250 SG103 L1 SP9 L2 SP10 L3 SP11 L4 SP12 L5 SP13 L6 SP14 L21 S/ +P15 LIL12 K7 L1 SP11 L1 SP12 LIG108 K9 SP9 L2 SP12 L2 SP13 LIG108 K10 S/ +P10 L3 SP13 L3 SP14 LIG108 K11 SP11 L4 SP14 L4 SP15 LIG108 K12 SP12 L5 / +SP15 L5 SP16 LIG108 K13 SP13 L6 SP16 L6 SP17 LIG108 K14 SP14 L21 SP17 L/ +21 SP18 LIG108 K15 SP15 LIL12 K7 L1 JL88 88 SP9 L2 JL89 89 SP10 L3 JL90/ + 90 SP11 L4 JL91 91 SP12 L5 JL92 92 SP13 L6 JL93 93 SP14 L21 SP15 LIL12/ + K7 L1 JL94 94 SP9 L2 SP12 L2 SP13 LIG108 K10 SP10 L3 JL95 95 SP11 L4 S/ +P14 L4 SP15 LIG108 K12 SP12 L5 JL96 96 SP13 L6 SP16 L6 SP17 LIG108 K14 / +SP14 L21 SP15 LIL12 K7 L1 SP9 L2 SP12 L2 SP13 LIG108 K10 SP10 L3 JL97 9/ +7 SP11 L4 SP12 L5 SP15 L5 SP16 LIG108 K13 SP13 L6 JL98 98 SP14 L21 SP15/ + LIL12 K7 LIG105 X1 SP9 L0 AIG105 X1 SP10 L200 AIG105 X1 SP11 LIL4 X1 S/ +P12 L0 AIL4 X1 SP13 L200 AIL4 X1 SP14 L1000 L2 X5 A1200 SP15 L10000 L2 / +X5 SP16 LIP15 AIP16 A10200 SP15 LIL12 K7 L1 SP9 L1 SP10 L1 SP11 L1 SP12/ + L1 SP13 L1 SP14 L6 SP15 LIP2 AIP2 LIP2 X6 AIL12 L2 X9 K7 L1 SP9 L2 SP1/ +0 L3 SP11 L4 SP12 L5 SP13 L6 SP14 L21 SP15 LL12 X1 K7 L300 SG103 L3 A2 / +AIG100 A6 SP9 L116 SP10 LIG108 K7 L2 AIG100 A3 A6 SP9 L116 SP10 LIG108 / +K7 L3 A6 A2 AIG100 SP9 L116 SP10 LIG108 K7 LIG100 L104 X9 SP9 L1 SP10 L/ +IG108 K7 L2 AIP2 SP9 L2 AIP2 SP10 LIP9 LIP10 X10 FL100 L99 SP9 JL99 100/ + L98 SP9 99 L99 SP10 LIG108 K7 LIG100 SP9 L1 AIG100 SP10 LIP9 LIP10 X12/ + FL102 L21 SP9 JL101 102 L22 SP9 101 L21 SP10 LIG108 K7 LIG100 SP9 L1 A/ +IG100 SP10 LIP9 LIP10 X14 FL104 L31 SP9 JL103 104 L32 SP9 103 L32 SP10 / +LIG108 K7 LIG100 L105 X15 FL106 L41 SP9 JL105 106 L42 SP9 105 L41 SP10 / +LIG108 K7 LIG100 L105 X13 FL108 L51 SP9 JL107 108 L52 SP9 107 L51 SP10 / +LIG108 K7 L400 SG103 L0 SP2 L1 SP3 L2 SP4 LIP2 SP9 L0 SP10 LIG108 K7 LI/ +P3 SP9 L1 SP10 LIG108 K7 LIP4 SP9 L2 SP10 LIG108 K7 L101 SG100 L102 SG1/ +01 L103 SG102 L11 SL1 L12 SL2 L13 SL3 L1 AIP2 SP9 L1 SP10 LIG108 K7 L1 / +AIG100 SP9 L102 SP10 LIG108 K7 L1 AIL1 SP9 L12 SP10 LIG108 K7 LL1 L2 X5/ + L2 X6 AIG100 L101 X9 X1 SP9 L11 SP10 LIG108 K7 LG100 SL1 LIL1 X1 SP9 L/ +101 SP10 LIG108 K7 LG101 SL2 LL2 SL1 LIL1 X1 X1 SP9 L102 SP10 LIG108 K7/ + L1 AIL4 SP7 L0 AIL4 SP8 LIP7 SIP8 LG102 SP7 L1 AIL4 SP8 LIP7 SIP8 LIP3/ + LIP4 X5 SP9 L0 AIL4 X1 A0 X1 A0 X1 SP10 LIP9 AIP10 L2 X9 SP9 L103 SP10/ + LIG108 K7 LIP3 LIP4 X5 SP9 L1 AIL4 X1 A0 X1 SP10 LIP9 AIP10 L2 X9 SP9 / +L103 SP10 LIG108 K7 L123 SP11 L123 SP12 LIG108 K9 SP9 L123 SP12 L123 SP/ +13 LIG108 K10 SP10 LIG108 K7 LL492 SP9 LIG106 SP10 LIG104 SP11 LIG76 K7/ + X4 19 +1 D10 2 D11 3 D12 4 D0 499 C8 C37 C73 C51 C32 C37 C73 C53 C32 498 C3 C7/ +9 C75 C10 497 C23 C70 C65 C73 C76 C69 C68 C32 C37 C88 C56 C40 C37 C78 C/ +41 C32 C37 C88 C56 C40 C37 C78 C41 C10 12 DL11 18 DL17 496 C3 C78 C111 / +C119 495 C5 C84 C111 C100 C97 C121 21 DL20 494 C25 C10 C67 C71 C84 C69 / +C83 C84 C69 C82 C32 C69 C78 C84 C69 C82 C69 C68 C32 C37 C83 C32 C37 C83/ + C10 C10 27 DL26 493 C11 C71 C79 C84 C79 C32 C69 C82 C82 C79 C82 C10 49/ +2 C35 C10 C37 C78 C32 C84 C69 C83 C84 C83 C32 C67 C79 C77 C80 C76 C69 C/ +84 C69 C68 C44 C32 C37 C78 C32 C70 C65 C73 C76 C85 C82 C69 C40 C83 C41 / +C10 +G108L5 G1L14 G27L15 G29L16 +Z diff --git a/Applications/BCPL/examples/fact.b b/Applications/BCPL/examples/fact.b new file mode 100644 index 00000000..fbd9aa76 --- /dev/null +++ b/Applications/BCPL/examples/fact.b @@ -0,0 +1,5 @@ + GLOBAL $( START:1; WRITEF:76 $) + LET START () BE $(1 + LET F(N) = N=0 -> 1, N*F(N-1) + FOR I = 1 TO 10 DO WRITEF("F(%N), = %N*N", I, F(I)) + FINISH $)1 diff --git a/Applications/BCPL/examples/fact.i b/Applications/BCPL/examples/fact.i new file mode 100644 index 00000000..3439ca0b --- /dev/null +++ b/Applications/BCPL/examples/fact.i @@ -0,0 +1,72 @@ +/proj/hci/src/langs/1/bcpl/local/boot/icint $0; exit $? +11 LIP2 X24 X4 G11L11 /SELECTINPUT +12 LIP2 X25 X4 G12L12 /SELECTOUTPUT +13 X26 X4 G13L13 /RDCH +14 LIP2 X27 X4 G14L14 /WRCH +42 LIP2 X28 X4 G42L42 /FINDINPUT +41 LIP2 X29 X4 G41L41 /FINDOUTPUT +30 LIP2 X30 X4 G30L30 /STOP +31 X31 X4 G31L31 /LEVEL +32 LIP3 LIP2 X32 G32L32 /LONGJUMP +46 X33 X4 G46L46 /ENDREAD +47 X34 X4 G47L47 /ENDWRITE +40 LIP3 LIP2 X35 G40L40 /APTOVEC +85 LIP3 LIP2 X36 X4 G85L85 / GETBYTE +86 LIP3 LIP2 X37 X4 G86L86 / PUTBYTE +Z + + + +Z +JL12 +$ 1 L1 SP3 LIP2 SP6 L0 SP7 LIG85 K4 SP4 JL13 14 LIP2 SP9 LIP3 SP10 LIG8/ +5 K7 SP7 LIG14 K5 LIP3 A1 SP3 13 LIP3 LIP4 X15 TL14 X4 +$ 2 L0 SP4 LIP2 SP7 L0 SP8 LIG85 K5 SP5 JL15 16 LIP2 SP8 LIP4 SP9 LIG85/ + K6 SP6 LIP4 AIP3 SP7 LIP6 SIP7 LIP4 A1 SP4 15 LIP4 LIP5 X15 TL16 X4 +$ 3 L0 AIP2 X1 L255 X18 SP4 LIP4 L2 X6 SP5 L0 SP6 LIP4 SP7 JL18 19 LIP3/ + SP10 LIP6 SP11 LIP6 AIP2 X1 SP12 LIG86 K8 LIP6 A1 SP6 18 LIP6 LIP7 X15/ + TL19 L1 LIP4 X18 L0 X10 FL20 LIP3 SP8 L1 AIP4 SP9 L0 SP10 LIG86 K6 20 / +LIP5 JL17 17 X4 +$ 4 LP7 SP4 L0 SP5 LIP2 SP6 LIP2 L0 X12 FL21 LIP3 L1 X9 SP3 LIP2 X2 SP6/ + 21 22 LIP6 L10 X7 SP28 LIP5 AIP4 SP29 LIP28 SIP29 LIP6 L10 X6 SP6 L1 A/ +IP5 SP5 L0 LIP6 X10 FL22 L1 AIP5 SP28 LIP3 SP29 JL23 24 L32 SP32 LIG14 / +K30 LIP28 A1 SP28 23 LIP28 LIP29 X15 TL24 LIP2 L0 X12 FL25 L45 SP30 LIG/ +14 K28 25 LIP5 L1 X9 SP28 JL26 27 LIP28 AIP4 X1 A48 SP31 LIG14 K29 LIP2/ +8 AIL499 SP28 26 LIP28 L0 X13 TL27 X4 +$ 5 LIP2 SP5 L0 SP6 LIG68 K3 X4 +$ 6 L10 SP4 LIG14 K2 X4 +$ 7 L0 SP2 L0 SP3 29 LIG13 K4 SG71 JL31 33 34 35 JIL30 36 LIL498 SP3 37/ + LIG13 K4 SG71 JL32 31 LIG71 X23 D5 DL32 D32 DL33 D9 DL34 D10 DL35 D45 / +DL36 D43 DL37 32 JL39 38 LIP2 L10 X5 AIG71 L48 X9 SP2 LIG13 K4 SG71 39 / +L48 LIG71 X15 FL40 LIG71 L57 X15 TL38 40 LIP3 FL41 LIP2 X2 SP2 41 LIP2 / +JL28 28 X4 +$ 8 LIP3 L1 X14 FL42 LIP2 L3 X17 SP6 LIP3 L1 X9 SP7 LIG77 K4 42 L7 LIP2/ + X18 A48 SP6 LIG14 K4 X4 +$ 9 LIP3 L1 X14 FL43 LIP2 L4 X17 SP6 LIP3 L1 X9 SP7 LIG75 K4 43 L15 LIP/ +2 X18 AL44 X1 SP6 LIG14 K4 X4 +$ 10 LP3 SP14 L1 SP15 LIP2 SP18 L0 SP19 LIG85 K16 SP16 JL45 46 LIP2 SP1/ +9 LIP15 SP20 LIG85 K17 SP17 L37 LIP17 X10 FL47 L0 SP18 L0 AIP14 X1 SP19/ + L0 SP20 LIP2 SP23 L1 AIP15 SP24 LIG85 K21 SP21 L1 AIP15 SP15 JL53 55 L/ +IP21 SP24 LIG14 K22 JL54 56 LIG60 SP18 JIL50 57 LIG14 SP18 JIL50 58 LIG/ +77 SP18 JIL52 59 LIG75 SP18 JIL52 60 LIG68 SP18 JIL52 61 LIG68 SP18 JIL/ +50 51 L1 AIP15 SP15 LIP2 SP24 LIP15 SP25 LIG85 K22 SP20 L48 LIP20 X15 F/ +L63 LIP20 L57 X15 FL63 LIP20 L48 X9 SP22 JL62 63 LIP20 L65 X9 A10 SP22 / +62 LIP22 SP20 49 LIP19 SP24 LIP20 SP25 LIP18 K22 L1 AIP14 SP14 JL54 53 / +LIP21 X23 D6 DL55 D83 DL56 D67 DL57 D79 DL58 D88 DL59 D73 DL60 D78 DL61/ + 54 JL48 47 LIP17 SP20 LIG14 K18 48 LIP15 A1 SP15 45 LIP15 LIP16 X15 TL/ +46 X4 +$ 11 LL497 SP4 LIG60 K2 X4 12 +499 D-1 30 DL29 498 D-1 44 D48 D49 D50 D51 D52 D53 D54 D55 D56 D57 D65 / +D66 D67 D68 D69 D70 50 DL49 52 DL51 497 C26 C10 C77 C65 C80 C83 C84 C79/ + C82 C69 C32 C78 C79 C84 C32 C73 C77 C80 C76 C69 C77 C69 C78 C84 C69 C6/ +8 C10 +G60L1 G67L2 G66L3 G68L4 G62L5 G63L6 G70L7 G77L8 G75L9 G76L10 G78L11 +Z +JL2 +$ 1 JL5 +$ 3 L0 LIP2 X10 FL7 L1 SP3 JL6 7 LIP2 L1 X9 SP5 LIL4 K3 LIP2 X5 SP3 6 L/ +IP3 X4 5 L1 SP2 JL8 9 LL499 SP5 LIP2 SP6 LIP2 SP9 LIL4 K7 SP7 LIG76 K3 / +LIP2 A1 SP2 8 LIP2 L10 X15 TL9 X22 X4 2 +4 DL3 499 C12 C70 C40 C37 C78 C41 C44 C32 C61 C32 C37 C78 C10 +G1L1 +Z diff --git a/Applications/BCPL/examples/hello.b b/Applications/BCPL/examples/hello.b new file mode 100644 index 00000000..c76743a8 --- /dev/null +++ b/Applications/BCPL/examples/hello.b @@ -0,0 +1,13 @@ +// a first program. +// bcpl hello.b +// icint hello.i + +GET "LIBHDR" + +LET START() BE + $( LET A, B, C, SUM = 1, 2, 3, 0 + SUM := A + B + C + WRITES("Sum of 1 + 2 + 3 is ") + WRITEN(SUM) + WRITES("*NHello, World*N") + $) diff --git a/Applications/BCPL/examples/hello.i b/Applications/BCPL/examples/hello.i new file mode 100644 index 00000000..8800ae3f --- /dev/null +++ b/Applications/BCPL/examples/hello.i @@ -0,0 +1,72 @@ +JL2 +$ 1 L1 SP2 L2 SP3 L3 SP4 L0 SP5 LIP3 AIP2 AIP4 SP5 LL499 SP8 LIG60 K6 L/ +IP5 SP8 LIG62 K6 LL498 SP8 LIG60 K6 X4 2 +499 C20 C83 C117 C109 C32 C111 C102 C32 C49 C32 C43 C32 C50 C32 C43 C32/ + C51 C32 C105 C115 C32 498 C14 C10 C72 C101 C108 C108 C111 C44 C32 C87 / +C111 C114 C108 C100 C10 +G1L1 +Z +JL13 +$ 1 L1 SP3 LIP2 SP6 L0 SP7 LIG85 K4 SP4 JL14 15 LIP2 SP9 LIP3 SP10 LIG8/ +5 K7 SP7 LIG14 K5 LIP3 A1 SP3 14 LIP3 LIP4 X15 TL15 X4 +$ 2 L0 SP4 LIP2 SP7 L0 SP8 LIG85 K5 SP5 JL16 17 LIP2 SP8 LIP4 SP9 LIG85/ + K6 SP6 LIP4 AIP3 SP7 LIP6 SIP7 LIP4 A1 SP4 16 LIP4 LIP5 X15 TL17 X4 +$ 3 L0 AIP2 X1 L255 X18 SP4 LIP4 L2 X6 SP5 L0 SP6 LIP4 SP7 JL19 20 LIP3/ + SP10 LIP6 SP11 LIP6 AIP2 X1 SP12 LIG86 K8 LIP6 A1 SP6 19 LIP6 LIP7 X15/ + TL20 JL21 23 LIP3 SP8 L1 AIP4 SP9 L0 SP10 LIG86 K6 24 JL22 21 L1 LIP4 / +X18 X23 D2 DL22 D0 DL23 D1 DL24 22 LIP5 JL18 18 X4 +$ 4 LP7 SP4 L0 SP5 LIP2 SP6 LIP2 L0 X12 FL25 LIP3 L1 X9 SP3 JL26 25 LIP/ +2 X2 SP6 26 27 LIP6 L10 X7 SP28 LIP5 AIP4 SP29 LIP28 SIP29 LIP6 L10 X6 / +SP6 L1 AIP5 SP5 L0 LIP6 X10 FL27 L1 AIP5 SP28 LIP3 SP29 JL28 29 L32 SP3/ +2 LIG14 K30 LIP28 A1 SP28 28 LIP28 LIP29 X15 TL29 LIP2 L0 X12 FL30 L45 / +SP30 LIG14 K28 30 LIP5 L1 X9 SP28 JL31 32 L48 SP31 LIP28 AIP4 X1 SP32 L/ +IP31 LIP32 X9 SP31 LIG14 K29 LIP28 A-1 SP28 31 LIP28 L0 X13 TL32 X4 +$ 5 LIP2 SP5 L0 SP6 LIG68 K3 X4 +$ 6 L10 SP4 LIG14 K2 X4 +$ 7 L12 SP4 LIG14 K2 X4 +$ 8 L0 SP2 L0 SP3 34 LIG13 K4 SG71 JL36 38 39 40 JIL35 41 L-1 SP3 42 LI/ +G13 K4 SG71 JL37 36 LIG71 X23 D5 DL37 D32 DL38 D9 DL39 D10 DL40 D45 DL4/ +1 D43 DL42 37 JL44 43 LIP2 L10 X5 AIG71 L48 X9 SP2 LIG13 K4 SG71 44 L48/ + LIG71 X15 FL45 LIG71 L57 X15 TL43 45 LIP3 FL46 LIP2 X2 SP2 46 LIP2 JL3/ +3 33 X4 +$ 9 LIP3 L1 X14 FL47 LIP2 L3 X17 SP6 LIP3 L1 X9 SP7 LIG77 K4 47 L7 LIP2/ + X18 A48 SP6 LIG14 K4 X4 +$ 10 LIP3 L1 X14 FL48 LIP2 L4 X17 SP6 LIP3 L1 X9 SP7 LIG75 K4 48 L15 LI/ +P2 X18 AL49 X1 SP6 LIG14 K4 X4 +$ 11 LP3 SP14 L1 SP15 LIP2 SP18 L0 SP19 LIG85 K16 SP16 JL50 51 LIP2 SP1/ +9 LIP15 SP20 LIG85 K17 SP17 L37 LIP17 X10 FL52 L0 SP18 L0 AIP14 X1 SP19/ + L0 SP20 LIP2 SP23 L1 AIP15 SP24 LIG85 K21 SP21 L1 AIP15 SP15 JL58 60 L/ +IP21 SP24 LIG14 K22 JL59 61 LIG60 SP18 JIL55 62 LIG14 SP18 JIL55 63 LIG/ +77 SP18 JIL57 64 LIG75 SP18 JIL57 65 LIG68 SP18 JIL57 66 LIG68 SP18 JIL/ +55 56 L1 AIP15 SP15 LIP2 SP24 LIP15 SP25 LIG85 K22 SP20 L48 LIP20 X15 F/ +L68 LIP20 L57 X15 FL68 LIP20 L48 X9 SP22 JL67 68 LIP20 L65 X9 A10 SP22 / +67 LIP22 SP20 54 LIP19 SP24 LIP20 SP25 LIP18 K22 L1 AIP14 SP14 JL59 58 / +LIP21 X23 D6 DL60 D83 DL61 D67 DL62 D79 DL63 D88 DL64 D73 DL65 D78 DL66/ + 59 JL53 52 LIP17 SP20 LIG14 K18 53 LIP15 A1 SP15 50 LIP15 LIP16 X15 TL/ +51 X4 +$ 12 LL499 SP4 LIG60 K2 X4 13 +35 DL34 49 D48 D49 D50 D51 D52 D53 D54 D55 D56 D57 D65 D66 D67 D68 D69 / +D70 55 DL54 57 DL56 499 C26 C10 C77 C65 C80 C83 C84 C79 C82 C69 C32 C78/ + C79 C84 C32 C73 C77 C80 C76 C69 C77 C69 C78 C84 C69 C68 C10 +G60L1 G67L2 G66L3 G68L4 G62L5 G63L6 G64L7 G70L8 G77L9 G75L10 G76L11 G78/ +L12 +Z +11 LIP2 X24 X4 G11L11 /SELECTINPUT +12 LIP2 X25 X4 G12L12 /SELECTOUTPUT +13 X26 X4 G13L13 /RDCH +14 LIP2 X27 X4 G14L14 /WRCH +42 LIP2 X28 X4 G42L42 /FINDINPUT +41 LIP2 X29 X4 G41L41 /FINDOUTPUT +30 LIP2 X30 X4 G30L30 /STOP +31 X31 X4 G31L31 /LEVEL +32 LIP3 LIP2 X32 G32L32 /LONGJUMP +46 X33 X4 G46L46 /ENDREAD +47 X34 X4 G47L47 /ENDWRITE +40 LIP3 LIP2 X35 G40L40 /APTOVEC +85 LIP3 LIP2 X36 X4 G85L85 / GETBYTE +86 LIP3 LIP2 X37 X4 G86L86 / PUTBYTE +16 X38 X4 G16L16 /INPUT +17 X39 X4 G17L17 /OUTPUT +15 LIP2 X40 X4 G15L15 /UNRDCH +35 X41 X4 G35L35 /REWIND +Z -- 2.34.1