diff --git a/software/examples/BLACKJACK/BLACKJACK-Load-Compressed.pt b/software/examples/BLACKJACK/BLACKJACK-Load-Compressed.pt new file mode 100644 index 0000000..26882e9 --- /dev/null +++ b/software/examples/BLACKJACK/BLACKJACK-Load-Compressed.pt @@ -0,0 +1,414 @@ +61000040000 +300000 +460430 +420444 +460431 +0260290326 +460432 +420445 +460433 +0260290352 +1100580000 +1450000 +1000580000 +1000590015 +120446 +300012 +4101260011 +403260012 +300020 +4101270011 +403270012 +400434 +100446 +170434 +360046 +420431 +10000100404 +420432 +10000400326 +1200029 +02400432 +100431 +0225360035 +120446 +400431 +300010 +100447 +130433 +490007 +3210400044 +100445 +120433 +410400044 +420432 +326200044 +0290044 +300067 +420433 +10000100378 +420432 +10000400326 +1200051 +02400432 +100433 +0225360057 +120446 +400433 +300010 +100447 +130431 +490007 +3210400066 +100444 +120431 +410400066 +420432 +326200066 +0290066 +100430 +120446 +400430 +103360072 +300002 +10090448 +1450000 +80000 +180449 +1340078 +1450000 +400435 +120446 +0252360087 +400432 +420435 +30090089 +10010090326 +10090450 +300000 +1450000 +300081 +2FIRST +2 CARD +2 +300092 +420432 +10000100326 +400436 +100432 +120446 +0252360107 +400432 +180435 +1350092 +30090109 +10090436 +440000 +300001 +300093 +1450000 +300099 +2||LAS +2T CAR +2D +460437 +440000 +300001 +460438 +460439 +460440 +460441 +100153 +400152 +100183 +400182 +100289 +400288 +020090133 +1450000 +80000 +360130 +400442 +02011090442 +10090450 +300135 +2||STA +2KE +440092 +300093 +10090436 +100436 +6241360141 +300142 +1260438 +5108360146 +6241360150 +100451 +300151 +480004 +170446 +360144 +300151 +100452 +190440 +0 +300155 +300159 +100154 +400152 +10090453 +300135 +440092 +300093 +10090454 +10090436 +100436 +6241360166 +300167 +1260439 +5108360171 +6241360175 +100451 +300176 +480004 +170446 +360169 +300176 +100452 +190441 +10090455 +10090454 +1450000 +80000 +360222 +0 +300185 +300189 +100184 +400182 +100440 +0221360191 +10090440 +300261 +020090217 +440092 +300093 +10090454 +10090436 +10090453 +100436 +5108360202 +6241360206 +100451 +300207 +6100360200 +480004 +170446 +300207 +100452 +120441 +400441 +0221360219 +10090454 +10090441 +100442 +140456 +1490009 +190437 +300321 +2BLACK +2JACK +10090454 +020090217 +300321 +100184 +400182 +440092 +300093 +10090436 +100436 +6241360230 +300231 +1260438 +5108360235 +6241360239 +100451 +300240 +480004 +170446 +360233 +300240 +100452 +190440 +100440 +180457 +340245 +300177 +100438 +360250 +1270438 +10270440 +300241 +10090453 +10090458 +100437 +130442 +400437 +440092 +300093 +10090454 +10090436 +10090453 +300321 +440092 +300093 +10090454 +10090436 +10090453 +100436 +6241360269 +300270 +1260439 +5108360274 +6241360278 +100451 +300279 +480004 +170446 +360272 +300279 +100452 +190441 +100441 +180459 +340286 +100290 +400288 +300261 +180457 +340300 +0 +300291 +300294 +410290 +1400288 +350297 +10090454 +10090441 +300311 +10090454 +020090217 +300315 +100439 +360303 +300308 +10090454 +10090458 +100442 +190443 +300321 +1270439 +10270441 +300280 +100440 +180441 +340319 +350321 +100437 +130442 +400437 +300321 +100442 +190437 +10090460 +10090461 +10090462 +02011090437 +300115 +2 A S +2 K S +2 Q S +2 J S +2 10 S +2 9 S +2 8 S +2 7 S +2 6 S +2 5 S +2 4 S +2 3 S +2 2 S +2 A H +2 K H +2 Q H +2 J H +2 10 H +2 9 H +2 8 H +2 7 H +2 6 H +2 5 H +2 4 H +2 3 H +2 2 H +2 A D +2 K D +2 Q D +2 J D +2 10 D +2 9 D +2 8 D +2 7 D +2 6 D +2 5 D +2 4 D +2 3 D +2 2 D +2 A C +2 K C +2 Q C +2 J C +2 10 C +2 9 C +2 8 C +2 7 C +2 6 C +2 5 C +2 4 C +2 3 C +2 2 C +61000040430 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +404 +378 +1 +026 +2|CUT| +52 +2||~__ +10 +11 +2|~___ +2~____ +2|CARD +15 +021 +2 BUST +16 +2||___ +2SCORE +2__ +60000300112 diff --git a/software/examples/BLACKJACK/BLACKJACK-Load.card b/software/examples/BLACKJACK/BLACKJACK-Load.card new file mode 100644 index 0000000..92098b9 --- /dev/null +++ b/software/examples/BLACKJACK/BLACKJACK-Load.card @@ -0,0 +1,68 @@ +666 61000600005 +66661000600011000003000000000046043000000420444000004604310026029032600000460432 +66661000600017000004204450000046043300260290352011005800000000145000001000580000 +66661000600023010005900150000012044600000300012041012600110040326001200000300020 +66661000600029041012700110040327001200000400434000001004460000017043400000360046 +66661000600035000004204311000010040400000420432100004003260000120002900002400432 +66661000600041000001004310022536003500000120446000004004310000030001000000100447 +66661000600047000001304330000049000703210400044000001004450000012043300410400044 +66661000600053000004204320032620004400000290044000003000670000042043310000100378 +66661000600059000004204321000040032600001200051000024004320000010043300225360057 +66661000600065000001204460000040043300000300010000001004470000013043100000490007 +66661000600071032104000660000010044400000120431004104000660000042043200326200066 +66661000600077000002900660000010043000000120446000004004300010336007200000300002 +66661000600083000100904480000145000000000080000000001804490000134007800001450000 +66661000600089000004004350000012044600252360087000004004320000042043500030090089 +66661000600095100100903260001009045000000300000000014500000000030008124649596263 +66661000600101200434159442000000000000000300092000004204321000010032600000400436 +66661000600107000001004320000012044600252360107000004004320000018043500001350092 +66661000600113000300901090001009043600000440000000003000010000030009300001450000 +66661000600119000003000992161653416226300434159244000000000000046043700000440000 +66661000600125000003000010000046043800000460439000004604400000046044100000100153 +66661000600131000004001520000010018300000400182000001002890000040028800020090133 +66661000600137000014500000000008000000000360130000004004420201109044200010090450 +66661000600143000003001352161662634125245000000000004400920000030009300010090436 +66661000600149000001004360624136014100000300142000012604380510836014606241360150 +66661000600155000001004510000030015100000480004000001704460000036014400000300151 +66661000600161000001004520000019044000000000000000003001550000030015900000100154 +66661000600167000004001520001009045300000300135000004400920000030009300010090454 +66661000600173000100904360000010043606241360166000003001670000126043905108360171 +66661000600179062413601750000010045100000300176000004800040000017044600000360169 +66661000600185000003001760000010045200000190441000100904550001009045400001450000 +66661000600191000000800000000036022200000000000000003001850000030018900000100184 +66661000600197000004001820000010044000221360191000100904400000030026100020090217 +66661000600203000004400920000030009300010090454000100904360001009045300000100436 +66661000600209051083602020624136020600000100451000003002070610036020000000480004 +66661000600215000001704460000030020700000100452000001204410000040044100221360219 +66661000600221000100904540001009044100000100442000001404560000149000900000190437 +66661000600227000003003212425341435225141435200000100904540002009021700000300321 +66661000600233000001001840000040018200000440092000003000930001009043600000100436 +66661000600239062413602300000030023100001260438051083602350624136023900000100451 +66661000600245000003002400000048000400000170446000003602330000030024000000100452 +66661000600251000001904400000010044000000180457000003402450000030017700000100438 +66661000600257000003602500000127043800010270440000003002410001009045300010090458 +66661000600263000001004370000013044200000400437000004400920000030009300010090454 +66661000600269000100904360001009045300000300321000004400920000030009300010090454 +66661000600275000100904360001009045300000100436062413602690000030027000001260439 +66661000600281051083602740624136027800000100451000003002790000048000400000170446 +66661000600287000003602720000030027900000100452000001904410000010044100000180459 +66661000600293000003402860000010029000000400288000003002610000018045700000340300 +66661000600299000000000000000030029100000300294000004102900000140028800000350297 +66661000600305000100904540001009044100000300311000100904540002009021700000300315 +66661000600311000001004390000036030300000300308000100904540001009045800000100442 +66661000600317000001904430000030032100001270439000102704410000030028000000100440 +66661000600323000001804410000034031900000350321000001004370000013044200000400437 +66661000600329000003003210000010044200000190437000100904600001009046100010090462 +66661000600335020110904370000030011520000410062200005200622000058006220000510062 +66661000600341200818000622000089006220000880062200008700622000086006220000850062 +66661000600347200008400622000083006220000820062200004100482000052004820000580048 +66661000600353200005100482008180004820000890048200008800482000087004820000860048 +66661000600359200008500482000084004820000830048200008200482000041004420000520044 +66661000600365200005800442000051004420081800044200008900442000088004420000870044 +66661000600371200008600442000085004420000840044200008300442000082004420000410043 +66661000600377200005200432000058004320000510043200818000432000089004320000880043 +66661000600449200008700432000086004320000850043200008400432000083004320000820043 +66661000600455000000004040000000037800000000001000000000262164364631600000000052 +66661000600461216162602020000000001000000000011216260202022260202020221643415944 +66661000600462000000000150000000002120042646263000000000162161602020226243565945 +666 6000030011220202000000 diff --git a/software/examples/BLACKJACK/BLACKJACK-Load.pt b/software/examples/BLACKJACK/BLACKJACK-Load.pt new file mode 100644 index 0000000..d13407b --- /dev/null +++ b/software/examples/BLACKJACK/BLACKJACK-Load.pt @@ -0,0 +1,414 @@ +61000040000 +00000300000 +00000460430 +00000420444 +00000460431 +00260290326 +00000460432 +00000420445 +00000460433 +00260290352 +01100580000 +00001450000 +01000580000 +01000590015 +00000120446 +00000300012 +04101260011 +00403260012 +00000300020 +04101270011 +00403270012 +00000400434 +00000100446 +00000170434 +00000360046 +00000420431 +10000100404 +00000420432 +10000400326 +00001200029 +00002400432 +00000100431 +00225360035 +00000120446 +00000400431 +00000300010 +00000100447 +00000130433 +00000490007 +03210400044 +00000100445 +00000120433 +00410400044 +00000420432 +00326200044 +00000290044 +00000300067 +00000420433 +10000100378 +00000420432 +10000400326 +00001200051 +00002400432 +00000100433 +00225360057 +00000120446 +00000400433 +00000300010 +00000100447 +00000130431 +00000490007 +03210400066 +00000100444 +00000120431 +00410400066 +00000420432 +00326200066 +00000290066 +00000100430 +00000120446 +00000400430 +00103360072 +00000300002 +00010090448 +00001450000 +00000080000 +00000180449 +00001340078 +00001450000 +00000400435 +00000120446 +00252360087 +00000400432 +00000420435 +00030090089 +10010090326 +00010090450 +00000300000 +00001450000 +00000300081 +2FIRST +2 CARD +2 +00000300092 +00000420432 +10000100326 +00000400436 +00000100432 +00000120446 +00252360107 +00000400432 +00000180435 +00001350092 +00030090109 +00010090436 +00000440000 +00000300001 +00000300093 +00001450000 +00000300099 +2||LAS +2T CAR +2D +00000460437 +00000440000 +00000300001 +00000460438 +00000460439 +00000460440 +00000460441 +00000100153 +00000400152 +00000100183 +00000400182 +00000100289 +00000400288 +00020090133 +00001450000 +00000080000 +00000360130 +00000400442 +02011090442 +00010090450 +00000300135 +2||STA +2KE +00000440092 +00000300093 +00010090436 +00000100436 +06241360141 +00000300142 +00001260438 +05108360146 +06241360150 +00000100451 +00000300151 +00000480004 +00000170446 +00000360144 +00000300151 +00000100452 +00000190440 +00000000000 +00000300155 +00000300159 +00000100154 +00000400152 +00010090453 +00000300135 +00000440092 +00000300093 +00010090454 +00010090436 +00000100436 +06241360166 +00000300167 +00001260439 +05108360171 +06241360175 +00000100451 +00000300176 +00000480004 +00000170446 +00000360169 +00000300176 +00000100452 +00000190441 +00010090455 +00010090454 +00001450000 +00000080000 +00000360222 +00000000000 +00000300185 +00000300189 +00000100184 +00000400182 +00000100440 +00221360191 +00010090440 +00000300261 +00020090217 +00000440092 +00000300093 +00010090454 +00010090436 +00010090453 +00000100436 +05108360202 +06241360206 +00000100451 +00000300207 +06100360200 +00000480004 +00000170446 +00000300207 +00000100452 +00000120441 +00000400441 +00221360219 +00010090454 +00010090441 +00000100442 +00000140456 +00001490009 +00000190437 +00000300321 +2BLACK +2JACK +00010090454 +00020090217 +00000300321 +00000100184 +00000400182 +00000440092 +00000300093 +00010090436 +00000100436 +06241360230 +00000300231 +00001260438 +05108360235 +06241360239 +00000100451 +00000300240 +00000480004 +00000170446 +00000360233 +00000300240 +00000100452 +00000190440 +00000100440 +00000180457 +00000340245 +00000300177 +00000100438 +00000360250 +00001270438 +00010270440 +00000300241 +00010090453 +00010090458 +00000100437 +00000130442 +00000400437 +00000440092 +00000300093 +00010090454 +00010090436 +00010090453 +00000300321 +00000440092 +00000300093 +00010090454 +00010090436 +00010090453 +00000100436 +06241360269 +00000300270 +00001260439 +05108360274 +06241360278 +00000100451 +00000300279 +00000480004 +00000170446 +00000360272 +00000300279 +00000100452 +00000190441 +00000100441 +00000180459 +00000340286 +00000100290 +00000400288 +00000300261 +00000180457 +00000340300 +00000000000 +00000300291 +00000300294 +00000410290 +00001400288 +00000350297 +00010090454 +00010090441 +00000300311 +00010090454 +00020090217 +00000300315 +00000100439 +00000360303 +00000300308 +00010090454 +00010090458 +00000100442 +00000190443 +00000300321 +00001270439 +00010270441 +00000300280 +00000100440 +00000180441 +00000340319 +00000350321 +00000100437 +00000130442 +00000400437 +00000300321 +00000100442 +00000190437 +00010090460 +00010090461 +00010090462 +02011090437 +00000300115 +2 A S +2 K S +2 Q S +2 J S +2 10 S +2 9 S +2 8 S +2 7 S +2 6 S +2 5 S +2 4 S +2 3 S +2 2 S +2 A H +2 K H +2 Q H +2 J H +2 10 H +2 9 H +2 8 H +2 7 H +2 6 H +2 5 H +2 4 H +2 3 H +2 2 H +2 A D +2 K D +2 Q D +2 J D +2 10 D +2 9 D +2 8 D +2 7 D +2 6 D +2 5 D +2 4 D +2 3 D +2 2 D +2 A C +2 K C +2 Q C +2 J C +2 10 C +2 9 C +2 8 C +2 7 C +2 6 C +2 5 C +2 4 C +2 3 C +2 2 C +61000040430 +00000000000 +00000000000 +00000000000 +00000000000 +00000000000 +00000000000 +00000000000 +00000000000 +00000000000 +00000000000 +00000000000 +00000000000 +00000000000 +00000000000 +00000000404 +00000000378 +00000000001 +00000000026 +2|CUT| +00000000052 +2||~__ +00000000010 +00000000011 +2|~___ +2~____ +2|CARD +00000000015 +00000000021 +2 BUST +00000000016 +2||___ +2SCORE +2__ +60000300112 diff --git a/software/examples/BLACKJACK/BLACKJACK-Output.txt b/software/examples/BLACKJACK/BLACKJACK-Output.txt new file mode 100644 index 0000000..27cafc3 --- /dev/null +++ b/software/examples/BLACKJACK/BLACKJACK-Output.txt @@ -0,0 +1,27 @@ + +CUT +FIRST CARD 3 D + + STAKE 1.00 + + J S + K H 3 C CARD A D CARD 6 S + BUST 2 D + + +SCORE 00000001.00 STAKE 200.00 + + A S + 5 S Q H CARD 16 4 S + A C + K D + BUST + +SCORE 00000001.00 STAKE 150.00 + + 10 S + K C 9 C CARD K S + BUST 8 C + + +SCORE 00000151.00 STAKE diff --git a/software/examples/BLACKJACK/BLACKJACK.baca b/software/examples/BLACKJACK/BLACKJACK.baca new file mode 100644 index 0000000..ef36e14 --- /dev/null +++ b/software/examples/BLACKJACK/BLACKJACK.baca @@ -0,0 +1,341 @@ + BLACKJACK -- SAMPLE PROGRAM 2 + FROM BURROUGHS 220 ASSEMBLER-COMPILER MANUAL + BULLETIN 5024, APRIL 1960, APPENDIX D + +001.00.0 0000 SHUFL BUN * EXIT +001.01.0 0001 CLL EYE SET I TO 0 +001.02.0 0002 C1 LDB +ODD DIVIDE DECK INTO ODD AND EVEN STACK +001.03.0 0003 CLL OCTR +001.04.0 0004 RTF DECK,26 +001.05.0 0005 CLL DCTR +001.06.0 0006 LDB +EVEN +001.07.0 0007 CLL ECTR +001.08.0 0008 RTF DECK+26,26 +001.08.5 0009 MPF 1,1 +001.09.0 0010 A1 CLA GENERATE A RANDOM NUMBER +001.10.0 0011 *C MPF 1,10 +001.11.0 0012 *B MIB A+,1 +001.12.0 0013 ADD +1 +001.13.0 0014 BUN B- +001.13.2 0015 *A IFL C-,41,1 +001.13.4 0016 IFL B-,4,3 +001.13.5 0017 BUN A+ +001.13.7 0018 DFL C-,41,1 +001.13.9 0019 DFL B-,4,3 +001.14.0 0020 *A STA RANDM +001.15.0 0021 CAD +1 IS IT ODD +001.16.0 0022 EXT RANDM +001.17.0 0023 BZA A+ NO +001.18.0 0024 LDB OCTR YES +002.19.0 0025 CAD - ODD GET NEXT CARD FROM ODD STACK +002.00.0 0026 LDB DCTR +002.01.0 0027 STA - DECK +002.02.0 0028 IBB *+1,1 +002.03.0 0029 STB DCTR +002.04.0 0030 CAD OCTR IS THIS THE LAST CARD +002.05.0 0031 BFA B+,2,25 YES +002.06.0 0032 ADD +1 NO +002.07.0 0033 STA OCTR +002.08.0 0034 BUN A1 +002.09.0 0035 *B CAD +26 GET REMAINDER OF CARDS FROM EVEN STACK +002.10.0 0036 SUB ECTR +002.11.0 0037 SLA 7 +002.12.0 0038 STA B+,32 +002.13.0 0039 CAD +EVEN +002.14.0 0040 ADD ECTR +002.15.0 0041 STA B+,4 +002.16.0 0042 LDB DCTR +002.17.0 0043 IBB *+1,DECK +002.18.0 0044 *B RTF *,0 +002.19.0 0045 BUN B+ +003.00.0 0046 *A LDB ECTR RANDOM NUMBER IS EVEN +003.01.0 0047 CAD - EVEN GET NEXT CARD FROM EVEN STACK +003.02.0 0048 LDB DCTR +003.03.0 0049 STA - DECK +003.04.0 0050 IBB *+1,1 +003.05.0 0051 STB DCTR +003.06.0 0052 CAD ECTR IS THIS THE LAST CARD +003.07.0 0053 BFA A+,2,25 YES +003.08.0 0054 ADD +1 NO +003.09.0 0055 STA ECTR +003.10.0 0056 BUN A1 +003.11.0 0057 *A CAD +26 GET REMAINDER OF CARDS FROM ODD STACK +003.12.0 0058 SUB OCTR +003.13.0 0059 SLA 7 +003.14.0 0060 STA A+,32 +003.15.0 0061 CAD +ODD +003.16.0 0062 ADD OCTR +003.17.0 0063 STA A+,4 +003.18.0 0064 LDB DCTR +003.19.0 0065 IBB *+1,DECK +004.00.0 0066 *A RTF *,0 +004.01.0 0067 *B CAD EYE INCREASE I BY 1 +004.02.0 0068 ADD +1 +004.03.0 0069 STA EYE +004.04.0 0070 BFA B1,1,3 IS I 3 +004.05.0 0071 BUN C1 NO +004.06.0 0072 B1 SPO $|CUT|$,1 YES, ALLOW CUT OF CARDS +004.07.0 0073 CLA +004.08.0 0074 KAD +004.09.0 0075 CFA +52 +004.10.0 0076 BCL A+ +004.11.0 0077 CLA +004.12.0 0078 *A STA STPT +004.13.0 0079 ADD +1 +004.14.0 0080 BFA A+,2,52 +004.15.0 0081 *B STA DCTR BURN FIRST CARD +004.16.0 0082 LDB STPT +004.17.0 0083 SPO MSG1,3 +004.18.0 0084 SPO - DECK,1 +004.19.0 0085 SPO $||~__$,1 +005.00.0 0086 BUN SHUFL EXIT +005.01.0 0087 *A CLA +005.02.0 0088 BUN B- +005.03.0 0089 MSG1 CNST $FIRST CARD $ +005.04.0 0092 DEAL BUN * EXIT +005.05.0 0093 LDB DCTR GET NEXT CARD +005.06.0 0094 CAD - DECK +005.07.0 0095 STA CARD +005.08.0 0096 CAD DCTR +005.09.0 0097 ADD +1 +005.10.0 0098 BFA A+,2,52 +005.11.0 0099 *B STA DCTR +005.12.0 0100 CFA STPT IS IT THE LAST CARD +005.13.0 0101 BCU DEAL NO +005.14.0 0102 SPO MSG2,3 YES. SHOW PLAYER LAST CARD +005.15.0 0103 SPO CARD,1 +005.16.0 0104 STP SHUFL SHUFFLE +005.17.0 0105 BUN SHUFL+1 +005.18.0 0106 BUN DEAL+1 GET NEXT CARD +005.19.0 0107 *A CLA +006.00.0 0108 BUN B- +006.01.0 0109 MSG2 CNST $||LAST CARD $ +006.02.0 0112 BLKJK CLL SCORE SET SCORE TO 0 +006.03.0 0113 STP SHUFL SHUFFLE +006.04.0 0114 BUN SHUFL+1 +006.05.0 0115 M CLL PLACE SET PLAYERS AND DEALERS ACES TO 0 +006.06.0 0116 CLL DLACE +006.07.0 0117 CLL PLTOT SET PLAYERS AND DEALERS TOTALS TO 0 +006.08.0 0118 CLL DLTOT +006.09.0 0119 CAD ALPH1 SET ALPHA TO 1 +006.10.0 0120 STA ALPHA +006.11.0 0121 CAD BETA1 SET BETA TO 1 +006.12.0 0122 STA BETA +006.13.0 0123 CAD GAM1 SET GAMMA TO 1 +006.14.0 0124 STA GAMMA +006.15.0 0125 SPO MSG3,2 ALLOW PLAYER TO NAME STAKE +006.16.0 0126 CLA +006.17.0 0127 KAD +006.17.5 0128 BZA A+ +006.18.0 0129 STA STAKE +006.19.0 0130 *A SPO STAKE,1,2 +007.00.0 0131 SPO $||~__$,1 +007.01.0 0132 BUN B +007.02.0 0133 MSG3 CNST $||STAKE $ +007.03.0 0135 B STP DEAL DEAL +007.04.0 0136 BUN DEAL+1 +007.05.0 0137 SPO CARD,1 WRITE PLAYERS CARD +007.06.0 0138 CAD CARD IS IT AN ACE +007.07.0 0139 BFA A+,62,41 YES +007.08.0 0140 BUN A NO +007.09.0 0141 *A IFL PLACE,0,1 ADD 1 TO PLAYERS ACES +007.10.0 0142 A BFA A+,51,8 ADD CARD VALUE TO PLAYERS TOTAL +007.11.0 0143 BFA B+,62,41 +007.12.0 0144 *C CAD +10 +007.13.0 0145 BUN C+ +007.14.0 0146 *A SRA 4 +007.15.0 0147 EXT +1 +007.16.0 0148 BZA C- +007.17.0 0149 BUN C+ +007.18.0 0150 *B CAD +11 +007.19.0 0151 *C ADL PLTOT +008.00.0 0152 ALPHA HLT +008.01.0 0153 ALPH1 BUN A+ +008.02.0 0154 ALPH2 BUN B+ +008.03.0 0155 *A CAD ALPH2 SET ALPHA TO 2 +008.04.0 0156 STA ALPHA +008.05.0 0157 SPO $|~___$,1 +008.06.0 0158 BUN B +008.07.0 0159 *B STP DEAL DEAL +008.08.0 0160 BUN DEAL+1 +008.09.0 0161 SPO $~____$,1 +008.10.0 0162 REM DITTO 7.5,7.7 IS IT AN ACE +007.05.0 0162 SPO CARD,1 WRITE PLAYERS CARD +007.06.0 0163 CAD CARD IS IT AN ACE +007.07.0 0164 BFA A+,62,41 YES +008.11.0 0165 BUN B+ NO +008.12.0 0166 *A IFL DLACE,0,1 YES. ADD 1 TO DEALERS ACES +008.13.0 0167 *B BFA A+,51,8 ADD CARD VALUE TO DEALERS TOTAL +008.14.0 0168 REM DITTO 7.11,7.18 +007.11.0 0168 BFA B+,62,41 +007.12.0 0169 *C CAD +10 +007.13.0 0170 BUN C+ +007.14.0 0171 *A SRA 4 +007.15.0 0172 EXT +1 +007.16.0 0173 BZA C- +007.17.0 0174 BUN C+ +007.18.0 0175 *B CAD +11 +008.15.0 0176 *C ADL DLTOT +008.16.0 0177 C SPO $|CARD$,1 DOES PLAYER WANT ANOTHER CARD +008.17.0 0178 SPO $~____$,1 +008.18.0 0179 CLA +008.19.0 0180 KAD +009.00.0 0181 BZA A+ YES +009.01.0 0182 BETA HLT +009.02.0 0183 BETA1 BUN B+ +009.03.0 0184 BETA2 BUN C+ +009.04.0 0185 *B CAD BETA2 SET BETA TO 2 +009.05.0 0186 STA BETA +009.06.0 0187 CAD PLTOT DOES PLAYER HAVE BLACKJACK +009.07.0 0188 BFA B+,2,21 YES +009.08.0 0189 *C SPO PLTOT,1 NO. WRITE PLAYERS TOTAL +009.09.0 0190 BUN F +009.10.0 0191 *B SPO MSG4,2 WRITE BLACKJACK +009.11.0 0192 STP DEAL DEAL +009.12.0 0193 BUN DEAL+1 +009.13.0 0194 SPO $~____$,1 +009.14.0 0195 SPO CARD,1 +009.15.0 0196 SPO $|~___$,1 +009.16.0 0197 CAD CARD ADD CARD VALUE TO DEALERS TOTAL +009.17.0 0198 BFA B+,51,8 +009.18.0 0199 BFA C+,62,41 +009.19.0 0200 *D CAD +10 +010.00.0 0201 BUN D+ +010.01.0 0202 *B BFA D-,61,0 +010.02.0 0203 SRA 4 +010.02.3 0204 EXT +1 +010.02.6 0205 BUN D+ +010.03.0 0206 *C CAD +11 +010.04.0 0207 *D ADD DLTOT +010.04.5 0208 STA DLTOT +010.05.0 0209 BFA C+,2,21 +010.05.3 0210 *B SPO $~____$,1 +010.05.6 0211 SPO DLTOT,1 +010.06.0 0212 CAD STAKE +010.07.0 0213 MUL +15 +010.08.0 0214 SLT 9 +010.09.0 0215 ADL SCORE +010.10.0 0216 BUN H +010.11.0 0217 MSG4 CNST $BLACKJACK$ +010.11.1 0219 *C SPO $~____$,1 +010.11.2 0220 SPO MSG4,2 +010.11.3 0221 BUN H +010.11.4 0222 *A CAD BETA2 +010.11.6 0223 STA BETA +010.12.0 0224 STP DEAL +010.13.0 0225 REM DITTO 7.4,7.7 WRITE PLAYERS CARD +007.04.0 0225 BUN DEAL+1 +007.05.0 0226 SPO CARD,1 WRITE PLAYERS CARD +007.06.0 0227 CAD CARD IS IT AN ACE +007.07.0 0228 BFA A+,62,41 YES +010.14.0 0229 BUN B+ IT IS NOT AN ACE +010.15.0 0230 *A IFL PLACE,0,1 ADD 1 TO PLAYERS ACES +010.16.0 0231 REM DITTO 8.13,8.14 ADD CARD VALUE TO PLAYERS TOTAL +008.13.0 0231 *B BFA A+,51,8 ADD CARD VALUE TO DEALERS TOTAL +008.14.0 0232 REM DITTO 7.11,7.18 +007.11.0 0232 BFA B+,62,41 +007.12.0 0233 *C CAD +10 +007.13.0 0234 BUN C+ +007.14.0 0235 *A SRA 4 +007.15.0 0236 EXT +1 +007.16.0 0237 BZA C- +007.17.0 0238 BUN C+ +007.18.0 0239 *B CAD +11 +010.17.0 0240 *C ADL PLTOT +010.18.0 0241 G CAD PLTOT IS PLAYERS TOTAL GREATER THAN 21 +010.19.0 0242 CFA +21 +011.00.0 0243 BCH E YES +011.01.0 0244 BUN C NO +011.02.0 0245 E CAD PLACE ARE PLAYERS ACES 0 +011.03.0 0246 BZA A+ YES +011.04.0 0247 DFL PLACE,0,1 NO. DECREASE PLAYERS ACES BY 1 +011.05.0 0248 DFL PLTOT,0,10 DECREASE LAYERS TOTAL BY 10 +011.06.0 0249 BUN G +011.07.0 0250 *A SPO $|~___$,1 +011.08.0 0251 SPO $ BUST$,1 +011.09.0 0252 CAD SCORE SUBTRACT STAKE FROM SCORE +011.10.0 0253 SUB STAKE +011.12.0 0254 STA SCORE +011.11.0 0255 REM DITTO 9.11,9.15 DEAL. WRITE DEALERS CARD +009.11.0 0255 STP DEAL DEAL +009.12.0 0256 BUN DEAL+1 +009.13.0 0257 SPO $~____$,1 +009.14.0 0258 SPO CARD,1 +009.15.0 0259 SPO $|~___$,1 +011.12.0 0260 BUN H +011.13.0 0261 F STP DEAL DEAL +011.14.0 0262 REM DITTO 9.12,9.16 WRITE DEALERS CARD +009.12.0 0262 BUN DEAL+1 +009.13.0 0263 SPO $~____$,1 +009.14.0 0264 SPO CARD,1 +009.15.0 0265 SPO $|~___$,1 +009.16.0 0266 CAD CARD ADD CARD VALUE TO DEALERS TOTAL +011.15.0 0267 BFA A+,62,41 IS IT AN ACE +011.16.0 0268 BUN B+ NO +011.17.0 0269 *A IFL DLACE,0,1 ADD 1 TO DEALERS ACES +011.18.0 0270 REM DITTO 8.13,8.15 ADD CARD VALUE TO DEALERS TOTAL +008.13.0 0270 *B BFA A+,51,8 ADD CARD VALUE TO DEALERS TOTAL +008.14.0 0271 REM DITTO 7.11,7.18 +007.11.0 0271 BFA B+,62,41 +007.12.0 0272 *C CAD +10 +007.13.0 0273 BUN C+ +007.14.0 0274 *A SRA 4 +007.15.0 0275 EXT +1 +007.16.0 0276 BZA C- +007.17.0 0277 BUN C+ +007.18.0 0278 *B CAD +11 +008.15.0 0279 *C ADL DLTOT +011.19.0 0280 L CAD DLTOT IS DEALERS TOTAL GREATER THAN 16 +012.00.0 0281 CFA +16 +012.01.0 0282 BCH A+ YES +012.01.3 0283 CAD GAM2 +012.01.6 0284 STA GAMMA +012.02.0 0285 BUN F +012.03.0 0286 *A CFA +21 IS DEALERS TOTAL GREATER THAN 21 +012.04.0 0287 BCH A+ YES +012.05.0 0288 GAMMA HLT +012.06.0 0289 GAM1 BUN B+ +012.07.0 0290 GAM2 BUN C+ +012.08.0 0291 *B LDR GAM2 SET GAMMA TO 2 +012.09.0 0292 STR GAMMA +012.10.0 0293 BCE B+ +012.10.3 0294 *C SPO $~____$,1 +012.10.6 0295 SPO DLTOT,1 +012.11.0 0296 BUN I NO +012.11.2 0297 *B SPO $~____$,1 +012.11.5 0298 SPO MSG4,2 +012.11.7 0299 BUN D +012.12.0 0300 *A CAD DLACE ARE DEALERS ACES 0 +012.13.0 0301 BZA K YES +012.14.0 0302 BUN J NO +012.15.0 0303 K SPO $~____$,1 +012.15.5 0304 SPO $ BUST$,1 +012.16.0 0305 CAD STAKE ADD STAKE TO SCORE +012.17.0 0306 ADL STORE +012.18.0 0307 BUN H +012.19.0 0308 J DFL DLACE,0,1 DECREASE DEALERS ACES BY 1 +013.00.0 0309 DFL DLTOT,0,10 DECREASE DEALERS TOTAL BY 10 +013.01.0 0310 BUN L +013.02.0 0311 I CAD PLTOT COMPARE PLAYERS TOTAL TO DEALERS TOTAL +013.03.0 0312 CFA DLTOT +013.04.0 0313 BCH A+ GREATER +013.05.0 0314 BCE H EQUAL +013.06.0 0315 D CAD SCORE LESS +013.07.0 0316 SUB STAKE SUBTRACT STAKE FROM SCORE +013.08.0 0317 STA SCORE +013.09.0 0318 BUN H +013.10.0 0319 *A CAD STAKE ADD STAKE TO SCORE +013.11.0 0320 ADL SCORE +013.12.0 0321 H SPO $||___$,1 +013.13.0 0322 SPO $SCORE$,1 +013.14.0 0323 SPO $__$,1 +013.15.0 0324 SPO SCORE,1,2 +014.01.0 0325 BUN M +014.02.0 0326 DECK CNST $ A S K S Q S J S 10 S 9 S 8 S 7 S 6 S 5 S 4 +014.03.0 0336 S 3 S 2 S A H K H Q H J H 10 H 9 H 8 H 7 H 6 +014.04.0 0347 H 5 H 4 H 3 H 2 H A D K D Q D J D 10 D 9 D 8 +014.05.0 0358 D 7 D 6 D 5 D 4 D 3 D 2 D A C K C Q C J C 10 +014.06.0 0369 C 9 C 8 C 7 C 6 C 5 C 4 C 3 C 2 C$ +014.07.0 0378 EVEN LOCN *+26 +014.08.0 0404 ODD LOCN *+26 +999.99.0 FINI diff --git a/software/examples/BLACKJACK/BLACKJACK.card b/software/examples/BLACKJACK/BLACKJACK.card new file mode 100644 index 0000000..18fde8b --- /dev/null +++ b/software/examples/BLACKJACK/BLACKJACK.card @@ -0,0 +1,341 @@ +1 REM BLACKJACK -- SAMPLE PROGRAM 2 999 01 0 +1 REM FROM BURROUGHS 220 ASSEMBLER-COMPILER MANUAL 999 02 0 +1 REM BULLETIN 5024, APRIL 1960, APPENDIX D 999 03 0 +1 REM 999 04 0 +1 SHUFL BUN * EXIT 001.00.0 +1 CLL EYE SET I TO 0 001.01.0 +1 C1 LDB +ODD DIVIDE DECK INTO ODD AND EVEN STACK 001.02.0 +1 CLL OCTR 001.03.0 +1 RTF DECK,26 001.04.0 +1 CLL DCTR 001.05.0 +1 LDB +EVEN 001.06.0 +1 CLL ECTR 001.07.0 +1 RTF DECK+26,26 001.08.0 +1 MPF 1,1 001.08.5 +1 A1 CLA GENERATE A RANDOM NUMBER 001.09.0 +1 *C MPF 1,10 001.10.0 +1 *B MIB A+,1 001.11.0 +1 ADD +1 001.12.0 +1 BUN B- 001.13.0 +1 *A IFL C-,41,1 001.13.2 +1 IFL B-,4,3 001.13.4 +1 BUN A+ 001.13.5 +1 DFL C-,41,1 001.13.7 +1 DFL B-,4,3 001.13.9 +1 *A STA RANDM 001.14.0 +1 CAD +1 IS IT ODD 001.15.0 +1 EXT RANDM 001.16.0 +1 BZA A+ NO 001.17.0 +1 LDB OCTR YES 001.18.0 +1 CAD - ODD GET NEXT CARD FROM ODD STACK 002.19.0 +1 LDB DCTR 002.00.0 +1 STA - DECK 002.01.0 +1 IBB *+1,1 002.02.0 +1 STB DCTR 002.03.0 +1 CAD OCTR IS THIS THE LAST CARD 002.04.0 +1 BFA B+,2,25 YES 002.05.0 +1 ADD +1 NO 002.06.0 +1 STA OCTR 002.07.0 +1 BUN A1 002.08.0 +1 *B CAD +26 GET REMAINDER OF CARDS FROM EVEN STACK 002.09.0 +1 SUB ECTR 002.10.0 +1 SLA 7 002.11.0 +1 STA B+,32 002.12.0 +1 CAD +EVEN 002.13.0 +1 ADD ECTR 002.14.0 +1 STA B+,4 002.15.0 +1 LDB DCTR 002.16.0 +1 IBB *+1,DECK 002.17.0 +1 *B RTF *,0 002.18.0 +1 BUN B+ 002.19.0 +1 *A LDB ECTR RANDOM NUMBER IS EVEN 003.00.0 +1 CAD - EVEN GET NEXT CARD FROM EVEN STACK 003.01.0 +1 LDB DCTR 003.02.0 +1 STA - DECK 003.03.0 +1 IBB *+1,1 003.04.0 +1 STB DCTR 003.05.0 +1 CAD ECTR IS THIS THE LAST CARD 003.06.0 +1 BFA A+,2,25 YES 003.07.0 +1 ADD +1 NO 003.08.0 +1 STA ECTR 003.09.0 +1 BUN A1 003.10.0 +1 *A CAD +26 GET REMAINDER OF CARDS FROM ODD STACK 003.11.0 +1 SUB OCTR 003.12.0 +1 SLA 7 003.13.0 +1 STA A+,32 003.14.0 +1 CAD +ODD 003.15.0 +1 ADD OCTR 003.16.0 +1 STA A+,4 003.17.0 +1 LDB DCTR 003.18.0 +1 IBB *+1,DECK 003.19.0 +1 *A RTF *,0 004.00.0 +1 *B CAD EYE INCREASE I BY 1 004.01.0 +1 ADD +1 004.02.0 +1 STA EYE 004.03.0 +1 BFA B1,1,3 IS I 3 004.04.0 +1 BUN C1 NO 004.05.0 +1 B1 SPO $|CUT|$,1 YES, ALLOW CUT OF CARDS 004.06.0 +1 CLA 004.07.0 +1 KAD 004.08.0 +1 CFA +52 004.09.0 +1 BCL A+ 004.10.0 +1 CLA 004.11.0 +1 *A STA STPT 004.12.0 +1 ADD +1 004.13.0 +1 BFA A+,2,52 004.14.0 +1 *B STA DCTR BURN FIRST CARD 004.15.0 +1 LDB STPT 004.16.0 +1 SPO MSG1,3 004.17.0 +1 SPO - DECK,1 004.18.0 +1 SPO $||~__$,1 004.19.0 +1 BUN SHUFL EXIT 005.00.0 +1 *A CLA 005.01.0 +1 BUN B- 005.02.0 +1 MSG1 CNST $FIRST CARD $ 005.03.0 +1 DEAL BUN * EXIT 005.04.0 +1 LDB DCTR GET NEXT CARD 005.05.0 +1 CAD - DECK 005.06.0 +1 STA CARD 005.07.0 +1 CAD DCTR 005.08.0 +1 ADD +1 005.09.0 +1 BFA A+,2,52 005.10.0 +1 *B STA DCTR 005.11.0 +1 CFA STPT IS IT THE LAST CARD 005.12.0 +1 BCU DEAL NO 005.13.0 +1 SPO MSG2,3 YES. SHOW PLAYER LAST CARD 005.14.0 +1 SPO CARD,1 005.15.0 +1 STP SHUFL SHUFFLE 005.16.0 +1 BUN SHUFL+1 005.17.0 +1 BUN DEAL+1 GET NEXT CARD 005.18.0 +1 *A CLA 005.19.0 +1 BUN B- 006.00.0 +1 MSG2 CNST $||LAST CARD $ 006.01.0 +1 BLKJK CLL SCORE SET SCORE TO 0 006.02.0 +1 STP SHUFL SHUFFLE 006.03.0 +1 BUN SHUFL+1 006.04.0 +1 M CLL PLACE SET PLAYERS AND DEALERS ACES TO 0 006.05.0 +1 CLL DLACE 006.06.0 +1 CLL PLTOT SET PLAYERS AND DEALERS TOTALS TO 0 006.07.0 +1 CLL DLTOT 006.08.0 +1 CAD ALPH1 SET ALPHA TO 1 006.09.0 +1 STA ALPHA 006.10.0 +1 CAD BETA1 SET BETA TO 1 006.11.0 +1 STA BETA 006.12.0 +1 CAD GAM1 SET GAMMA TO 1 006.13.0 +1 STA GAMMA 006.14.0 +1 SPO MSG3,2 ALLOW PLAYER TO NAME STAKE 006.15.0 +1 CLA 006.16.0 +1 KAD 006.17.0 +1 BZA A+ 006.17.5 +1 STA STAKE 006.18.0 +1 *A SPO STAKE,1,2 006.19.0 +1 SPO $||~__$,1 007.00.0 +1 BUN B 007.01.0 +1 MSG3 CNST $||STAKE $ 007.02.0 +1 B STP DEAL DEAL 007.03.0 +1 BUN DEAL+1 007.04.0 +1 SPO CARD,1 WRITE PLAYERS CARD 007.05.0 +1 CAD CARD IS IT AN ACE 007.06.0 +1 BFA A+,62,41 YES 007.07.0 +1 BUN A NO 007.08.0 +1 *A IFL PLACE,0,1 ADD 1 TO PLAYERS ACES 007.09.0 +1 A BFA A+,51,8 ADD CARD VALUE TO PLAYERS TOTAL 007.10.0 +1 BFA B+,62,41 007.11.0 +1 *C CAD +10 007.12.0 +1 BUN C+ 007.13.0 +1 *A SRA 4 007.14.0 +1 EXT +1 007.15.0 +1 BZA C- 007.16.0 +1 BUN C+ 007.17.0 +1 *B CAD +11 007.18.0 +1 *C ADL PLTOT 007.19.0 +1 ALPHA HLT 008.00.0 +1 ALPH1 BUN A+ 008.01.0 +1 ALPH2 BUN B+ 008.02.0 +1 *A CAD ALPH2 SET ALPHA TO 2 008.03.0 +1 STA ALPHA 008.04.0 +1 SPO $|~___$,1 008.05.0 +1 BUN B 008.06.0 +1 *B STP DEAL DEAL 008.07.0 +1 BUN DEAL+1 008.08.0 +1 SPO $~____$,1 008.09.0 +1 REM DITTO 7.5,7.7 IS IT AN ACE 008.10.0 +1 SPO CARD,1 WRITE PLAYERS CARD 007.05.0 +1 CAD CARD IS IT AN ACE 007.06.0 +1 BFA A+,62,41 YES 007.07.0 +1 BUN B+ NO 008.11.0 +1 *A IFL DLACE,0,1 YES. ADD 1 TO DEALERS ACES 008.12.0 +1 *B BFA A+,51,8 ADD CARD VALUE TO DEALERS TOTAL 008.13.0 +1 REM DITTO 7.11,7.18 008.14.0 +1 BFA B+,62,41 007.11.0 +1 *C CAD +10 007.12.0 +1 BUN C+ 007.13.0 +1 *A SRA 4 007.14.0 +1 EXT +1 007.15.0 +1 BZA C- 007.16.0 +1 BUN C+ 007.17.0 +1 *B CAD +11 007.18.0 +1 *C ADL DLTOT 008.15.0 +1 C SPO $|CARD$,1 DOES PLAYER WANT ANOTHER CARD 008.16.0 +1 SPO $~____$,1 008.17.0 +1 CLA 008.18.0 +1 KAD 008.19.0 +1 BZA A+ YES 009.00.0 +1 BETA HLT 009.01.0 +1 BETA1 BUN B+ 009.02.0 +1 BETA2 BUN C+ 009.03.0 +1 *B CAD BETA2 SET BETA TO 2 009.04.0 +1 STA BETA 009.05.0 +1 CAD PLTOT DOES PLAYER HAVE BLACKJACK 009.06.0 +1 BFA B+,2,21 YES 009.07.0 +1 *C SPO PLTOT,1 NO. WRITE PLAYERS TOTAL 009.08.0 +1 BUN F 009.09.0 +1 *B SPO MSG4,2 WRITE BLACKJACK 009.10.0 +1 STP DEAL DEAL 009.11.0 +1 BUN DEAL+1 009.12.0 +1 SPO $~____$,1 009.13.0 +1 SPO CARD,1 009.14.0 +1 SPO $|~___$,1 009.15.0 +1 CAD CARD ADD CARD VALUE TO DEALERS TOTAL 009.16.0 +1 BFA B+,51,8 009.17.0 +1 BFA C+,62,41 009.18.0 +1 *D CAD +10 009.19.0 +1 BUN D+ 010.00.0 +1 *B BFA D-,61,0 010.01.0 +1 SRA 4 010.02.0 +1 EXT +1 010.02.3 +1 BUN D+ 010.02.6 +1 *C CAD +11 010.03.0 +1 *D ADD DLTOT 010.04.0 +1 STA DLTOT 010.04.5 +1 BFA C+,2,21 010.05.0 +1 *B SPO $~____$,1 010.05.3 +1 SPO DLTOT,1 010.05.6 +1 CAD STAKE 010.06.0 +1 MUL +15 010.07.0 +1 SLT 9 010.08.0 +1 ADL SCORE 010.09.0 +1 BUN H 010.10.0 +1 MSG4 CNST $BLACKJACK$ 010.11.0 +1 *C SPO $~____$,1 010.11.1 +1 SPO MSG4,2 010.11.2 +1 BUN H 010.11.3 +1 *A CAD BETA2 010.11.4 +1 STA BETA 010.11.6 +1 STP DEAL 010.12.0 +1 REM DITTO 7.4,7.7 WRITE PLAYERS CARD 010.13.0 +1 BUN DEAL+1 007.04.0 +1 SPO CARD,1 WRITE PLAYERS CARD 007.05.0 +1 CAD CARD IS IT AN ACE 007.06.0 +1 BFA A+,62,41 YES 007.07.0 +1 BUN B+ IT IS NOT AN ACE 010.14.0 +1 *A IFL PLACE,0,1 ADD 1 TO PLAYERS ACES 010.15.0 +1 REM DITTO 8.13,8.14 ADD CARD VALUE TO PLAYERS TOTAL 010.16.0 +1 *B BFA A+,51,8 ADD CARD VALUE TO DEALERS TOTAL 008.13.0 +1 REM DITTO 7.11,7.18 008.14.0 +1 BFA B+,62,41 007.11.0 +1 *C CAD +10 007.12.0 +1 BUN C+ 007.13.0 +1 *A SRA 4 007.14.0 +1 EXT +1 007.15.0 +1 BZA C- 007.16.0 +1 BUN C+ 007.17.0 +1 *B CAD +11 007.18.0 +1 *C ADL PLTOT 010.17.0 +1 G CAD PLTOT IS PLAYERS TOTAL GREATER THAN 21 010.18.0 +1 CFA +21 010.19.0 +1 BCH E YES 011.00.0 +1 BUN C NO 011.01.0 +1 E CAD PLACE ARE PLAYERS ACES 0 011.02.0 +1 BZA A+ YES 011.03.0 +1 DFL PLACE,0,1 NO. DECREASE PLAYERS ACES BY 1 011.04.0 +1 DFL PLTOT,0,10 DECREASE LAYERS TOTAL BY 10 011.05.0 +1 BUN G 011.06.0 +1 *A SPO $|~___$,1 011.07.0 +1 SPO $ BUST$,1 011.08.0 +1 CAD SCORE SUBTRACT STAKE FROM SCORE 011.09.0 +1 SUB STAKE 011.10.0 +1 STA SCORE 011.12.0 +1 REM DITTO 9.11,9.15 DEAL. WRITE DEALERS CARD 011.11.0 +1 STP DEAL DEAL 009.11.0 +1 BUN DEAL+1 009.12.0 +1 SPO $~____$,1 009.13.0 +1 SPO CARD,1 009.14.0 +1 SPO $|~___$,1 009.15.0 +1 BUN H 011.12.0 +1 F STP DEAL DEAL 011.13.0 +1 REM DITTO 9.12,9.16 WRITE DEALERS CARD 011.14.0 +1 BUN DEAL+1 009.12.0 +1 SPO $~____$,1 009.13.0 +1 SPO CARD,1 009.14.0 +1 SPO $|~___$,1 009.15.0 +1 CAD CARD ADD CARD VALUE TO DEALERS TOTAL 009.16.0 +1 BFA A+,62,41 IS IT AN ACE 011.15.0 +1 BUN B+ NO 011.16.0 +1 *A IFL DLACE,0,1 ADD 1 TO DEALERS ACES 011.17.0 +1 REM DITTO 8.13,8.15 ADD CARD VALUE TO DEALERS TOTAL 011.18.0 +1 *B BFA A+,51,8 ADD CARD VALUE TO DEALERS TOTAL 008.13.0 +1 REM DITTO 7.11,7.18 008.14.0 +1 BFA B+,62,41 007.11.0 +1 *C CAD +10 007.12.0 +1 BUN C+ 007.13.0 +1 *A SRA 4 007.14.0 +1 EXT +1 007.15.0 +1 BZA C- 007.16.0 +1 BUN C+ 007.17.0 +1 *B CAD +11 007.18.0 +1 *C ADL DLTOT 008.15.0 +1 L CAD DLTOT IS DEALERS TOTAL GREATER THAN 16 011.19.0 +1 CFA +16 012.00.0 +1 BCH A+ YES 012.01.0 +1 CAD GAM2 012.01.3 +1 STA GAMMA 012.01.6 +1 BUN F 012.02.0 +1 *A CFA +21 IS DEALERS TOTAL GREATER THAN 21 012.03.0 +1 BCH A+ YES 012.04.0 +1 GAMMA HLT 012.05.0 +1 GAM1 BUN B+ 012.06.0 +1 GAM2 BUN C+ 012.07.0 +1 *B LDR GAM2 SET GAMMA TO 2 012.08.0 +1 STR GAMMA 012.09.0 +1 BCE B+ 012.10.0 +1 *C SPO $~____$,1 012.10.3 +1 SPO DLTOT,1 012.10.6 +1 BUN I NO 012.11.0 +1 *B SPO $~____$,1 012.11.2 +1 SPO MSG4,2 012.11.5 +1 BUN D 012.11.7 +1 *A CAD DLACE ARE DEALERS ACES 0 012.12.0 +1 BZA K YES 012.13.0 +1 BUN J NO 012.14.0 +1 K SPO $~____$,1 012.15.0 +1 SPO $ BUST$,1 012.15.5 +1 CAD STAKE ADD STAKE TO SCORE 012.16.0 +1 ADL STORE 012.17.0 +1 BUN H 012.18.0 +1 J DFL DLACE,0,1 DECREASE DEALERS ACES BY 1 012.19.0 +1 DFL DLTOT,0,10 DECREASE DEALERS TOTAL BY 10 013.00.0 +1 BUN L 013.01.0 +1 I CAD PLTOT COMPARE PLAYERS TOTAL TO DEALERS TOTAL 013.02.0 +1 CFA DLTOT 013.03.0 +1 BCH A+ GREATER 013.04.0 +1 BCE H EQUAL 013.05.0 +1 D CAD SCORE LESS 013.06.0 +1 SUB STAKE SUBTRACT STAKE FROM SCORE 013.07.0 +1 STA SCORE 013.08.0 +1 BUN H 013.09.0 +1 *A CAD STAKE ADD STAKE TO SCORE 013.10.0 +1 ADL SCORE 013.11.0 +1 H SPO $||___$,1 013.12.0 +1 SPO $SCORE$,1 013.13.0 +1 SPO $__$,1 013.14.0 +1 SPO SCORE,1,2 013.15.0 +1 BUN M 014.01.0 +1 DECK CNST $ A S K S Q S J S 10 S 9 S 8 S 7 S 6 S 5 S 4 014.02.0 +1 S 3 S 2 S A H K H Q H J H 10 H 9 H 8 H 7 H 6 014.03.0 +1 H 5 H 4 H 3 H 2 H A D K D Q D J D 10 D 9 D 8 014.04.0 +1 D 7 D 6 D 5 D 4 D 3 D 2 D A C K C Q C J C 10 014.05.0 +1 C 9 C 8 C 7 C 6 C 5 C 4 C 3 C 2 C$ 014.06.0 +1 EVEN LOCN *+26 014.07.0 +1 ODD LOCN *+26 014.08.0 +1 FINI 999.99.0 diff --git a/software/examples/BLACKJACK/BLACKJACK.lst b/software/examples/BLACKJACK/BLACKJACK.lst new file mode 100644 index 0000000..1cf615a --- /dev/null +++ b/software/examples/BLACKJACK/BLACKJACK.lst @@ -0,0 +1,844 @@ +Assembler for the Burroughs 220 BALGOL Compiler & Library -- 2020-07-18 11:29 + +Source File: BLACKJACK.card +START PASS 1 + + BLACKJACK -- SAMPLE PROGRAM 2 + FROM BURROUGHS 220 ASSEMBLER-COMPILER MANUAL + BULLETIN 5024, APRIL 1960, APPENDIX D + +001.00.0 0000 SHUFL BUN * EXIT +001.01.0 0001 CLL EYE SET I TO 0 +001.02.0 0002 C1 LDB +ODD DIVIDE DECK INTO ODD AND EVEN STACK +001.03.0 0003 CLL OCTR +001.04.0 0004 RTF DECK,26 +001.05.0 0005 CLL DCTR +001.06.0 0006 LDB +EVEN +001.07.0 0007 CLL ECTR +001.08.0 0008 RTF DECK+26,26 +001.08.5 0009 MPF 1,1 +001.09.0 0010 A1 CLA GENERATE A RANDOM NUMBER +001.10.0 0011 *C MPF 1,10 +001.11.0 0012 *B MIB A+,1 +001.12.0 0013 ADD +1 +001.13.0 0014 BUN B- +001.13.2 0015 *A IFL C-,41,1 +001.13.4 0016 IFL B-,4,3 +001.13.5 0017 BUN A+ +001.13.7 0018 DFL C-,41,1 +001.13.9 0019 DFL B-,4,3 +001.14.0 0020 *A STA RANDM +001.15.0 0021 CAD +1 IS IT ODD +001.16.0 0022 EXT RANDM +001.17.0 0023 BZA A+ NO +001.18.0 0024 LDB OCTR YES +002.19.0 0025 CAD - ODD GET NEXT CARD FROM ODD STACK +002.00.0 0026 LDB DCTR +002.01.0 0027 STA - DECK +002.02.0 0028 IBB *+1,1 +002.03.0 0029 STB DCTR +002.04.0 0030 CAD OCTR IS THIS THE LAST CARD +002.05.0 0031 BFA B+,2,25 YES +002.06.0 0032 ADD +1 NO +002.07.0 0033 STA OCTR +002.08.0 0034 BUN A1 +002.09.0 0035 *B CAD +26 GET REMAINDER OF CARDS FROM EVEN STACK +002.10.0 0036 SUB ECTR +002.11.0 0037 SLA 7 +002.12.0 0038 STA B+,32 +002.13.0 0039 CAD +EVEN +002.14.0 0040 ADD ECTR +002.15.0 0041 STA B+,4 +002.16.0 0042 LDB DCTR +002.17.0 0043 IBB *+1,DECK +002.18.0 0044 *B RTF *,0 +002.19.0 0045 BUN B+ +003.00.0 0046 *A LDB ECTR RANDOM NUMBER IS EVEN +003.01.0 0047 CAD - EVEN GET NEXT CARD FROM EVEN STACK +003.02.0 0048 LDB DCTR +003.03.0 0049 STA - DECK +003.04.0 0050 IBB *+1,1 +003.05.0 0051 STB DCTR +003.06.0 0052 CAD ECTR IS THIS THE LAST CARD +003.07.0 0053 BFA A+,2,25 YES +003.08.0 0054 ADD +1 NO +003.09.0 0055 STA ECTR +003.10.0 0056 BUN A1 +003.11.0 0057 *A CAD +26 GET REMAINDER OF CARDS FROM ODD STACK +003.12.0 0058 SUB OCTR +003.13.0 0059 SLA 7 +003.14.0 0060 STA A+,32 +003.15.0 0061 CAD +ODD +003.16.0 0062 ADD OCTR +003.17.0 0063 STA A+,4 +003.18.0 0064 LDB DCTR +003.19.0 0065 IBB *+1,DECK +004.00.0 0066 *A RTF *,0 +004.01.0 0067 *B CAD EYE INCREASE I BY 1 +004.02.0 0068 ADD +1 +004.03.0 0069 STA EYE +004.04.0 0070 BFA B1,1,3 IS I 3 +004.05.0 0071 BUN C1 NO +004.06.0 0072 B1 SPO $|CUT|$,1 YES, ALLOW CUT OF CARDS +004.07.0 0073 CLA +004.08.0 0074 KAD +004.09.0 0075 CFA +52 +004.10.0 0076 BCL A+ +004.11.0 0077 CLA +004.12.0 0078 *A STA STPT +004.13.0 0079 ADD +1 +004.14.0 0080 BFA A+,2,52 +004.15.0 0081 *B STA DCTR BURN FIRST CARD +004.16.0 0082 LDB STPT +004.17.0 0083 SPO MSG1,3 +004.18.0 0084 SPO - DECK,1 +004.19.0 0085 SPO $||~__$,1 +005.00.0 0086 BUN SHUFL EXIT +005.01.0 0087 *A CLA +005.02.0 0088 BUN B- +005.03.0 0089 MSG1 CNST $FIRST CARD $ +005.04.0 0092 DEAL BUN * EXIT +005.05.0 0093 LDB DCTR GET NEXT CARD +005.06.0 0094 CAD - DECK +005.07.0 0095 STA CARD +005.08.0 0096 CAD DCTR +005.09.0 0097 ADD +1 +005.10.0 0098 BFA A+,2,52 +005.11.0 0099 *B STA DCTR +005.12.0 0100 CFA STPT IS IT THE LAST CARD +005.13.0 0101 BCU DEAL NO +005.14.0 0102 SPO MSG2,3 YES. SHOW PLAYER LAST CARD +005.15.0 0103 SPO CARD,1 +005.16.0 0104 STP SHUFL SHUFFLE +005.17.0 0105 BUN SHUFL+1 +005.18.0 0106 BUN DEAL+1 GET NEXT CARD +005.19.0 0107 *A CLA +006.00.0 0108 BUN B- +006.01.0 0109 MSG2 CNST $||LAST CARD $ +006.02.0 0112 BLKJK CLL SCORE SET SCORE TO 0 +006.03.0 0113 STP SHUFL SHUFFLE +006.04.0 0114 BUN SHUFL+1 +006.05.0 0115 M CLL PLACE SET PLAYERS AND DEALERS ACES TO 0 +006.06.0 0116 CLL DLACE +006.07.0 0117 CLL PLTOT SET PLAYERS AND DEALERS TOTALS TO 0 +006.08.0 0118 CLL DLTOT +006.09.0 0119 CAD ALPH1 SET ALPHA TO 1 +006.10.0 0120 STA ALPHA +006.11.0 0121 CAD BETA1 SET BETA TO 1 +006.12.0 0122 STA BETA +006.13.0 0123 CAD GAM1 SET GAMMA TO 1 +006.14.0 0124 STA GAMMA +006.15.0 0125 SPO MSG3,2 ALLOW PLAYER TO NAME STAKE +006.16.0 0126 CLA +006.17.0 0127 KAD +006.17.5 0128 BZA A+ +006.18.0 0129 STA STAKE +006.19.0 0130 *A SPO STAKE,1,2 +007.00.0 0131 SPO $||~__$,1 +007.01.0 0132 BUN B +007.02.0 0133 MSG3 CNST $||STAKE $ +007.03.0 0135 B STP DEAL DEAL +007.04.0 0136 BUN DEAL+1 +007.05.0 0137 SPO CARD,1 WRITE PLAYERS CARD +007.06.0 0138 CAD CARD IS IT AN ACE +007.07.0 0139 BFA A+,62,41 YES +007.08.0 0140 BUN A NO +007.09.0 0141 *A IFL PLACE,0,1 ADD 1 TO PLAYERS ACES +007.10.0 0142 A BFA A+,51,8 ADD CARD VALUE TO PLAYERS TOTAL +007.11.0 0143 BFA B+,62,41 +007.12.0 0144 *C CAD +10 +007.13.0 0145 BUN C+ +007.14.0 0146 *A SRA 4 +007.15.0 0147 EXT +1 +007.16.0 0148 BZA C- +007.17.0 0149 BUN C+ +007.18.0 0150 *B CAD +11 +007.19.0 0151 *C ADL PLTOT +008.00.0 0152 ALPHA HLT +008.01.0 0153 ALPH1 BUN A+ +008.02.0 0154 ALPH2 BUN B+ +008.03.0 0155 *A CAD ALPH2 SET ALPHA TO 2 +008.04.0 0156 STA ALPHA +008.05.0 0157 SPO $|~___$,1 +008.06.0 0158 BUN B +008.07.0 0159 *B STP DEAL DEAL +008.08.0 0160 BUN DEAL+1 +008.09.0 0161 SPO $~____$,1 + DITTO 7.5,7.7 IS IT AN ACE +007.05.0 0162 SPO CARD,1 WRITE PLAYERS CARD +007.06.0 0163 CAD CARD IS IT AN ACE +007.07.0 0164 BFA A+,62,41 YES +008.11.0 0165 BUN B+ NO +008.12.0 0166 *A IFL DLACE,0,1 YES. ADD 1 TO DEALERS ACES +008.13.0 0167 *B BFA A+,51,8 ADD CARD VALUE TO DEALERS TOTAL + DITTO 7.11,7.18 +007.11.0 0168 BFA B+,62,41 +007.12.0 0169 *C CAD +10 +007.13.0 0170 BUN C+ +007.14.0 0171 *A SRA 4 +007.15.0 0172 EXT +1 +007.16.0 0173 BZA C- +007.17.0 0174 BUN C+ +007.18.0 0175 *B CAD +11 +008.15.0 0176 *C ADL DLTOT +008.16.0 0177 C SPO $|CARD$,1 DOES PLAYER WANT ANOTHER CARD +008.17.0 0178 SPO $~____$,1 +008.18.0 0179 CLA +008.19.0 0180 KAD +009.00.0 0181 BZA A+ YES +009.01.0 0182 BETA HLT +009.02.0 0183 BETA1 BUN B+ +009.03.0 0184 BETA2 BUN C+ +009.04.0 0185 *B CAD BETA2 SET BETA TO 2 +009.05.0 0186 STA BETA +009.06.0 0187 CAD PLTOT DOES PLAYER HAVE BLACKJACK +009.07.0 0188 BFA B+,2,21 YES +009.08.0 0189 *C SPO PLTOT,1 NO. WRITE PLAYERS TOTAL +009.09.0 0190 BUN F +009.10.0 0191 *B SPO MSG4,2 WRITE BLACKJACK +009.11.0 0192 STP DEAL DEAL +009.12.0 0193 BUN DEAL+1 +009.13.0 0194 SPO $~____$,1 +009.14.0 0195 SPO CARD,1 +009.15.0 0196 SPO $|~___$,1 +009.16.0 0197 CAD CARD ADD CARD VALUE TO DEALERS TOTAL +009.17.0 0198 BFA B+,51,8 +009.18.0 0199 BFA C+,62,41 +009.19.0 0200 *D CAD +10 +010.00.0 0201 BUN D+ +010.01.0 0202 *B BFA D-,61,0 +010.02.0 0203 SRA 4 +010.02.3 0204 EXT +1 +010.02.6 0205 BUN D+ +010.03.0 0206 *C CAD +11 +010.04.0 0207 *D ADD DLTOT +010.04.5 0208 STA DLTOT +010.05.0 0209 BFA C+,2,21 +010.05.3 0210 *B SPO $~____$,1 +010.05.6 0211 SPO DLTOT,1 +010.06.0 0212 CAD STAKE +010.07.0 0213 MUL +15 +010.08.0 0214 SLT 9 +010.09.0 0215 ADL SCORE +010.10.0 0216 BUN H +010.11.0 0217 MSG4 CNST $BLACKJACK$ +010.11.1 0219 *C SPO $~____$,1 +010.11.2 0220 SPO MSG4,2 +010.11.3 0221 BUN H +010.11.4 0222 *A CAD BETA2 +010.11.6 0223 STA BETA +010.12.0 0224 STP DEAL + DITTO 7.4,7.7 WRITE PLAYERS CARD +007.04.0 0225 BUN DEAL+1 +007.05.0 0226 SPO CARD,1 WRITE PLAYERS CARD +007.06.0 0227 CAD CARD IS IT AN ACE +007.07.0 0228 BFA A+,62,41 YES +010.14.0 0229 BUN B+ IT IS NOT AN ACE +010.15.0 0230 *A IFL PLACE,0,1 ADD 1 TO PLAYERS ACES + DITTO 8.13,8.14 ADD CARD VALUE TO PLAYERS TOTAL +008.13.0 0231 *B BFA A+,51,8 ADD CARD VALUE TO DEALERS TOTAL + DITTO 7.11,7.18 +007.11.0 0232 BFA B+,62,41 +007.12.0 0233 *C CAD +10 +007.13.0 0234 BUN C+ +007.14.0 0235 *A SRA 4 +007.15.0 0236 EXT +1 +007.16.0 0237 BZA C- +007.17.0 0238 BUN C+ +007.18.0 0239 *B CAD +11 +010.17.0 0240 *C ADL PLTOT +010.18.0 0241 G CAD PLTOT IS PLAYERS TOTAL GREATER THAN 21 +010.19.0 0242 CFA +21 +011.00.0 0243 BCH E YES +011.01.0 0244 BUN C NO +011.02.0 0245 E CAD PLACE ARE PLAYERS ACES 0 +011.03.0 0246 BZA A+ YES +011.04.0 0247 DFL PLACE,0,1 NO. DECREASE PLAYERS ACES BY 1 +011.05.0 0248 DFL PLTOT,0,10 DECREASE LAYERS TOTAL BY 10 +011.06.0 0249 BUN G +011.07.0 0250 *A SPO $|~___$,1 +011.08.0 0251 SPO $ BUST$,1 +011.09.0 0252 CAD SCORE SUBTRACT STAKE FROM SCORE +011.10.0 0253 SUB STAKE +011.12.0 0254 STA SCORE + DITTO 9.11,9.15 DEAL. WRITE DEALERS CARD +009.11.0 0255 STP DEAL DEAL +009.12.0 0256 BUN DEAL+1 +009.13.0 0257 SPO $~____$,1 +009.14.0 0258 SPO CARD,1 +009.15.0 0259 SPO $|~___$,1 +011.12.0 0260 BUN H +011.13.0 0261 F STP DEAL DEAL + DITTO 9.12,9.16 WRITE DEALERS CARD +009.12.0 0262 BUN DEAL+1 +009.13.0 0263 SPO $~____$,1 +009.14.0 0264 SPO CARD,1 +009.15.0 0265 SPO $|~___$,1 +009.16.0 0266 CAD CARD ADD CARD VALUE TO DEALERS TOTAL +011.15.0 0267 BFA A+,62,41 IS IT AN ACE +011.16.0 0268 BUN B+ NO +011.17.0 0269 *A IFL DLACE,0,1 ADD 1 TO DEALERS ACES + DITTO 8.13,8.15 ADD CARD VALUE TO DEALERS TOTAL +008.13.0 0270 *B BFA A+,51,8 ADD CARD VALUE TO DEALERS TOTAL + DITTO 7.11,7.18 +007.11.0 0271 BFA B+,62,41 +007.12.0 0272 *C CAD +10 +007.13.0 0273 BUN C+ +007.14.0 0274 *A SRA 4 +007.15.0 0275 EXT +1 +007.16.0 0276 BZA C- +007.17.0 0277 BUN C+ +007.18.0 0278 *B CAD +11 +008.15.0 0279 *C ADL DLTOT +011.19.0 0280 L CAD DLTOT IS DEALERS TOTAL GREATER THAN 16 +012.00.0 0281 CFA +16 +012.01.0 0282 BCH A+ YES +012.01.3 0283 CAD GAM2 +012.01.6 0284 STA GAMMA +012.02.0 0285 BUN F +012.03.0 0286 *A CFA +21 IS DEALERS TOTAL GREATER THAN 21 +012.04.0 0287 BCH A+ YES +012.05.0 0288 GAMMA HLT +012.06.0 0289 GAM1 BUN B+ +012.07.0 0290 GAM2 BUN C+ +012.08.0 0291 *B LDR GAM2 SET GAMMA TO 2 +012.09.0 0292 STR GAMMA +012.10.0 0293 BCE B+ +012.10.3 0294 *C SPO $~____$,1 +012.10.6 0295 SPO DLTOT,1 +012.11.0 0296 BUN I NO +012.11.2 0297 *B SPO $~____$,1 +012.11.5 0298 SPO MSG4,2 +012.11.7 0299 BUN D +012.12.0 0300 *A CAD DLACE ARE DEALERS ACES 0 +012.13.0 0301 BZA K YES +012.14.0 0302 BUN J NO +012.15.0 0303 K SPO $~____$,1 +012.15.5 0304 SPO $ BUST$,1 +012.16.0 0305 CAD STAKE ADD STAKE TO SCORE +012.17.0 0306 ADL STORE +012.18.0 0307 BUN H +012.19.0 0308 J DFL DLACE,0,1 DECREASE DEALERS ACES BY 1 +013.00.0 0309 DFL DLTOT,0,10 DECREASE DEALERS TOTAL BY 10 +013.01.0 0310 BUN L +013.02.0 0311 I CAD PLTOT COMPARE PLAYERS TOTAL TO DEALERS TOTAL +013.03.0 0312 CFA DLTOT +013.04.0 0313 BCH A+ GREATER +013.05.0 0314 BCE H EQUAL +013.06.0 0315 D CAD SCORE LESS +013.07.0 0316 SUB STAKE SUBTRACT STAKE FROM SCORE +013.08.0 0317 STA SCORE +013.09.0 0318 BUN H +013.10.0 0319 *A CAD STAKE ADD STAKE TO SCORE +013.11.0 0320 ADL SCORE +013.12.0 0321 H SPO $||___$,1 +013.13.0 0322 SPO $SCORE$,1 +013.14.0 0323 SPO $__$,1 +013.15.0 0324 SPO SCORE,1,2 +014.01.0 0325 BUN M +014.02.0 0326 DECK CNST $ A S K S Q S J S 10 S 9 S 8 S 7 S 6 S 5 S 4 +014.03.0 0336 S 3 S 2 S A H K H Q H J H 10 H 9 H 8 H 7 H 6 +014.04.0 0347 H 5 H 4 H 3 H 2 H A D K D Q D J D 10 D 9 D 8 +014.05.0 0358 D 7 D 6 D 5 D 4 D 3 D 2 D A C K C Q C J C 10 +014.06.0 0369 C 9 C 8 C 7 C 6 C 5 C 4 C 3 C 2 C$ +014.07.0 0378 EVEN LOCN *+26 +014.08.0 0404 ODD LOCN *+26 +999.99.0 0430 FINI + 0430 EYE + 0431 OCTR + 0432 DCTR + 0433 ECTR + 0434 RANDM + 0435 STPT + 0436 CARD + 0437 SCORE + 0438 PLACE + 0439 DLACE + 0440 PLTOT + 0441 DLTOT + 0442 STAKE + 0443 STORE + 0444 +0000000404 + 0445 +0000000378 + 0446 +0000000001 + 0447 +0000000026 + 0448 $|CUT| + 0449 +0000000052 + 0450 $||~__ + 0451 +0000000010 + 0452 +0000000011 + 0453 $|~___ + 0454 $~____ + 0455 $|CARD + 0456 +0000000015 + 0457 +0000000021 + 0458 $ BUST + 0459 +0000000016 + 0460 $||___ + 0461 $SCORE + 0462 $__ + + +END PASS 1, ERRORS = 0 + +START PASS 2 + + BLACKJACK -- SAMPLE PROGRAM 2 + FROM BURROUGHS 220 ASSEMBLER-COMPILER MANUAL + BULLETIN 5024, APRIL 1960, APPENDIX D + +001.00.0 5 0000 0 0000 30 0000 SHUFL BUN * EXIT +001.01.0 6 0001 0 0000 46 0430 CLL EYE SET I TO 0 +001.02.0 7 0002 0 0000 42 0444 C1 LDB +ODD DIVIDE DECK INTO ODD AND EVEN STACK +001.03.0 8 0003 0 0000 46 0431 CLL OCTR +001.04.0 9 0004 0 0260 29 0326 RTF DECK,26 +001.05.0 10 0005 0 0000 46 0432 CLL DCTR +001.06.0 11 0006 0 0000 42 0445 LDB +EVEN +001.07.0 12 0007 0 0000 46 0433 CLL ECTR +001.08.0 13 0008 0 0260 29 0352 RTF DECK+26,26 +001.08.5 14 0009 0 1100 58 0000 MPF 1,1 +001.09.0 15 0010 0 0001 45 0000 A1 CLA GENERATE A RANDOM NUMBER +001.10.0 16 0011 0 1000 58 0000 *C MPF 1,10 +001.11.0 17 0012 0 1000 59 0015 *B MIB A+,1 +001.12.0 18 0013 0 0000 12 0446 ADD +1 +001.13.0 19 0014 0 0000 30 0012 BUN B- +001.13.2 20 0015 0 4101 26 0011 *A IFL C-,41,1 +001.13.4 21 0016 0 0403 26 0012 IFL B-,4,3 +001.13.5 22 0017 0 0000 30 0020 BUN A+ +001.13.7 23 0018 0 4101 27 0011 DFL C-,41,1 +001.13.9 24 0019 0 0403 27 0012 DFL B-,4,3 +001.14.0 25 0020 0 0000 40 0434 *A STA RANDM +001.15.0 26 0021 0 0000 10 0446 CAD +1 IS IT ODD +001.16.0 27 0022 0 0000 17 0434 EXT RANDM +001.17.0 28 0023 0 0000 36 0046 BZA A+ NO +001.18.0 29 0024 0 0000 42 0431 LDB OCTR YES +002.19.0 30 0025 1 0000 10 0404 CAD - ODD GET NEXT CARD FROM ODD STACK +002.00.0 31 0026 0 0000 42 0432 LDB DCTR +002.01.0 32 0027 1 0000 40 0326 STA - DECK +002.02.0 33 0028 0 0001 20 0029 IBB *+1,1 +002.03.0 34 0029 0 0002 40 0432 STB DCTR +002.04.0 35 0030 0 0000 10 0431 CAD OCTR IS THIS THE LAST CARD +002.05.0 36 0031 0 0225 36 0035 BFA B+,2,25 YES +002.06.0 37 0032 0 0000 12 0446 ADD +1 NO +002.07.0 38 0033 0 0000 40 0431 STA OCTR +002.08.0 39 0034 0 0000 30 0010 BUN A1 +002.09.0 40 0035 0 0000 10 0447 *B CAD +26 GET REMAINDER OF CARDS FROM EVEN STACK +002.10.0 41 0036 0 0000 13 0433 SUB ECTR +002.11.0 42 0037 0 0000 49 0007 SLA 7 +002.12.0 43 0038 0 3210 40 0044 STA B+,32 +002.13.0 44 0039 0 0000 10 0445 CAD +EVEN +002.14.0 45 0040 0 0000 12 0433 ADD ECTR +002.15.0 46 0041 0 0410 40 0044 STA B+,4 +002.16.0 47 0042 0 0000 42 0432 LDB DCTR +002.17.0 48 0043 0 0326 20 0044 IBB *+1,DECK +002.18.0 49 0044 0 0000 29 0044 *B RTF *,0 +002.19.0 50 0045 0 0000 30 0067 BUN B+ +003.00.0 51 0046 0 0000 42 0433 *A LDB ECTR RANDOM NUMBER IS EVEN +003.01.0 52 0047 1 0000 10 0378 CAD - EVEN GET NEXT CARD FROM EVEN STACK +003.02.0 53 0048 0 0000 42 0432 LDB DCTR +003.03.0 54 0049 1 0000 40 0326 STA - DECK +003.04.0 55 0050 0 0001 20 0051 IBB *+1,1 +003.05.0 56 0051 0 0002 40 0432 STB DCTR +003.06.0 57 0052 0 0000 10 0433 CAD ECTR IS THIS THE LAST CARD +003.07.0 58 0053 0 0225 36 0057 BFA A+,2,25 YES +003.08.0 59 0054 0 0000 12 0446 ADD +1 NO +003.09.0 60 0055 0 0000 40 0433 STA ECTR +003.10.0 61 0056 0 0000 30 0010 BUN A1 +003.11.0 62 0057 0 0000 10 0447 *A CAD +26 GET REMAINDER OF CARDS FROM ODD STACK +003.12.0 63 0058 0 0000 13 0431 SUB OCTR +003.13.0 64 0059 0 0000 49 0007 SLA 7 +003.14.0 65 0060 0 3210 40 0066 STA A+,32 +003.15.0 66 0061 0 0000 10 0444 CAD +ODD +003.16.0 67 0062 0 0000 12 0431 ADD OCTR +003.17.0 68 0063 0 0410 40 0066 STA A+,4 +003.18.0 69 0064 0 0000 42 0432 LDB DCTR +003.19.0 70 0065 0 0326 20 0066 IBB *+1,DECK +004.00.0 71 0066 0 0000 29 0066 *A RTF *,0 +004.01.0 72 0067 0 0000 10 0430 *B CAD EYE INCREASE I BY 1 +004.02.0 73 0068 0 0000 12 0446 ADD +1 +004.03.0 74 0069 0 0000 40 0430 STA EYE +004.04.0 75 0070 0 0103 36 0072 BFA B1,1,3 IS I 3 +004.05.0 76 0071 0 0000 30 0002 BUN C1 NO +004.06.0 77 0072 0 0010 09 0448 B1 SPO $|CUT|$,1 YES, ALLOW CUT OF CARDS +004.07.0 78 0073 0 0001 45 0000 CLA +004.08.0 79 0074 0 0000 08 0000 KAD +004.09.0 80 0075 0 0000 18 0449 CFA +52 +004.10.0 81 0076 0 0001 34 0078 BCL A+ +004.11.0 82 0077 0 0001 45 0000 CLA +004.12.0 83 0078 0 0000 40 0435 *A STA STPT +004.13.0 84 0079 0 0000 12 0446 ADD +1 +004.14.0 85 0080 0 0252 36 0087 BFA A+,2,52 +004.15.0 86 0081 0 0000 40 0432 *B STA DCTR BURN FIRST CARD +004.16.0 87 0082 0 0000 42 0435 LDB STPT +004.17.0 88 0083 0 0030 09 0089 SPO MSG1,3 +004.18.0 89 0084 1 0010 09 0326 SPO - DECK,1 +004.19.0 90 0085 0 0010 09 0450 SPO $||~__$,1 +005.00.0 91 0086 0 0000 30 0000 BUN SHUFL EXIT +005.01.0 92 0087 0 0001 45 0000 *A CLA +005.02.0 93 0088 0 0000 30 0081 BUN B- +005.03.0 94 0089 2 4649 59 6263 MSG1 CNST $FIRST CARD $ + 0090 2 0043 41 5944 + 0091 2 0000 00 0000 +005.04.0 95 0092 0 0000 30 0092 DEAL BUN * EXIT +005.05.0 96 0093 0 0000 42 0432 LDB DCTR GET NEXT CARD +005.06.0 97 0094 1 0000 10 0326 CAD - DECK +005.07.0 98 0095 0 0000 40 0436 STA CARD +005.08.0 99 0096 0 0000 10 0432 CAD DCTR +005.09.0 100 0097 0 0000 12 0446 ADD +1 +005.10.0 101 0098 0 0252 36 0107 BFA A+,2,52 +005.11.0 102 0099 0 0000 40 0432 *B STA DCTR +005.12.0 103 0100 0 0000 18 0435 CFA STPT IS IT THE LAST CARD +005.13.0 104 0101 0 0001 35 0092 BCU DEAL NO +005.14.0 105 0102 0 0030 09 0109 SPO MSG2,3 YES. SHOW PLAYER LAST CARD +005.15.0 106 0103 0 0010 09 0436 SPO CARD,1 +005.16.0 107 0104 0 0000 44 0000 STP SHUFL SHUFFLE +005.17.0 108 0105 0 0000 30 0001 BUN SHUFL+1 +005.18.0 109 0106 0 0000 30 0093 BUN DEAL+1 GET NEXT CARD +005.19.0 110 0107 0 0001 45 0000 *A CLA +006.00.0 111 0108 0 0000 30 0099 BUN B- +006.01.0 112 0109 2 1616 53 4162 MSG2 CNST $||LAST CARD $ + 0110 2 6300 43 4159 + 0111 2 4400 00 0000 +006.02.0 113 0112 0 0000 46 0437 BLKJK CLL SCORE SET SCORE TO 0 +006.03.0 114 0113 0 0000 44 0000 STP SHUFL SHUFFLE +006.04.0 115 0114 0 0000 30 0001 BUN SHUFL+1 +006.05.0 116 0115 0 0000 46 0438 M CLL PLACE SET PLAYERS AND DEALERS ACES TO 0 +006.06.0 117 0116 0 0000 46 0439 CLL DLACE +006.07.0 118 0117 0 0000 46 0440 CLL PLTOT SET PLAYERS AND DEALERS TOTALS TO 0 +006.08.0 119 0118 0 0000 46 0441 CLL DLTOT +006.09.0 120 0119 0 0000 10 0153 CAD ALPH1 SET ALPHA TO 1 +006.10.0 121 0120 0 0000 40 0152 STA ALPHA +006.11.0 122 0121 0 0000 10 0183 CAD BETA1 SET BETA TO 1 +006.12.0 123 0122 0 0000 40 0182 STA BETA +006.13.0 124 0123 0 0000 10 0289 CAD GAM1 SET GAMMA TO 1 +006.14.0 125 0124 0 0000 40 0288 STA GAMMA +006.15.0 126 0125 0 0020 09 0133 SPO MSG3,2 ALLOW PLAYER TO NAME STAKE +006.16.0 127 0126 0 0001 45 0000 CLA +006.17.0 128 0127 0 0000 08 0000 KAD +006.17.5 129 0128 0 0000 36 0130 BZA A+ +006.18.0 130 0129 0 0000 40 0442 STA STAKE +006.19.0 131 0130 0 2011 09 0442 *A SPO STAKE,1,2 +007.00.0 132 0131 0 0010 09 0450 SPO $||~__$,1 +007.01.0 133 0132 0 0000 30 0135 BUN B +007.02.0 134 0133 2 1616 62 6341 MSG3 CNST $||STAKE $ + 0134 2 5245 00 0000 +007.03.0 135 0135 0 0000 44 0092 B STP DEAL DEAL +007.04.0 136 0136 0 0000 30 0093 BUN DEAL+1 +007.05.0 137 0137 0 0010 09 0436 SPO CARD,1 WRITE PLAYERS CARD +007.06.0 138 0138 0 0000 10 0436 CAD CARD IS IT AN ACE +007.07.0 139 0139 0 6241 36 0141 BFA A+,62,41 YES +007.08.0 140 0140 0 0000 30 0142 BUN A NO +007.09.0 141 0141 0 0001 26 0438 *A IFL PLACE,0,1 ADD 1 TO PLAYERS ACES +007.10.0 142 0142 0 5108 36 0146 A BFA A+,51,8 ADD CARD VALUE TO PLAYERS TOTAL +007.11.0 143 0143 0 6241 36 0150 BFA B+,62,41 +007.12.0 144 0144 0 0000 10 0451 *C CAD +10 +007.13.0 145 0145 0 0000 30 0151 BUN C+ +007.14.0 146 0146 0 0000 48 0004 *A SRA 4 +007.15.0 147 0147 0 0000 17 0446 EXT +1 +007.16.0 148 0148 0 0000 36 0144 BZA C- +007.17.0 149 0149 0 0000 30 0151 BUN C+ +007.18.0 150 0150 0 0000 10 0452 *B CAD +11 +007.19.0 151 0151 0 0000 19 0440 *C ADL PLTOT +008.00.0 152 0152 0 0000 00 0000 ALPHA HLT +008.01.0 153 0153 0 0000 30 0155 ALPH1 BUN A+ +008.02.0 154 0154 0 0000 30 0159 ALPH2 BUN B+ +008.03.0 155 0155 0 0000 10 0154 *A CAD ALPH2 SET ALPHA TO 2 +008.04.0 156 0156 0 0000 40 0152 STA ALPHA +008.05.0 157 0157 0 0010 09 0453 SPO $|~___$,1 +008.06.0 158 0158 0 0000 30 0135 BUN B +008.07.0 159 0159 0 0000 44 0092 *B STP DEAL DEAL +008.08.0 160 0160 0 0000 30 0093 BUN DEAL+1 +008.09.0 161 0161 0 0010 09 0454 SPO $~____$,1 + DITTO 7.5,7.7 IS IT AN ACE +007.05.0 163 0162 0 0010 09 0436 SPO CARD,1 WRITE PLAYERS CARD +007.06.0 164 0163 0 0000 10 0436 CAD CARD IS IT AN ACE +007.07.0 165 0164 0 6241 36 0166 BFA A+,62,41 YES +008.11.0 166 0165 0 0000 30 0167 BUN B+ NO +008.12.0 167 0166 0 0001 26 0439 *A IFL DLACE,0,1 YES. ADD 1 TO DEALERS ACES +008.13.0 168 0167 0 5108 36 0171 *B BFA A+,51,8 ADD CARD VALUE TO DEALERS TOTAL + DITTO 7.11,7.18 +007.11.0 170 0168 0 6241 36 0175 BFA B+,62,41 +007.12.0 171 0169 0 0000 10 0451 *C CAD +10 +007.13.0 172 0170 0 0000 30 0176 BUN C+ +007.14.0 173 0171 0 0000 48 0004 *A SRA 4 +007.15.0 174 0172 0 0000 17 0446 EXT +1 +007.16.0 175 0173 0 0000 36 0169 BZA C- +007.17.0 176 0174 0 0000 30 0176 BUN C+ +007.18.0 177 0175 0 0000 10 0452 *B CAD +11 +008.15.0 178 0176 0 0000 19 0441 *C ADL DLTOT +008.16.0 179 0177 0 0010 09 0455 C SPO $|CARD$,1 DOES PLAYER WANT ANOTHER CARD +008.17.0 180 0178 0 0010 09 0454 SPO $~____$,1 +008.18.0 181 0179 0 0001 45 0000 CLA +008.19.0 182 0180 0 0000 08 0000 KAD +009.00.0 183 0181 0 0000 36 0222 BZA A+ YES +009.01.0 184 0182 0 0000 00 0000 BETA HLT +009.02.0 185 0183 0 0000 30 0185 BETA1 BUN B+ +009.03.0 186 0184 0 0000 30 0189 BETA2 BUN C+ +009.04.0 187 0185 0 0000 10 0184 *B CAD BETA2 SET BETA TO 2 +009.05.0 188 0186 0 0000 40 0182 STA BETA +009.06.0 189 0187 0 0000 10 0440 CAD PLTOT DOES PLAYER HAVE BLACKJACK +009.07.0 190 0188 0 0221 36 0191 BFA B+,2,21 YES +009.08.0 191 0189 0 0010 09 0440 *C SPO PLTOT,1 NO. WRITE PLAYERS TOTAL +009.09.0 192 0190 0 0000 30 0261 BUN F +009.10.0 193 0191 0 0020 09 0217 *B SPO MSG4,2 WRITE BLACKJACK +009.11.0 194 0192 0 0000 44 0092 STP DEAL DEAL +009.12.0 195 0193 0 0000 30 0093 BUN DEAL+1 +009.13.0 196 0194 0 0010 09 0454 SPO $~____$,1 +009.14.0 197 0195 0 0010 09 0436 SPO CARD,1 +009.15.0 198 0196 0 0010 09 0453 SPO $|~___$,1 +009.16.0 199 0197 0 0000 10 0436 CAD CARD ADD CARD VALUE TO DEALERS TOTAL +009.17.0 200 0198 0 5108 36 0202 BFA B+,51,8 +009.18.0 201 0199 0 6241 36 0206 BFA C+,62,41 +009.19.0 202 0200 0 0000 10 0451 *D CAD +10 +010.00.0 203 0201 0 0000 30 0207 BUN D+ +010.01.0 204 0202 0 6100 36 0200 *B BFA D-,61,0 +010.02.0 205 0203 0 0000 48 0004 SRA 4 +010.02.3 206 0204 0 0000 17 0446 EXT +1 +010.02.6 207 0205 0 0000 30 0207 BUN D+ +010.03.0 208 0206 0 0000 10 0452 *C CAD +11 +010.04.0 209 0207 0 0000 12 0441 *D ADD DLTOT +010.04.5 210 0208 0 0000 40 0441 STA DLTOT +010.05.0 211 0209 0 0221 36 0219 BFA C+,2,21 +010.05.3 212 0210 0 0010 09 0454 *B SPO $~____$,1 +010.05.6 213 0211 0 0010 09 0441 SPO DLTOT,1 +010.06.0 214 0212 0 0000 10 0442 CAD STAKE +010.07.0 215 0213 0 0000 14 0456 MUL +15 +010.08.0 216 0214 0 0001 49 0009 SLT 9 +010.09.0 217 0215 0 0000 19 0437 ADL SCORE +010.10.0 218 0216 0 0000 30 0321 BUN H +010.11.0 219 0217 2 4253 41 4352 MSG4 CNST $BLACKJACK$ + 0218 2 5141 43 5200 +010.11.1 220 0219 0 0010 09 0454 *C SPO $~____$,1 +010.11.2 221 0220 0 0020 09 0217 SPO MSG4,2 +010.11.3 222 0221 0 0000 30 0321 BUN H +010.11.4 223 0222 0 0000 10 0184 *A CAD BETA2 +010.11.6 224 0223 0 0000 40 0182 STA BETA +010.12.0 225 0224 0 0000 44 0092 STP DEAL + DITTO 7.4,7.7 WRITE PLAYERS CARD +007.04.0 227 0225 0 0000 30 0093 BUN DEAL+1 +007.05.0 228 0226 0 0010 09 0436 SPO CARD,1 WRITE PLAYERS CARD +007.06.0 229 0227 0 0000 10 0436 CAD CARD IS IT AN ACE +007.07.0 230 0228 0 6241 36 0230 BFA A+,62,41 YES +010.14.0 231 0229 0 0000 30 0231 BUN B+ IT IS NOT AN ACE +010.15.0 232 0230 0 0001 26 0438 *A IFL PLACE,0,1 ADD 1 TO PLAYERS ACES + DITTO 8.13,8.14 ADD CARD VALUE TO PLAYERS TOTAL +008.13.0 234 0231 0 5108 36 0235 *B BFA A+,51,8 ADD CARD VALUE TO DEALERS TOTAL + DITTO 7.11,7.18 +007.11.0 236 0232 0 6241 36 0239 BFA B+,62,41 +007.12.0 237 0233 0 0000 10 0451 *C CAD +10 +007.13.0 238 0234 0 0000 30 0240 BUN C+ +007.14.0 239 0235 0 0000 48 0004 *A SRA 4 +007.15.0 240 0236 0 0000 17 0446 EXT +1 +007.16.0 241 0237 0 0000 36 0233 BZA C- +007.17.0 242 0238 0 0000 30 0240 BUN C+ +007.18.0 243 0239 0 0000 10 0452 *B CAD +11 +010.17.0 244 0240 0 0000 19 0440 *C ADL PLTOT +010.18.0 245 0241 0 0000 10 0440 G CAD PLTOT IS PLAYERS TOTAL GREATER THAN 21 +010.19.0 246 0242 0 0000 18 0457 CFA +21 +011.00.0 247 0243 0 0000 34 0245 BCH E YES +011.01.0 248 0244 0 0000 30 0177 BUN C NO +011.02.0 249 0245 0 0000 10 0438 E CAD PLACE ARE PLAYERS ACES 0 +011.03.0 250 0246 0 0000 36 0250 BZA A+ YES +011.04.0 251 0247 0 0001 27 0438 DFL PLACE,0,1 NO. DECREASE PLAYERS ACES BY 1 +011.05.0 252 0248 0 0010 27 0440 DFL PLTOT,0,10 DECREASE LAYERS TOTAL BY 10 +011.06.0 253 0249 0 0000 30 0241 BUN G +011.07.0 254 0250 0 0010 09 0453 *A SPO $|~___$,1 +011.08.0 255 0251 0 0010 09 0458 SPO $ BUST$,1 +011.09.0 256 0252 0 0000 10 0437 CAD SCORE SUBTRACT STAKE FROM SCORE +011.10.0 257 0253 0 0000 13 0442 SUB STAKE +011.12.0 258 0254 0 0000 40 0437 STA SCORE + DITTO 9.11,9.15 DEAL. WRITE DEALERS CARD +009.11.0 260 0255 0 0000 44 0092 STP DEAL DEAL +009.12.0 261 0256 0 0000 30 0093 BUN DEAL+1 +009.13.0 262 0257 0 0010 09 0454 SPO $~____$,1 +009.14.0 263 0258 0 0010 09 0436 SPO CARD,1 +009.15.0 264 0259 0 0010 09 0453 SPO $|~___$,1 +011.12.0 265 0260 0 0000 30 0321 BUN H +011.13.0 266 0261 0 0000 44 0092 F STP DEAL DEAL + DITTO 9.12,9.16 WRITE DEALERS CARD +009.12.0 268 0262 0 0000 30 0093 BUN DEAL+1 +009.13.0 269 0263 0 0010 09 0454 SPO $~____$,1 +009.14.0 270 0264 0 0010 09 0436 SPO CARD,1 +009.15.0 271 0265 0 0010 09 0453 SPO $|~___$,1 +009.16.0 272 0266 0 0000 10 0436 CAD CARD ADD CARD VALUE TO DEALERS TOTAL +011.15.0 273 0267 0 6241 36 0269 BFA A+,62,41 IS IT AN ACE +011.16.0 274 0268 0 0000 30 0270 BUN B+ NO +011.17.0 275 0269 0 0001 26 0439 *A IFL DLACE,0,1 ADD 1 TO DEALERS ACES + DITTO 8.13,8.15 ADD CARD VALUE TO DEALERS TOTAL +008.13.0 277 0270 0 5108 36 0274 *B BFA A+,51,8 ADD CARD VALUE TO DEALERS TOTAL + DITTO 7.11,7.18 +007.11.0 279 0271 0 6241 36 0278 BFA B+,62,41 +007.12.0 280 0272 0 0000 10 0451 *C CAD +10 +007.13.0 281 0273 0 0000 30 0279 BUN C+ +007.14.0 282 0274 0 0000 48 0004 *A SRA 4 +007.15.0 283 0275 0 0000 17 0446 EXT +1 +007.16.0 284 0276 0 0000 36 0272 BZA C- +007.17.0 285 0277 0 0000 30 0279 BUN C+ +007.18.0 286 0278 0 0000 10 0452 *B CAD +11 +008.15.0 287 0279 0 0000 19 0441 *C ADL DLTOT +011.19.0 288 0280 0 0000 10 0441 L CAD DLTOT IS DEALERS TOTAL GREATER THAN 16 +012.00.0 289 0281 0 0000 18 0459 CFA +16 +012.01.0 290 0282 0 0000 34 0286 BCH A+ YES +012.01.3 291 0283 0 0000 10 0290 CAD GAM2 +012.01.6 292 0284 0 0000 40 0288 STA GAMMA +012.02.0 293 0285 0 0000 30 0261 BUN F +012.03.0 294 0286 0 0000 18 0457 *A CFA +21 IS DEALERS TOTAL GREATER THAN 21 +012.04.0 295 0287 0 0000 34 0300 BCH A+ YES +012.05.0 296 0288 0 0000 00 0000 GAMMA HLT +012.06.0 297 0289 0 0000 30 0291 GAM1 BUN B+ +012.07.0 298 0290 0 0000 30 0294 GAM2 BUN C+ +012.08.0 299 0291 0 0000 41 0290 *B LDR GAM2 SET GAMMA TO 2 +012.09.0 300 0292 0 0001 40 0288 STR GAMMA +012.10.0 301 0293 0 0000 35 0297 BCE B+ +012.10.3 302 0294 0 0010 09 0454 *C SPO $~____$,1 +012.10.6 303 0295 0 0010 09 0441 SPO DLTOT,1 +012.11.0 304 0296 0 0000 30 0311 BUN I NO +012.11.2 305 0297 0 0010 09 0454 *B SPO $~____$,1 +012.11.5 306 0298 0 0020 09 0217 SPO MSG4,2 +012.11.7 307 0299 0 0000 30 0315 BUN D +012.12.0 308 0300 0 0000 10 0439 *A CAD DLACE ARE DEALERS ACES 0 +012.13.0 309 0301 0 0000 36 0303 BZA K YES +012.14.0 310 0302 0 0000 30 0308 BUN J NO +012.15.0 311 0303 0 0010 09 0454 K SPO $~____$,1 +012.15.5 312 0304 0 0010 09 0458 SPO $ BUST$,1 +012.16.0 313 0305 0 0000 10 0442 CAD STAKE ADD STAKE TO SCORE +012.17.0 314 0306 0 0000 19 0443 ADL STORE +012.18.0 315 0307 0 0000 30 0321 BUN H +012.19.0 316 0308 0 0001 27 0439 J DFL DLACE,0,1 DECREASE DEALERS ACES BY 1 +013.00.0 317 0309 0 0010 27 0441 DFL DLTOT,0,10 DECREASE DEALERS TOTAL BY 10 +013.01.0 318 0310 0 0000 30 0280 BUN L +013.02.0 319 0311 0 0000 10 0440 I CAD PLTOT COMPARE PLAYERS TOTAL TO DEALERS TOTAL +013.03.0 320 0312 0 0000 18 0441 CFA DLTOT +013.04.0 321 0313 0 0000 34 0319 BCH A+ GREATER +013.05.0 322 0314 0 0000 35 0321 BCE H EQUAL +013.06.0 323 0315 0 0000 10 0437 D CAD SCORE LESS +013.07.0 324 0316 0 0000 13 0442 SUB STAKE SUBTRACT STAKE FROM SCORE +013.08.0 325 0317 0 0000 40 0437 STA SCORE +013.09.0 326 0318 0 0000 30 0321 BUN H +013.10.0 327 0319 0 0000 10 0442 *A CAD STAKE ADD STAKE TO SCORE +013.11.0 328 0320 0 0000 19 0437 ADL SCORE +013.12.0 329 0321 0 0010 09 0460 H SPO $||___$,1 +013.13.0 330 0322 0 0010 09 0461 SPO $SCORE$,1 +013.14.0 331 0323 0 0010 09 0462 SPO $__$,1 +013.15.0 332 0324 0 2011 09 0437 SPO SCORE,1,2 +014.01.0 333 0325 0 0000 30 0115 BUN M +014.02.0 334 0326 2 0000 41 0062 DECK CNST $ A S K S Q S J S 10 S 9 S 8 S 7 S 6 S 5 S 4 + 0327 2 0000 52 0062 + 0328 2 0000 58 0062 + 0329 2 0000 51 0062 + 0330 2 0081 80 0062 + 0331 2 0000 89 0062 + 0332 2 0000 88 0062 + 0333 2 0000 87 0062 + 0334 2 0000 86 0062 + 0335 2 0000 85 0062 +014.03.0 335 0336 2 0000 84 0062 S 3 S 2 S A H K H Q H J H 10 H 9 H 8 H 7 H 6 + 0337 2 0000 83 0062 + 0338 2 0000 82 0062 + 0339 2 0000 41 0048 + 0340 2 0000 52 0048 + 0341 2 0000 58 0048 + 0342 2 0000 51 0048 + 0343 2 0081 80 0048 + 0344 2 0000 89 0048 + 0345 2 0000 88 0048 + 0346 2 0000 87 0048 +014.04.0 336 0347 2 0000 86 0048 H 5 H 4 H 3 H 2 H A D K D Q D J D 10 D 9 D 8 + 0348 2 0000 85 0048 + 0349 2 0000 84 0048 + 0350 2 0000 83 0048 + 0351 2 0000 82 0048 + 0352 2 0000 41 0044 + 0353 2 0000 52 0044 + 0354 2 0000 58 0044 + 0355 2 0000 51 0044 + 0356 2 0081 80 0044 + 0357 2 0000 89 0044 +014.05.0 337 0358 2 0000 88 0044 D 7 D 6 D 5 D 4 D 3 D 2 D A C K C Q C J C 10 + 0359 2 0000 87 0044 + 0360 2 0000 86 0044 + 0361 2 0000 85 0044 + 0362 2 0000 84 0044 + 0363 2 0000 83 0044 + 0364 2 0000 82 0044 + 0365 2 0000 41 0043 + 0366 2 0000 52 0043 + 0367 2 0000 58 0043 + 0368 2 0000 51 0043 +014.06.0 338 0369 2 0081 80 0043 C 9 C 8 C 7 C 6 C 5 C 4 C 3 C 2 C$ + 0370 2 0000 89 0043 + 0371 2 0000 88 0043 + 0372 2 0000 87 0043 + 0373 2 0000 86 0043 + 0374 2 0000 85 0043 + 0375 2 0000 84 0043 + 0376 2 0000 83 0043 + 0377 2 0000 82 0043 +014.07.0 339 0378 EVEN LOCN *+26 +014.08.0 340 0404 ODD LOCN *+26 +999.99.0 341 0430 FINI + 0430 0 0000 00 0000 EYE + 0431 0 0000 00 0000 OCTR + 0432 0 0000 00 0000 DCTR + 0433 0 0000 00 0000 ECTR + 0434 0 0000 00 0000 RANDM + 0435 0 0000 00 0000 STPT + 0436 0 0000 00 0000 CARD + 0437 0 0000 00 0000 SCORE + 0438 0 0000 00 0000 PLACE + 0439 0 0000 00 0000 DLACE + 0440 0 0000 00 0000 PLTOT + 0441 0 0000 00 0000 DLTOT + 0442 0 0000 00 0000 STAKE + 0443 0 0000 00 0000 STORE + 0444 0 0000 00 0404 +0000000404 + 0445 0 0000 00 0378 +0000000378 + 0446 0 0000 00 0001 +0000000001 + 0447 0 0000 00 0026 +0000000026 + 0448 2 1643 64 6316 $|CUT| + 0449 0 0000 00 0052 +0000000052 + 0450 2 1616 26 0202 $||~__ + 0451 0 0000 00 0010 +0000000010 + 0452 0 0000 00 0011 +0000000011 + 0453 2 1626 02 0202 $|~___ + 0454 2 2602 02 0202 $~____ + 0455 2 1643 41 5944 $|CARD + 0456 0 0000 00 0015 +0000000015 + 0457 0 0000 00 0021 +0000000021 + 0458 2 0042 64 6263 $ BUST + 0459 0 0000 00 0016 +0000000016 + 0460 2 1616 02 0202 $||___ + 0461 2 6243 56 5945 $SCORE + 0462 2 0202 00 0000 $__ + + +SYMBOL TABLE + + 458 $ BUST 461 $SCORE 462 $__ 455 $|CARD 448 $|CUT| + 460 $||___ 450 $||~__ 453 $|~___ 454 $~____ 15 *A..1 + 20 *A..2 46 *A..3 57 *A..4 66 *A..5 78 *A..6 + 87 *A..7 107 *A..8 130 *A..9 141 *A.10 146 *A.11 + 155 *A.12 166 *A.13 171 *A.14 222 *A.15 230 *A.16 + 235 *A.17 250 *A.18 269 *A.19 274 *A.20 286 *A.21 + 300 *A.22 319 *A.23 12 *B..1 35 *B..2 44 *B..3 + 67 *B..4 81 *B..5 99 *B..6 150 *B..7 159 *B..8 + 167 *B..9 175 *B.10 185 *B.11 191 *B.12 202 *B.13 + 210 *B.14 231 *B.15 239 *B.16 270 *B.17 278 *B.18 + 291 *B.19 297 *B.20 11 *C..1 144 *C..2 151 *C..3 + 169 *C..4 176 *C..5 189 *C..6 206 *C..7 219 *C..8 + 233 *C..9 240 *C.10 272 *C.11 279 *C.12 294 *C.13 + 200 *D..1 207 *D..2 446 +0000000001 451 +0000000010 452 +0000000011 + 456 +0000000015 459 +0000000016 457 +0000000021 447 +0000000026 449 +0000000052 + 445 +0000000378 444 +0000000404 142 A 10 A1 153 ALPH1 + 154 ALPH2 152 ALPHA 135 B 72 B1 182 BETA + 183 BETA1 184 BETA2 112 BLKJK 8 BMOD 177 C + 2 C1 436 CARD 315 D 432 DCTR 92 DEAL + 326 DECK 439 DLACE 441 DLTOT 245 E 433 ECTR + 378 EVEN 430 EYE 261 F 241 G 289 GAM1 + 290 GAM2 288 GAMMA 321 H 311 I 308 J + 303 K 280 L 115 M 89 MSG1 109 MSG2 + 133 MSG3 217 MSG4 431 OCTR 404 ODD 438 PLACE + 440 PLTOT 434 RANDM 1 RLO 437 SCORE 0 SHUFL + 442 STAKE 443 STORE 435 STPT + +END PASS 2, ERRORS = 0 diff --git a/software/examples/README.txt b/software/examples/README.txt index f29acf3..ad29d5f 100644 --- a/software/examples/README.txt +++ b/software/examples/README.txt @@ -36,6 +36,58 @@ Unless otherwise specified, all files are in standard Windows text format, with carriage-return/line-feed delimiters. +BLACKJACK/ + A program that plays Blackjack on the 220, with input from the + console keyboard and output to the SPO. This was transcribed from + "SAMPLE PROGRAM 2" in Appendix D of the "Burroughs 220 Assembler- + Compiler" manual, Bulletin 5024, April 1960. Assemble with the BAC- + Assembler. This manual was discovered at CBI: + + Burroughs Corporation Records, Product Literature (CBI 90), + Charles Babbage Institute, University of Minnesota, Minneapolis. + https://archives.lib.umn.edu/repositories/3/resources/186. + Series 74, box 5, folder 17. + + Entry point to the program is the label BLKJK at address 0112. You + must mount and make ready a pre-formatted magnetic tape with 100- + word blocks on drive 1. The tape is not read or written -- instead + the timing of tape positioning commands is used to generate random + numbers. + + Appendix D had this description of the program: + + This program deals the card game "Blackjack" for dealer and one + player. The ordinary rules are followed; i.e., if the dealer has + 16 or less, he is dealt another card, and if 17 or more, the + hand is over. All communication is through the Supervisory + Printer and the console keyboard. + + Before each hand, the player is given an opportunity to enter + the amount he wishes to stake. At the end of each hand, the + score is printed on the Supervisory Printer, followed by the + amount due the player. + + The player is dealt two cards, shown on the Supervisory Printer, + then questioned as to whether he desires another card. If he + does, a zero is entered on the keyboard; if not, any other + number is entered. The player may continue to draw cards, so + long as his total does not exceed 21, or may stay at any point. + The program then looks at the dealer's hand, and takes another + card or not, depending upon the point score indicated above. + + When the deck is exhausted, it is shuffled; for this purpose, a + pre-blocked tape must be mounted on unit 1. + + COMMENTS. An alphabetic lateral is shown between two dollar ($) + signs. (See lines 0.14.02.0 through 0.14.06.0.) + + The DITTO command is used in this program, and a nested DITTO is + used. (See location counter 0270 and following.) + + Note that the BAC-Assembler does not presently support the DITTO + pseudo-operator, so these were commented out and the duplicate + source lines were inserted in the deck manually. + List-Cards/ A simple assembly language program to list card images from Cardatron input unit 1 to Cardatron output unit 2. @@ -82,4 +134,5 @@ WINTER.PI/ paper-tape image inverse (sign last) format. Paul Kimpel -February 2017 +July 2020 + diff --git a/software/tools/BAC-Assembler.html b/software/tools/BAC-Assembler.html index a16cbff..b6a3f62 100644 --- a/software/tools/BAC-Assembler.html +++ b/software/tools/BAC-Assembler.html @@ -439,7 +439,7 @@ window.addEventListener("load", function() { "BZA": [ 36, 1, -1, 7, 0, 9, 0], "BFR": [ 37, 1, -1, 7, -1, 9, -1], "BZR": [ 37, 1, -1, 7, 0, 9, 0], - "BCS": [ 38, 1, -1, 4, 0], + "BCS": [ 38, 1, -1, 4, -1], "SOR": [ 39, 1, 0, 2, 0], "SOH": [ 139, 1, 0, 2, 0], "IOM": [ 239, 1, -1, 2, 0],