-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy path25_Simulator_8085.bc2
781 lines (780 loc) · 26.2 KB
/
25_Simulator_8085.bc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
1000 A=1000:GOTO20:REM ++ 8085-SIMULATOR
1010 V=60:REM ++ MAX. AANTAL OPDRACHTEN
1020 W=1023:REM ++ MAX. PROGR. GEHEUGEN
1030 TE=0:Z$="":P=1
1040 DIMGE(W),PR$(V),S(V),RI$(7),RE(8)
1050 FORI=0 TOW:GE(I)=0:NEXTI
1060 GOSUB100:GOSUB8030
1070 IFTE>V THENPRINT"PROGRAMMA GEHEUGEN VOL"
1080 PRINT;TE;:GOSUB120:HO=4:GOSUB110:PRINT"-";:GOSUB110
1090 SS=0:GOSUB5480
1100 IF(LEN(Z$)=1) OR(TE>V) THEN1130
1110 PR$(TE)=Z$:TE=TE+1:Z$=""
1120 PRINT:GOTO1070
1130 ZZ$="MLWVTNARZ":GOSUB5420
1140 IFG=0 THENGOSUB250:Z$="":PRINT:GOTO1070
1150 IFG=9 THENGOSUB7760:Z$="":PRINT:GOTO1070
1160 IF(G<3) OR(G>5) THENGOSUB100:PRINT
1170 PRINT
1180 ONG GOTO1190,1290,1420,1480,1560,1650,1690,2820
1190 PRINT"M = MENU"
1200 PRINT"L = LIST"
1210 PRINT"W = WIJZIGEN"
1220 PRINT"R = SINGLE STEP"
1230 PRINT"V = VERWIJDEREN"
1240 PRINT"T = TUSSENVOEGEN"
1250 PRINT"Z = GEHEUGEN DUMP"
1260 PRINT"A = START ASSEMBLER"
1270 PRINT"N = NIEUW PROGRAMMA"
1280 PRINT:Z$="":GOTO1080
1290 IFTE=0 THENZ$="":GOTO1080
1300 FORI=1 TOTE
1310 PRINT;I-1;:GOSUB120:HO=4:GOSUB110:PRINTPR$(I-1)
1320 IF((INT(I/18)*18)<>I) THEN1380
1330 PRINT:PRINT"L = VERVOLG : P =STOP"
1340 PRINT"ANDERE TOETS, ZIE MENU"
1350 GOSUB210
1360 IFIN$="L" THENGOSUB100:GOTO1380
1370 I=TE:Z$=IN$
1380 NEXTI
1390 ZZ$="MLWVTNARZ":GOSUB5420
1400 IF(G=2) OR(G=0) THENZ$="":GOTO1080
1410 Z$="":GOTO1150
1420 IFTE=0 THENZ$="":GOTO1080
1430 PRINT:PRINT"WELKE REGEL WIJZIGEN ";:INPUTG
1440 IF(G<0) OR(G>(TE-1)) THENGOSUB5590:GOTO1080
1450 PRINT;G;:GOSUB120:HO=4:GOSUB110:Z$=""
1460 PRINT"-";:GOSUB110:GOSUB5480
1470 PR$(G)=Z$:Z$="":PRINT:GOTO1080
1480 IFTE=0 THENZ$="":GOTO1080
1490 PRINT:PRINT"WELKE REGEL":PRINT"VERWIJDEREN ";:INPUTG
1500 IF(G<0) OR(G>(TE-1)) THENGOSUB5590:GOTO1080
1510 FORI=G TOTE-2
1520 PR$(I)=PR$(I+1)
1530 NEXTI
1540 TE=TE-1
1550 Z$="":GOTO1080
1560 IF(TE=0) OR(TE>V) THENZ$="":PRINT:GOTO1070
1570 PRINT:PRINT"WAAR TUSSENVOEGEN ";:INPUTG
1580 IF(G<0) OR(G>(TE-1)) THENGOSUB5590:GOTO1080
1590 FORI=TE TOG+1 STEP-1
1600 PR$(I)=PR$(I-1)
1610 NEXTI
1620 PRINT;G;:GOSUB120:HO=4:GOSUB110:Z$=""
1630 PRINT"-";:GOSUB110:GOSUB5480
1640 PR$(G)=Z$:Z$="":TE=TE+1:PRINT:GOTO1080
1650 PRINT"NIEUW PROGRAMMA ?? J/N"
1660 GOSUB210:GOSUB100
1670 IFIN$="N" THENZ$="":GOTO1080
1680 Z$="":TE=0:GOTO1060
1690 IFTE=0 THENZ$="":GOTO1080
1700 PRINT"SPATIEBALK IS ONDERBREEK VERTALEN":PRINT:PRINT
1710 ZZ$=PR$(0):GOSUB5600:K=0:UT=2000:P=0
1720 IFW$<>"ORG" THENGOSUB8050:AD=0:GOTO1780
1730 ZZ$=X$:GOSUB6030
1740 IFTT=1 THENGOSUB8050:AD=0:GOTO1780
1750 GOSUB5820
1760 IF(TT=1) OR(DW>W) THENGOSUB8050:AD=0:GOTO1780
1770 AD=DW:HO=15:VE=6:GOSUB110:PRINTW$;" ";X$
1780 FORK=1 TOTE-1
1790 ZZ$=PR$(K):GOSUB5600
1800 IFG=0 THENS(K)=2700:GOTO1820
1810 ONG GOSUB2000,2140,1920
1820 GOSUB200:IFIN$<>" " THEN1860
1830 PRINT:PRINT"A = VERVOLG":PRINT"S = STOP"
1840 GOSUB210:IF(IN$<>"A") AND(IN$<>"S") THEN1840
1850 IFIN$="S" THENK=TE+2:Z$=""
1860 NEXTK
1870 IFK=(TE+3) THEN1080
1880 PRINT:PRINT"---------------------":PRINT
1890 GOSUB2660:PRINT:PRINT"---------------------":PRINT
1900 PRINT:PRINT"** ";P;" FOUTEN **"
1910 Z$="":GOTO1080
1920 IFX$<>"EQU" THENGOSUB8050:RETURN
1930 ZZ$=Y$:GOSUB6030
1940 IFTT=1 THENGOSUB8050:RETURN
1950 GOSUB5820
1960 IF(TT=1) OR(DW>65535) THENGOSUB8050:RETURN
1970 S(K)=DW+3000:GOSUB120:HO=15
1980 GOSUB110:PRINTW$;" ";X$;" ";Y$
1990 RETURN
2000 IFRIGHT$(W$,1)<>":" THEN2030
2010 IFUT=K-1 THENUT=UT+1:GOSUB8050:RETURN
2020 S(K)=2500:GOSUB120:HO=15:GOSUB110:PRINTW$:UT=K:RETURN
2030 RESTORE
2040 FORJ=1 TO34:READD$,B$:NEXTJ
2050 FORJ=1 TO27
2060 READD$,B$:IFD$=W$ THENZ=J:J=30
2070 NEXTJ
2080 IFJ<30 THENGOSUB8050:RETURN
2090 IFZ<5 THENGOSUB8060:RETURN
2100 IFAD>W THENGOSUB8080:RETURN
2110 ZZ$=B$:U=3:TS=16:GOSUB5820:GE(AD)=DW:S(K)=AD
2120 GOSUB6090:AD=AD+1:PRINTR$;" ";B$;" ";W$;
2130 PRINT:RETURN
2140 IFW$="RST" THENGOSUB8060:RETURN
2150 IFW$<>"ORG" THEN2190
2160 ZZ$=X$:GOSUB6030:IFTT=1 THENGOSUB8050:RETURN
2170 GOSUB5820:IF(TT=1) OR(DW>W) THENGOSUB8050:RETURN
2180 AD=DW:GOSUB120:HO=15:GOSUB110:PRINTW$;" ";X$:RETURN
2190 IFW$<>"DB" THEN2250
2200 ZZ$=X$:GOSUB6120
2210 IF(DW>255) OR(TT=1) THENGOSUB8050:RETURN
2220 GE(AD)=DW:S(K)=AD
2230 GOSUB7290:GOSUB6090:PRINTR$;" ";D$;:AD=AD+1
2240 GOSUB120:HO=15:GOSUB110:PRINTW$;" ";X$:RETURN
2250 RESTORE
2260 FORJ=1 TO34
2270 READD$,B$:IFD$=W$ THENZ=J:J=37
2280 NEXTJ
2290 IFJ<37 THENQ$=W$+X$:GOTO2570
2300 IFZ>32 THENGOSUB6220:IFTT=1 THENGOSUB8050:RETURN
2310 IFAD>W THENGOSUB8080:RETURN
2320 ZZ$=B$:U=3:TS=16:GOSUB5820:GE(AD)=DW:S(K)=AD
2330 GOSUB6090:PRINTR$;" ";B$;" ";:AD=AD+1
2340 IF(Z<23) OR(Z=34) THEN2420
2350 IFZ=33 THENX2$=X$:X$=X3$:X3$=X2$
2360 ZZ$=X$:GOSUB6120
2370 IFZ=33 THENX2$=X$:X$=X3$:X3$=X2$
2380 IF(TT=1) OR(DW>255) THENGOSUB8050:RETURN
2390 IFAD>W THENGOSUB8080:RETURN
2400 GE(AD)=DW:GOSUB7290:AD=AD+1
2410 PRINTD$;" ";W$;" ";X$:RETURN
2420 IFZ=34 THENX2$=X$:X$=X3$:X3$=X2$
2430 ZZ$=X$:GOSUB6120
2440 IFZ=34 THENX2$=X$:X$=X3$:X3$=X2$
2450 IF((TT=1) AND(Z=34)) OR(DW>65535) THENGOSUB8050:RETURN
2460 IFZ=34 THEN2480
2470 IFDW>W THENGOSUB8050:RETURN
2480 IFAD>W-1 THENGOSUB8080:RETURN
2490 IFD$<>"L" THEN2520
2500 S(K)=S(K)+1200:GE(AD)=0:GE(AD+1)=0:AD=AD+2
2510 PRINT"00 00 ";:GOTO2560
2520 Z=DW:DW=DW-(INT(DW/256)*256):GOSUB7290
2530 GE(AD)=DW:AD=AD+1
2540 PRINTD$;" ";:DW=INT(Z/256):GOSUB7290
2550 GE(AD)=DW:AD=AD+1:PRINTD$;" ";
2560 PRINTW$;" ";X$:RETURN
2570 FORJ=1 TO27:READD$,B$:NEXTJ
2580 FORJ=1 TO167
2590 READD$,B$:IFQ$=D$ THENZ=J:J=187
2600 NEXTJ
2610 IFJ<187 THENGOSUB8050:RETURN
2620 IFAD>W THENGOSUB8080:RETURN
2630 ZZ$=B$:U=3:TS=16:GOSUB5820:GE(AD)=DW:S(K)=AD
2640 GOSUB6090:PRINTR$;" ";B$;:GOSUB120
2650 HO=15:AD=AD+1:GOSUB110:PRINTW$;" ";X$:RETURN
2660 FORK=1 TOTE-1
2670 IF(S(K)<1200) OR(S(K)>(1200+W)) THEN2810
2680 ZZ$=PR$(K):GOSUB5600:D$=X$+":":TT=1
2690 FORJ=1 TOTE-1
2700 IFS(J)<>2500 THEN2740
2710 ZZ$=PR$(J):GOSUB5600
2720 IFD$<>W$ THEN2740
2730 TT=0:Z=J+1:J=TE
2740 NEXTJ
2750 IFTT=1 THENGOSUB8090:GOTO2810
2760 AD=S(K)-1200:GOSUB6090:DW=GE(AD):GOSUB7290
2770 PRINTR$;" ";D$;" ";:AD=AD+1
2780 IFS(Z)>2499 THENZ=Z+1:GOTO2780
2790 DW=S(Z):IFDW>W THENDW=DW-1200
2800 GOSUB2520
2810 NEXTK:RETURN
2820 Z$="":GOSUB6640:IFTT=1 THEN1080
2830 SS=1:GOSUB7690
2840 RI$(0)="B":RI$(1)="C":RI$(2)="D":RI$(3)="E"
2850 RI$(4)="H":RI$(5)="L":RI$(6)="M":RI$(7)="A"
2860 GOSUB7350
2870 FORI=0 TO7:RE(I)=0:NEXTI:RE(8)=68
2880 S=0:Z=0:A=0:P=0:C=0:SP=W-2
2890 B1=256:B2=256:BI=0:BO=0
2900 ZZ$=PR$(0):GOSUB5600:ZZ$=X$:GOSUB6030:GOSUB5820
2910 PC=DW:BB=0
2920 IFPC<(W+1) THEN2940
2930 GOSUB100:PRINT"PROGR. TELLER TE HOOG":GOTO1080
2940 G=GE(PC):AD=PC:PC=PC+1:GOSUB6090
2950 L1=INT(G/64):L3=G-INT(G/8)*8
2960 L2=INT((G-L1*64)/8):L4=INT(L2/2):L5=L2-L4*2
2970 GOSUB6370:IFTT=1 THEN3030
2980 TT=0:D$="00":GOSUB3090
2990 GOSUB6680
3000 IFTT=0 THEN3040
3010 IFTT<>2 THEN3030
3020 GOSUB100:GOSUB8030:Z$="":P=1:GOTO1080
3030 Z$="":P=1:GOSUB100:PRINT"FOUT OP ADRES ";R$:GOTO1080
3040 HO=15:VE=0:GOSUB110:PRINT"VOLGENDE?":GOSUB210
3050 GOSUB6820:IFTT=1 THEN3040
3060 IFIN$="S" THENGOSUB100:GOSUB8030:Z$="":P=1:GOTO1080
3070 IFIN$="Z" THENGOSUB7760
3080 GOTO2920
3090 ONL1+1 GOTO3100,4030,4080,4410
3100 ONL3+1 GOTO3110,3130,3290,3420,3590,3590,3740,3830
3110 IFL2<>0 THENTT=1:RETURN
3120 RETURN
3130 IR=L4*2
3140 IFL5=1 THEN3230
3150 IFPC>W-1 THENTT=1:RETURN
3160 IFIR<>6 THEN3210
3170 SP=GE(PC+1)*256+GE(PC)
3180 GOSUB7660:IFTT=1 THEN:RETURN
3190 GOSUB7680
3200 PC=PC+2:RETURN
3210 RE(IR)=GE(PC+1):RE(IR+1)=GE(PC):PC=PC+2
3220 DW=RE(IR+1):GOSUB7200:DW=RE(IR):GOSUB7220:RETURN
3230 A1=RE(4)*256+RE(5)
3240 IFIR=6 THENA1=A1+SP:GOTO3260
3250 A1=A1+(RE(IR)*256+RE(IR+1))
3260 C=0:IFA1>65535 THENC=1:A1=A1-65536
3270 RE(4)=INT(A1/256):RE(5)=A1-RE(4)*256:A1=RE(8)
3280 GOSUB5380:RETURN
3290 IR=L4*2
3300 IFIR=0 THENA1=RE(0)*256+RE(1):GOTO3350
3310 IFIR=2 THENA1=RE(2)*256+RE(3):GOTO3350
3320 IFPC>W-1 THENTT=1:RETURN
3330 GOSUB7680
3340 A1=GE(PC+1)*256+GE(PC)
3350 IFA1>(W-1) THENTT=1:RETURN
3360 IFIR>2 THENPC=PC+2
3370 IFL5=0 THEN3400
3380 IFIR=4 THENRE(5)=GE(A1):RE(4)=GE(A1+1):RETURN
3390 RE(7)=GE(A1):RETURN
3400 IFIR=4 THENGE(A1)=RE(5):GE(A1+1)=RE(4):RETURN
3410 GE(A1)=RE(7):RETURN
3420 IR=L4*2:IFL5=1 THEN3510
3430 IFL4<>6 THEN3460
3440 SP=SP+1:GOSUB7660
3450 RETURN
3460 RE(IR+1)=RE(IR+1)+1
3470 IFRE(IR+1)<256 THENRETURN
3480 RE(IR+1)=0:RE(IR)=RE(IR)+1
3490 IFRE(IR)<256 THENRETURN
3500 RE(IR)=0:RETURN
3510 IFL4<>6 THEN3540
3520 SP=SP-1:GOSUB7660
3530 RETURN
3540 RE(IR+1)=RE(IR+1)-1
3550 IFRE(IR+1)>-1 THENRETURN
3560 RE(IR+1)=255:RE(IR)=RE(IR)-1
3570 IFRE(IR)>-1 THENRETURN
3580 RE(IR)=255:RETURN
3590 IFL2=6 THENGOSUB5390:IFTT=1 THENRETURN
3600 K=RE(L2)-(INT(RE(L2)/16)*16)
3610 A=0:ONL3-3 GOSUB3650,3690
3620 A1=RE(L2):A2=255:D=1:GOSUB5190
3630 GOSUB5380:IFL2=6 THENGE(IR)=RE(6)
3640 RETURN
3650 IF(K+1)>15 THENA=1
3660 RE(L2)=RE(L2)+1
3670 Z=0:IFRE(L2)>255 THENRE(L2)=0:Z=1
3680 RETURN
3690 IF(K-1)<0 THENA=1
3700 RE(L2)=RE(L2)-1
3710 IFRE(L2)<0 THENRE(L2)=255
3720 Z=0:IFRE(L2)=0 THENZ=1
3730 RETURN
3740 IFPC>W THENTT=1:RETURN
3750 IFL2=6 THEN3790
3760 RE(L2)=GE(PC):PC=PC+1
3770 DW=RE(L2):GOSUB7200
3780 RETURN
3790 GOSUB5390:IFTT=1 THENRETURN
3800 GE(IR)=GE(PC):PC=PC+1
3810 DW=GE(IR):GOSUB7200
3820 RETURN
3830 ONL2+1 GOTO3840,3880,3840,3880,3930,4000,4010,4020
3840 RE(7)=RE(7)*2:IFL2=2 THENRE(7)=RE(7)+C
3850 C=0:IFRE(7)>255 THENC=1:RE(7)=RE(7)-256
3860 IFL2=0 THENRE(7)=RE(7)+C
3870 GOSUB5380:RETURN
3880 K=RE(7)-INT(RE(7)/2)*2:RE(7)=INT(RE(7)/2)
3890 IFL2=3 THENRE(7)=RE(7)+128*C
3900 C=0:IFK=1 THENC=1
3910 IFL2=1 THENRE(7)=RE(7)+128*C
3920 GOSUB5380:RETURN
3930 GOSUB5350:IF(K<10) AND(A=0) THEN3960
3940 A=1-A:RE(7)=RE(7)+6
3950 IFRE(7)>255 THENC=1:RE(7)=RE(7)-256
3960 K=INT(RE(7)/16):IF(K<10) AND(C=0) THEN3890
3970 RE(7)=RE(7)+96:IFRE(7)>255 THENC=1:RE(7)=RE(7)-256
3980 Z=0:IFRE(7)=0 THENZ=1
3990 A1=RE(7):A2=255:D=1:GOSUB5190:GOSUB5380:RETURN
4000 RE(7)=255-RE(7):RETURN
4010 C=1:GOSUB5380:RETURN
4020 C=1-C:GOSUB5380:RETURN
4030 IF(L2=6) AND(L3=6) THENTT=2:RETURN
4040 IF(L2<>6) AND(L3<>6) THENRE(L2)=RE(L3):RETURN
4050 IR=RE(4)*256+RE(5):IFIR>W THENTT=1:RETURN
4060 IFL2=6 THENGE(IR)=RE(L3):RETURN
4070 RE(L2)=GE(IR):RETURN
4080 IFL3<>6 THEN4120
4090 IR=RE(4)*256+RE(5)
4100 IFIR>W THENTT=1:RETURN
4110 RE(6)=GE(IR)
4120 DW=RE(L3):GOSUB7290
4130 ONL2+1 GOTO4140,4140,4210,4210,4280,4310,4310,4350
4140 GOSUB5350:A=0:K=K+M:IFL2=1 THENK=K+C
4150 IFK>15 THENA=1
4160 RE(7)=RE(7)+RE(L3):IFL2=1 THENRE(7)=RE(7)+C
4170 C=0:IFRE(7)>255 THENC=1:RE(7)=RE(7)-256
4180 Z=0:IFRE(7)=0 THENZ=1
4190 A1=RE(7):A2=255:D=1:GOSUB5190
4200 GOSUB5380:RETURN
4210 GOSUB5350:A=0:K=K-M:IFL2=3 THENK=K-C
4220 IFK<0 THENA=1
4230 RE(7)=RE(7)-RE(L3):IFL2=3 THENRE(7)=RE(7)-C
4240 C=0:IFRE(7)<0 THENC=1:RE(7)=RE(7)+256
4250 Z=0:IFRE(7)=0 THENZ=1
4260 A1=RE(7):A2=255:D=1:GOSUB5190
4270 GOSUB5380:RETURN
4280 A1=RE(7):A2=RE(L3):D=1:GOSUB5190
4290 RE(7)=G:Z=0:IFRE(7)=0 THENZ=1
4300 A=1:C=0:GOSUB5380:RETURN
4310 D=2:IFL2=6 THEND=3
4320 A1=RE(7):A2=RE(L3):GOSUB5190
4330 RE(7)=G:Z=0:IFRE(7)=0 THENZ=1
4340 A=0:C=0:GOSUB5380:RETURN
4350 GOSUB5350:A=0:IF(K-M)<0 THENA=1
4360 A1=RE(7)-RE(L3)
4370 C=0:IFA1<0 THENC=1:A1=A1+256
4380 Z=0:IFA1=0 THENZ=1
4390 A2=255:D=1:GOSUB5190
4400 GOSUB5380:RETURN
4410 ONL3+1 GOTO4420,4800,4450,4910,4440,5080,5150,4880
4420 GOSUB7660:IFTT=1 THEN:RETURN
4430 L3=L3/2+1:GOTO4470
4440 GOSUB7660:IFTT=1 THENRETURN
4450 L3=L3/2+1
4460 IFPC>W-1 THENTT=1:RETURN
4470 ONL2+1 GOTO4480,4510,4540,4570,4600,4630,4660,4690
4480 IFZ=0 THEN4720
4490 IFL3<>1 THEN4780
4500 RETURN
4510 IFZ=1 THEN4720
4520 IFL3<>1 THEN4780
4530 RETURN
4540 IFC=0 THEN4720
4550 IFL3<>1 THEN4780
4560 RETURN
4570 IFC=1 THEN4720
4580 IFL3<>1 THEN4780
4590 RETURN
4600 IFP=0 THEN4720
4610 IFL3<>1 THEN4780
4620 RETURN
4630 IFP=1 THEN4720
4640 IFL3<>1 THEN4780
4650 RETURN
4660 IFS=0 THEN4720
4670 IFL3<>1 THEN4780
4680 RETURN
4690 IFS=1 THEN4720
4700 IFL3<>1 THEN4780
4710 RETURN
4720 ONL3 GOTO4730,4760,4740
4730 PC=GE(SP)+256*GE(SP+1):SP=SP+2:GOSUB7030:RETURN
4740 GE(SP-1)=INT((PC+2)/256)
4750 GE(SP-2)=PC+2-(GE(SP-1)*256):SP=SP-2
4760 GOSUB7680
4770 PC=GE(PC)+256*GE(PC+1):GOSUB7030:RETURN
4780 GOSUB7680
4790 PC=PC+2:RETURN
4800 ONL2+1 GOTO4830,4810,4830,4880,4830,4890,4830,4900
4810 GOSUB7660:IFTT=1 THEN:RETURN
4820 GOTO4730
4830 GOSUB7660:IFTT=1 THEN:RETURN
4840 IR=L4*2:IFIR=6 THENIR=7
4850 RE(IR+1)=GE(SP):RE(IR)=GE(SP+1):SP=SP+2
4860 IFIR=7 THENGOSUB7240
4870 RETURN
4880 TT=1:RETURN
4890 PC=RE(4)*256+RE(5):GOSUB7030:RETURN
4900 SP=RE(4)*256+RE(5):RETURN
4910 ONL2+1 GOTO4920,4880,4940,4940,5030,5060,4880,4880
4920 IFPC>W-1 THENTT=1:RETURN
4930 GOTO4760
4940 IFPC>W THENTT=1:RETURN
4950 G=GE(PC):PC=PC+1
4960 DW=G:GOSUB7200
4970 IFL2=3 THEN5000
4980 IF(G<>B2) AND(B2<>256) THENTT=1:RETURN
4990 B2=G:BO=RE(7):GOSUB7040:RETURN
5000 IF(G<>B1) AND(B1<>256) THENTT=1:RETURN
5010 B1=G:RE(7)=BI:GOSUB7010
5020 RETURN
5030 GOSUB7660:IFTT=1 THEN:RETURN
5040 A1=RE(4):RE(4)=GE(SP+1):GE(SP+1)=A1
5050 A1=RE(5):RE(5)=GE(SP):GE(SP)=A1:RETURN
5060 A1=RE(2):RE(2)=RE(4):RE(4)=A1
5070 A1=RE(3):RE(3)=RE(5):RE(5)=A1:RETURN
5080 ONL2+1 GOTO5090,5120,5090,4880,5090,4880,5090,4880
5090 GOSUB7660:IFTT=1 THENRETURN
5100 IR=L4*2:IFIR=6 THENIR=7
5110 GE(SP-1)=RE(IR):GE(SP-2)=RE(IR+1):SP=SP-2:RETURN
5120 IFPC>W-1 THENTT=1:RETURN
5130 A1=GE(PC+1)*256+GE(PC)
5140 GOTO4740
5150 IFPC>W THENTT=1:RETURN
5160 RE(6)=GE(PC):PC=PC+1:GOTO4130
5170 DW=RE(6):GOSUB7200
5180 GOTO4130
5190 P=0:TS=1:G=0
5200 FORI=1 TO8
5210 X=A1-(INT(A1/2)*2)
5220 Y=A2-(INT(A2/2)*2)
5230 A1=INT(A1/2)
5240 A2=INT(A2/2)
5250 OND GOSUB5300,5330,5310
5260 G=G+TS*S:P=P+S:TS=TS*2
5270 NEXTI
5280 IF(INT(P/2)*2)=P THENP=1:RETURN
5290 P=0:RETURN
5300 S=X*Y:RETURN
5310 S=0:IF(X=1) OR(Y=1) THENS=1
5320 RETURN
5330 S=1:IFX=Y THENS=0
5340 RETURN
5350 K=RE(7)-(INT(RE(7)/16)*16)
5360 M=RE(L3)-(INT(RE(L3)/16)*16)
5370 RETURN
5380 RE(8)=C+P*4+A*16+Z*64+S*128:RETURN
5390 IR=RE(4)*256+RE(5)
5400 IFIR>W THENTT=1:RETURN
5410 RE(6)=GE(IR):RETURN
5420 G=0
5430 IFLEN(ZZ$)=0 THENRETURN
5440 FORI=1 TOLEN(ZZ$)
5450 IFZ$=MID$(ZZ$,I,1) THENG=I:I=LEN(ZZ$)
5460 NEXTI
5470 RETURN
5480 GOSUB210
5490 IF(IN$="") OR(ASC(IN$)=13) THEN5580
5500 IF(IN$="?") OR(ASC(IN$)=127) THEN5510
5505 IF(ASC(IN$)<>20) THEN5550
5510 IFLEN(Z$)=0 THENGOSUB250:GOTO5480
5520 IFLEN(Z$)=1 THENZ$="":GOTO5540
5530 Z$=LEFT$(Z$,LEN(Z$)-1)
5540 GOSUB120:HO=HO-1:GOSUB110:PRINT"- ";:GOSUB110:GOTO5480
5550 IF(LEN(Z$)=0) AND(IN$=" ") THENGOSUB250:GOTO5480
5560 Z$=Z$+IN$:PRINTIN$;"-";:GOSUB120:HO=HO-1:GOSUB110
5570 GOTO5480
5580 PRINT" ";:RETURN
5590 PRINT"REGEL BESTAAT NIET":Z$="":RETURN
5600 Z$=";":GOSUB5420:IFG=0 THENG=LEN(ZZ$)+1
5610 B=0:W$="":X$="":Y$=""
5620 IFG=1 THENG=0:RETURN
5630 FORI=G-1 TO1 STEP-1
5640 IFMID$(ZZ$,I,1)<>" " THENB=I:I=1
5650 NEXTI
5660 IFB=0 THENG=0:RETURN
5670 ZZ$=LEFT$(ZZ$,B)
5680 Z$=" ":GOSUB5420
5690 IFG=0 THENW$=ZZ$:G=1:RETURN
5700 W$=LEFT$(ZZ$,G-1):ZZ$=MID$(ZZ$,G,LEN(ZZ$)-G+1)
5710 GOSUB5770
5720 Z$=" ":GOSUB5420
5730 IFG=0 THENX$=ZZ$:G=2:RETURN
5740 X$=LEFT$(ZZ$,G-1):ZZ$=MID$(ZZ$,G,LEN(ZZ$)-G+1)
5750 GOSUB5770
5760 Y$=ZZ$:G=3:RETURN
5770 FORI=1 TOB
5780 IFLEFT$(ZZ$,1)<>" " THENI=B:GOTO5800
5790 ZZ$=MID$(ZZ$,2,LEN(ZZ$)-1)
5800 NEXTI
5810 RETURN
5820 TT=0:DW=0:L=1
5830 IFLEN(ZZ$)=0 THENTT=1:RETURN
5840 FORI=LEN(ZZ$) TO1 STEP-1
5850 D$=MID$(ZZ$,I,1)
5860 ONU GOSUB5910,5940,5970
5870 IFTT=1 THENI=1:GOTO5890
5880 DW=DW+M*L:L=L*TS
5890 NEXTI
5900 RETURN
5910 IF(D$<>"1") AND(D$<>"0") THENTT=1:RETURN
5920 M=VAL(D$)
5930 RETURN
5940 IF(D$<"0") OR(D$>"9") THENTT=1:RETURN
5950 M=VAL(D$)
5960 RETURN
5970 IF(D$>="0") AND(D$<="9") THEN6000
5980 IF(D$>="A") AND(D$<="F") THEN6010
5990 TT=1:RETURN
6000 M=VAL(D$):RETURN
6010 M=ASC(D$)-ASC("A")+10
6020 RETURN
6030 U=0:IFLEN(ZZ$)<2 THENTT=1:RETURN
6040 D$=RIGHT$(ZZ$,1):ZZ$=LEFT$(ZZ$,LEN(ZZ$)-1):TT=0
6050 IFD$="B" THENU=1:TS=2:RETURN
6060 IFD$="D" THENU=2:TS=10:RETURN
6070 IFD$="H" THENU=3:TS=16:RETURN
6080 TT=1:RETURN
6090 Z$=D$:DW=INT(AD/256):GOSUB7290:R$=D$
6100 DW=AD-DW*256:GOSUB7290:R$=R$+D$:D$=Z$
6110 RETURN
6120 GOSUB6030:D$="C"
6130 IFTT=0 THEN6210
6140 W2$=W$:X2$=X$:Y2$=Y$:D$="L"
6150 FORJ=1 TOK-1
6160 IFS(J)<3000 THEN6190
6170 ZZ$=PR$(J):GOSUB5600
6180 IFW$=X2$ THENDW=S(J)-3000:J=K-1:TT=0:D$="C"
6190 NEXTJ
6200 W$=W2$:X$=X2$:Y$=Y2$:RETURN
6210 GOSUB5820:RETURN
6220 ZZ$=X$:Z$=",":GOSUB5420:TT=0
6230 IFG<2 THENTT=1:RETURN
6240 IF(LEN(X$)=G) THENTT=1:RETURN
6250 D$=LEFT$(X$,G-1):X3$=RIGHT$(X$,LEN(X$)-G)
6260 IFG=2 THEN6290
6270 IF(D$<>"SP") OR(Z=33) THENTT=1:RETURN
6280 B$="31":RETURN
6290 IF(D$<"A") OR(D$>"M") THENTT=1:RETURN
6300 G=ASC(D$)-ASC("A")+1
6310 IFZ=34 THENG=G+13
6320 IFG>21 THENTT=1:RETURN
6330 ZZ$="3E060E161E0000260000002E360001001100000021"
6340 B$=MID$(ZZ$,G*2-1,2)
6350 IFB$="00" THENTT=1
6360 RETURN
6370 HO=15:VE=0:GOSUB110
6380 GOSUB110:PRINT"WACHTEN ! ":TT=0:BB=1
6390 HO=29:VE=16:GOSUB110:PRINTR$
6400 DW=G:GOSUB7290:HO=13:VE=11:GOSUB110:PRINTD$;" "
6410 HO=24:VE=11:GOSUB110
6420 PRINT" ":GOSUB110
6430 IF(L1<>0) OR(L3<>6) THEN6450
6440 PRINT"MVI ";RI$(L2);",data8":GOTO6630
6450 IF(L1<>0) OR(L3<>1) OR(L5<>0) THEN6480
6460 PRINT"LXI ";:IFL4=3 THENPRINT"SP,data16":GOTO6630
6470 PRINTRI$(L4*2);",data16":GOTO6630
6480 IFD$="D3" THENPRINT"OUT poortnr.":GOTO6630
6490 IFD$="DB" THENPRINT"IN poortnr.":GOTO6630
6500 RESTORE
6510 FORI=1 TO228
6520 READB$,ZZ$
6530 IFZZ$=D$ THENJ=I:I=240
6540 NEXTI
6550 IF(I<230) OR(ZZ$="FF") THENTT=1:GOTO6630
6560 IFJ<23 THENPRINTB$;" adres":GOTO6630
6570 IFJ<33 THENPRINTB$;" data8":GOTO6630
6580 IFJ<62 THENPRINTB$:GOTO6630
6590 IF(J<125) OR(J>132) THEN6620
6600 PRINTLEFT$(B$,4);" ";RIGHT$(B$,LEN(B$)-4)
6610 GOTO6630
6620 PRINTLEFT$(B$,3);" ";RIGHT$(B$,LEN(B$)-3)
6630 RETURN
6640 IFTE=0 THENTT=1:RETURN
6650 IFP=0 THENTT=0:RETURN
6660 PRINT"FOUTEN VERWIJDEREN EN/OF VERTALEN !"
6670 TT=1:RETURN
6680 HO=4:VE=16:GOSUB110:PRINTD$
6690 HO=15:GOSUB110:DW=RE(7):GOSUB7290:PRINTD$
6700 HO=27:VE=18:GOSUB110:DW=RE(4):GOSUB7290:PRINTD$
6710 HO=34:GOSUB110:DW=RE(5):GOSUB7290:PRINTD$
6720 VE=20:GOSUB110:DW=RE(3):GOSUB7290:PRINTD$
6730 HO=27:GOSUB110:DW=RE(2):GOSUB7290:PRINTD$
6740 VE=22:GOSUB110:DW=RE(0):GOSUB7290:PRINTD$
6750 HO=34:GOSUB110:DW=RE(1):GOSUB7290:PRINTD$
6760 HO=1:VE=23:GOSUB110
6770 SR=S:GOSUB300:PRINT"S=";SR$;
6780 SR=Z:GOSUB300:PRINT" Z=";SR$;
6790 SR=A:GOSUB300:PRINT" A=";SR$;
6800 SR=P:GOSUB300:PRINT" P=";SR$;
6810 SR=C:GOSUB300:PRINT" C=";SR$;:GOSUB5380:RETURN
6820 TT=1:IFIN$="1" THENS=1-S:GOTO6760
6830 IFIN$="2" THENZ=1-Z:GOTO6760
6840 IFIN$="3" THENA=1-A:GOTO6760
6850 IFIN$="4" THENP=1-P:GOTO6760
6860 IFIN$="5" THENC=1-C:GOTO6760
6870 TT=0:IF(IN$<"A") OR(IN$>"H") THENRETURN
6880 A1=ASC(IN$)-ASC("A"):VE=A1+1:A1=2^A1
6890 G=INT(BI/A1):A2=INT(G/2)*2
6900 IFG=A2 THENBI=BI+A1:G=1:GOTO6920
6910 BI=BI-A1:G=0
6920 HO=4:GOSUB110
6930 FORJ=1 TO5
6940 PRINT" ";:GOSUB110
6950 FORA2=1 TO50:NEXTA2
6960 PRINT"-------->";:GOSUB110
6970 FORA2=1 TO50:NEXTA2
6980 NEXTJ:TT=1
6990 SR=G:GOSUB300
7000 HO=16:GOSUB110:PRINTSR$:RETURN
7010 HO=10:VE=0:GOSUB110:DW=B1:GOSUB7290
7020 PRINTD$:D$="00":RETURN
7030 AD=PC:GOSUB6090:HO=29:VE=16:GOSUB110:PRINTR$:RETURN
7040 A1=BO:HO=33:VE=0:GOSUB110:DW=B2
7050 GOSUB7290:PRINTD$:D$="00"
7060 FORI=1 TO8
7070 G=A1-INT(A1/2)*2
7080 SR=G:GOSUB300
7090 HO=22:VE=I:GOSUB110:PRINTSR$
7100 IFG=1 THENGOSUB250:GOSUB7130
7110 A1=INT(A1/2)
7120 NEXTI:RETURN
7130 HO=26:VE=I:GOSUB110
7140 FORJ=1 TO5
7150 PRINT" ";:GOSUB110
7160 FORA2=1 TO50:NEXTA2
7170 PRINT"-------->";:GOSUB110
7180 FORA2=1 TO50:NEXTA2
7190 NEXTJ:RETURN
7200 GOSUB7290:HO=16:VE=11:GOSUB110:PRINTD$
7210 D$="00":RETURN
7220 GOSUB7290:HO=19:VE=11:GOSUB110:PRINTD$
7230 D$="00":RETURN
7240 A1=RE(8):C=A1-INT(A1/2)*2
7250 A1=INT(A1/4):P=A1-INT(A1/2)*2
7260 A1=INT(A1/4):A=A1-INT(A1/2)*2
7270 A1=INT(A1/4):Z=A1-INT(A1/2)*2
7280 A1=INT(A1/2):S=A1-INT(A1/2)*2:RETURN
7290 SR=INT(DW/16):ZZ$="ABCDEF"
7300 IFSR<10 THENGOSUB300:D$=SR$:GOTO7320
7310 D$=MID$(ZZ$,SR-9,1)
7320 SR=DW-SR*16
7330 IFSR<10 THENGOSUB300:D$=D$+SR$:RETURN
7340 D$=D$+MID$(ZZ$,SR-9,1):RETURN
7350 HO=4:VE=0:GOSUB110:PRINT"INPUT 00 ";
7360 PRINT"OUTPUT 00":ZZ$="--------":HO=0
7370 FORI=0 TO7
7380 SR=I:GOSUB300
7390 PRINT"B";SR$;" ";ZZ$;"> ( 0 ) ( 0 ) ";ZZ$;"> B";SR$
7400 NEXTI
7410 VE=10:GOSUB110
7420 PRINT"INSTRUCTIE ";ZZ$;ZZ$;ZZ$;"----"
7430 PRINT" REGISTER *":HO=22:VE=11:GOSUB110
7440 PRINT"*":HO=38:GOSUB110:PRINT"*"
7450 PRINT"+ DECODING ";ZZ$;ZZ$;ZZ$;"----"
7460 HO=3:VE=14:GOSUB110:PRINT"AUX.":HO=14:GOSUB110
7470 PRINT"ACCU":HO=25:GOSUB110:PRINT"PROGR. TELLER"
7480 HO=1:VE=15:GOSUB110:PRINTZZ$;" ";ZZ$
7490 VE=17:GOSUB110:PRINTZZ$;" ";ZZ$
7500 HO=25:ZZ$=ZZ$+"-----"
7510 FORI=15 TO23 STEP2
7520 VE=I:GOSUB110:PRINTZZ$;
7530 NEXTI
7540 HO=1:VE=16:GOSUB110:PRINT"*":HO=8:GOSUB110:PRINT"*"
7550 HO=12:GOSUB110:PRINT"*":HO=19:GOSUB110:PRINT"*"
7560 HO=25:GOSUB110:PRINT"*":HO=37:GOSUB110:PRINT"*"
7570 HO=1:VE=18:GOSUB110:PRINT"******** ******** H"
7580 PRINT" *":PRINT" *":PRINT" *"
7590 PRINT" *********** B"
7600 HO=9:VE=19:GOSUB110:PRINT"* * *":VE=20:GOSUB110
7610 PRINT" * * D":VE=21:GOSUB110
7620 PRINT"ALU *":VE=18:HO=31:GOSUB110:PRINT"* L"
7630 VE=20:GOSUB110:PRINT"* E"
7640 VE=22:GOSUB110:PRINT"* C"
7650 RETURN
7660 TT=0:IF(SP>W-1) OR(SP<2) THENTT=1
7670 RETURN
7680 DW=GE(PC):GOSUB7200:DW=GE(PC+1):GOSUB7220:RETURN
7690 PRINT"MET DE TOETS S KUNT U"
7700 PRINT"SINGLE STEP STOPPEN"
7710 PRINT:PRINT"MET DE TOETS Z KUNT U TIJDENS"
7720 PRINT"SINGLE STEP EEN GEHEUGEN DUMP OPVRAGEN"
7730 PRINT:PRINT"GEBRUIK SPATIEBALK VOOR SINGLE STEP"
7740 HO=0:VE=20:GOSUB110:PRINT"<TOETS VOOR VERVOLG>";
7750 GOSUB210:GOSUB100:RETURN
7760 GOSUB100:PRINT:PRINT"S = STOP":PRINT
7770 PRINT"SPATIEBALK = REGEL VOOR REGEL VERDER":PRINT
7780 PRINT:PRINT"VANAF WELK ADRES ?";:INPUTZZ$
7790 GOSUB6030:IF(TT=1) OR(U=1) THEN8010
7800 GOSUB5820:IFTT=1 THEN8010
7810 IFDW>W THEN8010
7820 GOSUB100:G=DW+18
7830 PRINT"ADRES DEC. HEX. BINAIR":PRINT
7840 FORI=DW TOW
7850 IFU=3 THENAD=I:GOSUB6090
7860 IFU<>2 THEN7890
7870 SR=I:GOSUB300:R$=SR$
7880 IFLEN(R$)<4 THENR$="0"+R$:GOTO7880
7890 DW=GE(I):GOSUB7290
7900 SR=DW:GOSUB300:S$=SR$
7910 IFLEN(S$)<3 THENS$="0"+S$:GOTO7910
7920 Z$=""
7930 FORJ=1 TO8
7940 SR=DW-INT(DW/2)*2:GOSUB300
7950 Z$=SR$+Z$:DW=INT(DW/2)
7960 NEXTJ
7970 IFI>G THENGOSUB210:IFIN$="S" THENI=W+5
7980 PRINTR$;" ";S$;" ";D$;" ";Z$
7990 NEXTI
8000 IFI<(W+5) THENGOSUB210
8010 GOSUB100:PRINT:PRINT:IFSS=1 THENGOSUB7350
8020 RETURN
8030 PRINT"8085-SIMULATOR"
8040 PRINT"KLAAR VOOR INVOER":PRINT:PRINT:RETURN
8050 PRINT"**FOUT IN REGEL ";K;"**":S(K)=2700:P=P+1:RETURN
8060 PRINT:PRINT"OPDRACHT IN REGEL ";K
8070 PRINT"IS NIET TOEGESTAAN":PRINT:P=P+1:S(K)=2700:RETURN
8080 K=TE+2:PRINT"ADRES TE HOOG":RETURN
8090 PRINT"LABEL FOUT IN REGEL ";K:P=P+1:RETURN
25000 DATA"LDA","3A","LHLD","2A","STA","32","SHLD","22"
25010 DATA"JMP","C3","JNZ","C2","JZ","CA","JNC","D2"
25020 DATA"JC","DA","JPO","E2","JPE","EA","JP","F2"
25030 DATA"JM","FA","CALL","CD","CNZ","C4","CZ","CC"
25040 DATA"CNC","D4","CC","DC","CPO","E4","CPE","EC"
25050 DATA"CP","F4","CM","FC"
25060 DATA"OUT","D3","IN","DB","ANI","E6","ORI","F6"
25070 DATA"XRI","EE","CPI","FE","ADI","C6","ACI","CE"
25080 DATA"SUI","D6","SBI","DE","MVI","FF","LXI","FF"
25090 DATA"SIM","FF","RIM","FF","EI","FF","DI","FF"
25100 DATA"SPHL","F9","XTHL","E3","XCHG","EB","CMA","2F"
25110 DATA"RLC","07","RRC","0F","RAL","17","RAR","1F"
25120 DATA"PCHL","E9","RET","C9","RNZ","C0","RZ","C8"
25130 DATA"RNC","D0","RC","D8","RPO","E0","RPE","E8"
25140 DATA"RP","F0","RM","F8","DAA","27","STC","37"
25150 DATA"CMC","3F","NOP","00","HLT","76"
25160 DATA"MOVA,A","7F","MOVA,B","78","MOVA,C","79"
25170 DATA"MOVA,D","7A","MOVA,E","7B","MOVA,H","7C"
25180 DATA"MOVA,L","7D","MOVB,A","47","MOVB,B","40"
25190 DATA"MOVB,C","41","MOVB,D","42","MOVB,E","43"
25200 DATA"MOVB,H","44","MOVB,L","45","MOVC,A","4F"
25210 DATA"MOVC,B","48","MOVC,C","49","MOVC,D","4A"
25220 DATA"MOVC,E","4B","MOVC,H","4C","MOVC,L","4D"
25230 DATA"MOVD,A","57","MOVD,B","50","MOVD,C","51"
25240 DATA"MOVD,D","52","MOVD,E","53","MOVD,H","54"
25250 DATA"MOVD,L","55","MOVE,A","5F","MOVE,B","58"
25260 DATA"MOVE,C","59","MOVE,D","5A","MOVE,E","5B"
25270 DATA"MOVE,H","5C","MOVE,L","5D","MOVH,A","67"
25280 DATA"MOVH,B","60","MOVH,C","61","MOVH,D","62"
25290 DATA"MOVH,E","63","MOVH,H","64","MOVH,L","65"
25300 DATA"MOVL,A","6F","MOVL,B","68","MOVL,C","69"
25310 DATA"MOVL,D","6A","MOVL,E","6B","MOVL,H","6C"
25320 DATA"MOVL,L","6D","MOVA,M","7E","MOVB,M","46"
25330 DATA"MOVC,M","4E","MOVD,M","56","MOVE,M","5E"
25340 DATA"MOVH,M","66","MOVL,M","6E","MOVM,A","77"
25350 DATA"MOVM,B","70","MOVM,C","71","MOVM,D","72"
25360 DATA"MOVM,E","73","MOVM,H","74","MOVM,L","75"
25370 DATA"LDAXB","0A","LDAXD","1A","STAXB","02","STAXD"
25380 DATA"12","PUSHPSW","F5","PUSHB","C5","PUSHD","D5"
25390 DATA"PUSHH","E5","POPPSW","F1","POPB","C1","POPD","D1"
25400 DATA"POPH","E1","ANAA","A7","ANAB","A0","ANAC","A1"
25410 DATA"ANAD","A2","ANAE","A3","ANAH","A4","ANAL","A5"
25420 DATA"ANAM","A6","ORAA","B7","ORAB","B0","ORAC","B1"
25430 DATA"ORAD","B2","ORAE","B3","ORAH","B4","ORAL","B5"
25440 DATA"ORAM","B6","XRAA","AF","XRAB","A8","XRAC","A9"
25450 DATA"XRAD","AA","XRAE","AB","XRAH","AC","XRAL","AD"
25460 DATA"XRAM","AE","CMPA","BF","CMPB","B8","CMPC","B9"
25470 DATA"CMPD","BA","CMPE","BB","CMPH","BC","CMPL","BD"
25480 DATA"CMPM","BE","ADDA","87","ADDB","80","ADDC","81"
25490 DATA"ADDD","82","ADDE","83","ADDH","84","ADDL","85"
25500 DATA"ADDM","86","ADCA","8F","ADCB","88","ADCC","89"
25510 DATA"ADCD","8A","ADCE","8B","ADCH","8C","ADCL","8D"
25520 DATA"ADCM","8E","SUBA","97","SUBB","90","SUBC","91"
25530 DATA"SUBD","92","SUBE","93","SUBH","94","SUBL","95"
25540 DATA"SUBM","96","SBBA","9F","SBBB","98","SBBC","99"
25550 DATA"SBBD","9A","SBBE","9B","SBBH","9C","SBBL","9D"
25560 DATA"SBBM","9E","INRA","3C","INRB","04","INRC","0C"
25570 DATA"INRD","14","INRE","1C","INRH","24","INRL","2C"
25580 DATA"INRM","34","DCRA","3D","DCRB","05","DCRC","0D"
25590 DATA"DCRD","15","DCRE","1D","DCRH","25","DCRL","2D"
25600 DATA"DCRM","35","DADB","09","DADD","19","DADH","29"
25610 DATA"DADSP","39","DCXB","0B","DCXD","1B","DCXH","2B"
25620 DATA"DCXSP","3B","INXB","03","INXD","13","INXH","23"
25630 DATA"INXSP","33"
25640 REM
25650 REM A COMMEREN
25660 REM WEIDE 120
25670 REM 5103 HZ DONGEN
30000 REM COPYRIGHT NOS HILVERSUM