home *** CD-ROM | disk | FTP | other *** search
- 1 DIMA$,Q,P,R,Z$,K,E,I,I$,L,Z,P$,Q$,J,M,H%,F,N,H$,O$,N$,E$,H,T$,V$,A,D,X%,X,C,O
- 3 DIMF%,S,BC,W,L%,V,BF,BI,B,B$,M$,C$,D$,F$,G,BE,B%,P%,R%,U,V%,Y,J$,K$,G$,S$,U$
- 5 READO,A,H,T$,V$,B$,G,J$,K$,L$,R$,I$,BL$
- 7 DIMOF,HF,AF,A%(O),M$(O),B(O),E(O),I(A),O(A):GOTO531
- 9 :
- 11 REM COMMON SUBROUTINES
- 13 :
- 15 REM FETCH OPCODE FROM ML FILE
- 17 :
- 19 GET#1,A$:R=ST:Q=ASC(A$+Z$):P=P+1:RETURN
- 21 :
- 23 REM GET MNEMONIC AND ADDRESSING MODE
- 25 :
- 27 N$=M$(Q):N=A%(Q):RETURN
- 29 :
- 31 REM FETCH 1-BYTE OPERAND
- 33 :
- 35 GOSUB19:K=Q:H=1:GOTO51
- 37 :
- 39 REM FETCH 2-BYTE OPERAND
- 41 :
- 43 GOSUB19:Z=Q:GOSUB19:Z=Z+Q*O:K=Z:H=3
- 45 :
- 47 REM CONVERT K TO HEX$
- 49 :
- 51 H$="":FORM=.TOH:D=K:K=INT(D/16):D=D-K*16:H$=CHR$(D+48-7*(D>9))+H$:NEXT
- 53 RETURN
- 55 :
- 57 REM OUTPUT SUBROUTINES
- 59 :
- 61 REM CONSTRUCT OUTPUT STRING
- 63 :
- 65 L=L+1:IFL>GTHENL=G
- 67 :
- 69 PRINTL;:IFL>=STHENK=L:H=3:GOSUB51:PRINTT$H$I$;
- 71 PRINTP$:ON-(O$="D")GOTO79:ON-(O$="P")GOTO93:RETURN
- 73 :
- 75 REM WRITE OUTPUT TO DISK FILE
- 77 :
- 79 IFF%THENIFL>=STHENP$=T$+H$+I$+P$
- 81 H%=L/O:F=L-H%*O:PRINT#2,""CHR$(F)CHR$(H%)P$Z$;
- 83 C=C+5+LEN(P$):IFC>ATHENGOSUB477
- 85 GOTO103
- 87 :
- 89 REM WRITE OUTPUT TO PRINTER
- 91 :
- 93 IFL>=STHENP$=T$+H$+I$+P$
- 95 PRINT#2,MID$(STR$(L),2)I$P$
- 97 :
- 99 REM CHECK COMMAND CHANNEL
- 101 :
- 103 INPUT#3,K,E$,D,D:IFKTHENPRINTE$:IFK=72GOTO113
- 105 RETURN
- 107 :
- 109 REM DISK FULL
- 111 :
- 113 C=.:P$=B$:L=L+1:H%=L/O:F=L-H%*O:PRINT#2,""CHR$(F)CHR$(H%)P$Z$;
- 115 G$=C$+MID$(STR$(R%),2):P$=".FILE "+G$:L=L+1:H%=L/O:F=L-H%*O
- 117 PRINT#2,""CHR$(F)CHR$(H%)P$Z$Z$Z$;:CLOSE2:IFOF=8THENCLOSE1:CLOSE3:END
- 119 PRINT"REPLACE DISK IN"OF"AND PRESS A KEY":POKE198,0:WAIT197,64,64:GOTO479
- 121 :
- 123 REM CLEAR/SET FLAG FOR LABELLING OUTSIDE ADDRESSES
- 125 :
- 127 X=.:IF(X%)ORN=2THENIFJ<>32ANDJ<>76ANDJ<>108THENX=1
- 129 RETURN
- 131 :
- 133 REM INCREMENT POINTER INTO TABLE OF BYTE BLOCKS
- 135 :
- 137 IFP>B(W)THENW=W+1:GOTO137
- 139 RETURN
- 141 :
- 143 REM PASS 2 SUBROUTINES
- 145 :
- 147 REM DISCARD BYTES IN BYTE TABLE
- 149 :
- 151 GOSUB137:PRINTR$"S"E(W)-B(W)+1;:IFP+1>E(W)THENRETURN
- 153 FORI=P+1TOE(W):GOSUB19:NEXT:RETURN
- 155 :
- 157 REM 1-BYTE OPERANDS
- 159 :
- 161 GOSUB35:Z=Q:J=Q:IFN=3THENZ=P+Q+(Q>127)*O+1:K=Z:H=3:GOSUB51:PRINTT$H$" ";
- 163 IF(N=3)AND(Z<SORZ>E)THENRETURN
- 165 IFN<>3THENPRINTT$H$" ";:GOTO197
- 167 GOTO183
- 169 :
- 171 REM 2-BYTE OPERANDS
- 173 :
- 175 GOSUB43:PRINTT$H$" ";:IFZ<SORZ>EGOTO197
- 177 :
- 179 REM LOCATE OR ASSIGN INTERNAL ADDRESS LABEL
- 181 :
- 183 FORI=VTO.STEP-1:IFZ<I(I)GOTO189
- 185 IFZ=I(I)THENI=.:PRINT"[186]I";:GOTO189
- 187 FORQ=V+1TOI+2STEP-1:I(Q)=I(Q-1):NEXT:I(Q)=Z:I=.:V=V+1:PRINTV"INTERNAL";
- 189 NEXT:RETURN
- 191 :
- 193 REM LOCATE OR ASSIGN EXTERNAL ADDRESS LABEL
- 195 :
- 197 GOSUB127:ONXGOTO53:IFU=.ANDO(.)=.THENO(U)=Z
- 199 L%=1:FORI=.TOU:IFZ>O(I)GOTO207
- 201 IFZ=O(I)THENL%=.:I=U:PRINT"[186]O";:GOTO207
- 203 FORQ=U+1TOI+1STEP-1:O(Q)=O(Q-1):NEXT:O(Q)=Z:I=U:U=U+1:L%=.
- 205 PRINTU"EXTERNAL";
- 207 NEXT:IFL%THENO(I)=Z:U=U+1:PRINTU"EXTERNAL";
- 209 RETURN
- 211 :
- 213 REM PASS 4 SUBROUTINES
- 215 :
- 217 REM IMPLIED ADDRESSING
- 219 :
- 221 P$=LEFT$(Q$,LEN(Q$)-1):GOTO69
- 223 :
- 225 REM IMMEDIATE
- 227 :
- 229 GOSUB19:K=Q:H=1:GOSUB51:P$=Q$+"#$"+H$:GOTO69
- 231 :
- 233 REM RELATIVE
- 235 :
- 237 GOSUB19:Z=P+Q+(Q>127)*O+1:K=Z:H=3:GOSUB51:IFZ<SORZ>ETHENP$=Q$+T$+H$:GOTO69
- 239 P$=Q$+V$+H$:GOTO69
- 241 :
- 243 REM ZERO PAGE
- 245 :
- 247 GOSUB35:P$=Q$+"Z"+H$:GOTO69
- 249 :
- 251 REM ZERO PAGE,X
- 253 :
- 255 GOSUB35:P$=Q$+"Z"+H$+",X":GOTO69
- 257 :
- 259 REM ZERO PAGE,Y
- 261 :
- 263 GOSUB35:P$=Q$+"Z"+H$+",Y":GOTO69
- 265 :
- 267 REM ABSOLUTE
- 269 :
- 271 GOSUB43:P$=Q$+V$+H$:ON-(Z>=SANDZ<=E)GOTO69:GOSUB127:IFXTHENP$=Q$+T$+H$
- 273 GOTO69
- 275 :
- 277 REM ABSOLUTE,X
- 279 :
- 281 GOSUB43:P$=Q$+V$+H$+",X":IFZ>=SANDZ<=EGOTO69
- 283 GOSUB127:IFXTHENP$=Q$+T$+H$+",X
- 285 [137]69
- 287 :
- 289 [143] ABSOLUTE,Y
- 291 :
- 293 [141]43:P$[178]Q$[170]V$[170]H$[170]",Y":[139]Z[177][178]S[175]Z[179][178]E[137]69
- 295 [141]127:[139]X[167]P$[178]Q$[170]T$[170]H$[170]",Y
- 297 GOTO69
- 299 :
- 301 REM INDIRECT
- 303 :
- 305 GOSUB43:P$=Q$+"(AD"+H$+")":GOTO69
- 307 :
- 309 REM INDIRECT,X
- 311 :
- 313 GOSUB35:P$=Q$+"(Z"+H$+",X)":GOTO69
- 315 :
- 317 REM INDIRECT,Y
- 319 :
- 321 GOSUB35:P$=Q$+"(Z"+H$+"),Y":GOTO69
- 323 :
- 325 REM BYTE TABLES
- 327 :
- 329 GOSUB137:K=J:H=1:GOSUB51:P$=Q$+R$:AF=.
- 331 B=P:Q=J:S$=STR$(Q):M$=";47"+H$:U$="71"+CHR$(34):GOSUB369:HF=Q:GOTO359
- 333 GOSUB19:K=Q:H=1:GOSUB51:S$=S$+STR$(Q):M$=M$+I$+H$:GOSUB369:HF=HF+Q
- 335 IFP+1<I(I)GOTO349
- 337 L=B:P$=P$+S$:IFHFTHENP$=P$+M$
- 339 IFAFTHENP$=P$+U$
- 341 GOSUB69
- 343 B=P+1:K=B:H=3:GOSUB51:I=I+1
- 345 P$=V$+H$+I$+R$:S$="":M$=";46":U$="71"+CHR$(34):HF=.:AF=.
- 347 IFB>E(W)THENI=I-1:RETURN
- 349 IFP<B+7GOTO359
- 351 L=B:P$=P$+S$:IFHFTHENP$=P$+M$
- 353 IFAFTHENP$=P$+U$
- 355 GOSUB69
- 357 B=P+1:P$=R$:S$="":M$=";46":U$="71"+CHR$(34):HF=.:AF=.
- 359 IFP<E(W)GOTO333
- 361 L=B:P$=P$+S$:IFHFTHENP$=P$+M$
- 363 IFAFTHENP$=P$+U$
- 365 ON-(LEN(M$)>4)GOTO69:K=.:RETURN
- 367 :
- 369 IFQTHENIFQ>31ANDQ<123ORQ>192ANDQ<219THENU$=U$+CHR$(Q):AF=AF-(Q<>32):RETURN
- 371 U$=U$+".":RETURN
- 373 :
- 375 REM PASS 3 SUBROUTINES
- 377 :
- 379 REM DISCARD BYTES
- 381 :
- 383 GOSUB137:IFP+1>E(W)GOTO387
- 385 FORM=P+1TOE(W):GOSUB19:NEXT
- 387 W=W+1:RETURN
- 389 :
- 391 REM CHECK OFFSET LABEL FOR 1-BYTE OPERAND
- 393 :
- 395 IFP+1=I(I)THENGOSUB415
- 397 GOTO19
- 399 :
- 401 REM CHECK OFFSET LABEL FOR 2-BYTE OPERAND
- 403 :
- 405 IFP+1=I(I)ORP+2=I(I)THENGOSUB415:GOTO405
- 407 GOSUB19:GOTO19
- 409 :
- 411 REM ADD OFFSET LABEL TO TABLE
- 413 :
- 415 V%=V%+1:U=U+1:O(U)=I(I):PRINTI(I)V%L$:I=I+1:RETURN
- 417 :
- 419 REM PASS 1 SUBROUTINES
- 421 :
- 423 REM CONSTRUCT BYTE TABLES
- 425 :
- 427 B=B-P*(B=.):GOSUB19:IFRTHENB=P+(P>G):GOTO435
- 429 B=B-P*(B=.):GOSUB19:IFRTHENB=P+(P>G):GOTO435
- 431 B=B-P*(B=.):IFRTHENB=P+(P>G):GOTO435
- 433 BI=BI+1:IFBI<BETHENRETURN
- 435 B=B-P*(B=.):PRINTB-1;B-B(W):E(W)=B+(R=.):BF=.:BI=.:B=.:W=W+1:RETURN
- 437 :
- 439 REM BYTE: RESET TABLES
- 441 :
- 443 BI=.:B=.:ON-(R<>.)GOTO435:RETURN
- 445 :
- 447 REM START BYTE TABLE, SET FLAG
- 449 :
- 451 B(W)=P:BF=1:BI=.:B=.:PRINTP;R$"S";:RETURN
- 453 :
- 455 REM INFREQUENT SUBROUTINES
- 457 :
- 459 REM NEW PASS, GET TO START OF CODE
- 461 :
- 463 P%=P%+1:PRINT"PASS"P%"":P=Y-3
- 465 CLOSE1:OPEN1,8,2,F$:GOSUB43:IFP%<1GOTO103
- 467 IFP<(S-1)THENGOSUB19:GOTO467
- 469 GOTO103
- 471 :
- 473 REM CLOSE DISK FILE AND OPEN ANOTHER
- 475 :
- 477 C=.:P$=B$:GOSUB65:G$=C$+MID$(STR$(R%),2):P$=".FILE "+G$:GOSUB65:GOSUB499
- 479 GOSUB487:PRINT#2,"";:L=L-3:P$=B$+G$:GOTO69
- 481 :
- 483 REM OPEN OUTPUT FILE
- 485 :
- 487 IFO$="D"THENP$="0:"+G$+",P,W":R%=R%+1:OPEN2,OF,3,P$:C=2:GOTO103
- 489 IFO$="P"THENOPEN2,4,7:PRINT#2,MID$(F$,3,LEN(F$)-6)": [196]ECODE V2.0
- 491 [142]
- 493 :
- 495 [143] CLOSE DISK FILE
- 497 :
- 499 [152]2,Z$Z$;:[160]2:[137]103
- 501 :
- 503 [143] TRANSLATE DECIMAL OR HEX INPUT
- 505 :
- 507 K[178].:[145][171]([200](D$,1)[178]T$)[137]515:K[178][197](D$):[142]
- 509 :
- 511 [143] HEX INPUT
- 513 :
- 515 D$[178][201](D$,[195](D$)[171]1):[139][195](D$)[178].[167][142]
- 517 :
- 519 [129]H[178]1[164][195](D$):D[178][198]([202](D$,H,1)):D[178]D[171]48[170]7[172](D[177]57):K[178]K[170]D[172](16[174]([195](D$)[171]H))
- 521 [130]:D$[178]"":[142]
- 523 :
- 525 :
- 527 [143] INITIALIZATION
- 529 :
- 531 Z$[178][199](.):R%[178]1:A[178]38000:OF[178]8:J$[178]J$[170]I$:K$[178]K$[170]I$:L$[178]L$[170]I$:I$[178]" ":[129]I[178]1[164]151
- 533 [135]A$,Q,P:M$(P)[178]A$:A%(P)[178]Q:[130]:[153]"LOAD"BL$BL$" STR$ECODE V2.0 "
- 535 :
- 537 [143] GET USER OPTIONS AND DATA
- 539 :
- 541 [153]"ASSEMBLER FILE TO PWAITRINTER"
- 543 [133]"OR DWAITISK OR TO SWAITCREEN ONLY DCMDCMDCMD";O$
- 545 [139]O$[179][177]"P"[175]O$[179][177]"D"[175]O$[179][177]"S"[137]543
- 547 [139]O$[178]"D"[167][133]"OUTPUT DEVICE NUMBER 8CMDCMDCMD";D$:OF[178][197](D$):[139]OF[179]8[167]OF[178]8
- 549 [159]3,OF,15,"I0"
- 551 [133]"DECODE PROGRAM";C$:F$[178]"0:"[170]C$[170]",P,R":[141]465:Y[178]Z:[139]K[137]551
- 553 [153]"LOAD ADDRESS:"Y;T$H$:[153]BL$BL$BL$"CMD"H$
- 555 [133]"ONSTART DECODING AT $CMDCMDCMD";D$:[141]507:S[178]K[171]Y[172](K[178].)
- 557 [133]"DECODE THROUGH TO ENDCMDCMDCMDCMDCMD";D$:[141]507:E[178]K[171]G[172](K[178].):H[178]3
- 559 [139]O$[178]"S"[137]567
- 561 [153]" "BL$BL$[200](C$,10)"ON":[133]"ASSEMBLER FILE";C$
- 563 [139][195](C$)[177]10[137]561
- 565 [139]O$[178]"D"[167][133]"HEX ADDRS TO FILE NCMDCMDCMD";D$:[139]D$[178]"Y"[167]B%[178]1
- 567 [133]"LABEL ALL OUTSIDE YCMDCMDCMD";D$:X%[178][171](D$[178]"N"):[153]"$2C = BYTE OR SKW:
- 569 INPUT"CHANGE SKW TO BIT Y[157][157][157]";D$:A%(44)=-7*(D$="Y")
- 571 PRINT"ESCAPE BYTE BLOCK":PRINT"AFTER HOW MANY OP
- 573 [133]"CODES ENCOUNTERED 15CMDCMDCMDCMD";D$:[141]507:BE[178]K:[141]463
- 575 :
- 577 [143] PASS 1
- 579 :
- 581 [143] COUNT BYTES, IDENTIFY BYTE BLOCKS
- 583 :
- 585 [145][171]((P[177][178]E)[176](R[179][177].))[137]613:[141]19:[141]27:[139]BF[137]603
- 587 :
- 589 [143] MAIN LOOP EVALUATES OPCODES AND DISCARDS OPERANDS, FLAGS NON-OPCODE
- 591 :
- 593 [145]N[170]1[141]451,53,19,19,19,19,19,43,43,43,43,19,19
- 595 [137]585
- 597 :
- 599 [143] BYTE LOOP COUNTS BYTES, SEEKS SEQUENCE OF PROPERLY SPACED OPCODES
- 601 :
- 603 [145]N[170]1[141]443,431,429,429,429,429,429,427,427,427,427,429,429
- 605 [137]585
- 607 :
- 609 [143] PASS 1 COMPLETE, SET POINTERS
- 611 :
- 613 T[178]P[170](P[177]G):K[178]T:[141]51:E[178]E[171](T[171]G)[172](E[178]G):E(W)[178]E(W)[171]T[172](E(W)[178].):[153]
- 615 [153]"HIGH ADDRESS:"T"($"H$")":[153]"PROGRAM CODE:"T[171]Y[170]1"BYTES
- 617 IFS>=YANDS<TGOTO623
- 619 K=Y:GOSUB51:PRINTBL$BL$BL$"[157]"H$
- 621 INPUT"[145]START DECODING AT $[157][157][157]";D$:GOSUB507:S=K-Y*(K=.):GOTO617
- 623 IFE>=YANDE<=TGOTO633
- 625 INPUT"DECODE THROUGH TO END[157][157][157][157][157]";D$:GOSUB507:E=K-T*(K=.):GOTO623
- 627 :
- 629 REM PASS 2
- 631 :
- 633 GOSUB463:I(.)=S:V=1:I(V)=T:B(W+1)=G:E(W+1)=.:BC=W:W=.
- 635 :
- 637 REM CONSTRUCT LABEL TABLES
- 639 :
- 641 ON-(P>=E)GOTO653:GOSUB19:GOSUB27:J=Q:K=P:H=3:GOSUB51:PRINTP;T$H$I$N$I$;
- 643 ONN+1GOSUB151,53,161,161,161,161,161,175,175,175,175,161,161
- 645 PRINT:GOTO641
- 647 :
- 649 REM PASS 2 COMPLETE
- 651 :
- 653 PRINT:PRINTV;J$:PRINTU;K$:I(V+1)=G:O(U+1)=G
- 655 :
- 657 REM PASS 3
- 659 :
- 661 REM LOCATE OFFSET ADDRESSES
- 663 :
- 665 GOSUB463:I=.:W=.:IFV<2GOTO709
- 667 :
- 669 REM STEP THROUGH LABEL TABLES
- 671 :
- 673 ON-((P>I(V))OR(P>=E))GOTO697:GOSUB19:GOSUB27
- 675 :
- 677 IFP>I(I)THENI=I+1:GOTO677
- 679 IFP=I(I)THENI=I+1
- 681 :
- 683 REM MAIN LOOP FOR PASS 3
- 685 :
- 687 ONN+1GOSUB383,53,395,395,395,395,395,405,405,405,405,395,395
- 689 GOTO673
- 691 :
- 693 REM PASS 3 COMPLETE
- 695 :
- 697 IFV%THENPRINTV%L$
- 699 :
- 701 REM PASS 4
- 703 :
- 705 REM OPEN OUTPUT FILE
- 707 :
- 709 GOSUB463:C$=C$+".SRC":G$=C$:GOSUB487:L=9:W=.:K=P+1:GOSUB51:H=1
- 711 :
- 713 REM SCREEN OR PRINTER INITIALIZATION
- 715 :
- 717 IFO$<>"D"THENP$="*= $"+H$+I$+C$:GOSUB69:ON-(U=.)GOTO781:GOTO735
- 719 :
- 721 REM DISK OUTPUT INITIALIZATION
- 723 :
- 725 PRINT#2,"";:P$="[172]= $"+H$:GOSUB65:P$=B$+C$:GOSUB65:P$=B$:GOSUB65
- 727 P$=";.D R/"+MID$(F$,3,LEN(F$)-6):GOSUB65:P$=".S":GOSUB65:IFU=.GOTO781
- 729 :
- 731 REM LABEL TABLES: ZERO PAGE
- 733 :
- 735 P$=B$:GOSUB65:P$=";ZERO PAGE":GOSUB65
- 737 FORI=.TOU:K=O(I):IFK>=OTHENI=U:GOTO741
- 739 GOSUB51:P$="Z"+H$+" = $"+H$:GOSUB65
- 741 NEXT
- 743 :
- 745 REM LABEL TABLES: OUTSIDE LABELS AND OFFSET LABELS
- 747 :
- 749 H=3:P$=B$:GOSUB65:P$=B$+K$:GOSUB65:X=.:FORI=1TOU:K=O(I):IFK<OGOTO757
- 751 GOSUB51:IFI=U-V%+1THENP$=B$:GOSUB65:P$=B$+L$:GOSUB65:X=1
- 753 P$=V$+H$+" = $"+H$:IFXTHENP$=P$+B$+STR$(O(I))
- 755 GOSUB65
- 757 NEXT:X=.
- 759 :
- 761 REM BYTE BLOCKS
- 763 :
- 765 P$=B$:GOSUB65:IFBC=.GOTO781
- 767 P$=";BYTE BLOCKS":GOSUB65:FORI=.TOBC-1:K=B(I):GOSUB51
- 769 P$="; $"+H$+"-$":K=E(I):GOSUB51
- 771 P$=P$+H$+" AT"+STR$(B(I))+" ("+MID$(STR$(E(I)-B(I)+1),2)+")"
- 773 GOSUB65:NEXT:P$=B$:GOSUB65
- 775 :
- 777 REM INITIALIZE INDICES
- 779 :
- 781 I=.:F%=B%
- 783 :
- 785 REM DECODE PROGRAM
- 787 :
- 789 ON-(P>=E)GOTO825:GOSUB19:J=Q:GOSUB27:L=P:Q$="":M$="
- 791 :
- 793 [143] CHECK POINTERS TO TABLES AND START CONTRUCTING OUTPUT STRING
- 795 :
- 797 [139]P[177]I(I)[167]I[178]I[170]1:[137]797
- 799 [139]P[178]I(I)[167]K[178]P:H[178]3:[141]51:Q$[178]V$[170]H$[170]I$:I[178]I[170]1
- 801 :
- 803 [143] ADD MNEMONIC TO STRING
- 805 :
- 807 [139]N[167]Q$[178]Q$[170]N$[170]I$
- 809 :
- 811 [143] FETCH OPERAND AND ADD TO OUTPUT STRING
- 813 :
- 815 [145]N[170]1[141]329,221,229,237,247,255,263,271,281,293,305,313,321
- 817 [137]789
- 819 :
- 821 [143] PASS 4 COMPLETE, CLOSE OUTPUT
- 823 :
- 825 P$[178]B$:[141]65:P$[178]".END "[170]C$:[139]O$[178]"D"[167]P$[178]"."[170][199](128)[170]I$[170]C$
- 827 [141]65:[145][171](O$[178]"D")[141]499:[160]1:[160]2:[160]3:[153]" COMPLETE
- 829 :
- 831 :
- 833 REM VARIABLE DATA: O,A,H,T$,V$,B$,G,J$,K$,L$,R$,I$,BL$
- 835 :
- 837 DATA256,1600,3,$,AD,;,65535,INSIDE,OUTSIDE,OFFSET,.BYTE," LABELS"," "
- 839 :
- 841 REM ADDRESSING MODE ASSIGNMENTS
- 843 :
- 845 REM 0 = BYTE DATA
- 847 REM 1 = IMPLIED
- 849 REM 2 = IMMEDIATE
- 851 REM 3 = RELATIVE
- 853 REM 4 = ZERO PAGE
- 855 REM 5 = ZERO PAGE,X
- 857 REM 6 = ZERO PAGE,Y
- 859 REM 7 = ABSOLUTE
- 861 REM 8 = ABSOLUTE,X
- 863 REM 9 = ABSOLUTE,Y
- 865 REM 10 = INDIRECT
- 867 REM 11 = INDIRECT,X
- 869 REM 12 = INDIRECT,Y
- 871 :
- 873 REM MNEMOMIC,ADDRESSING MODE, OPCODE
- 875 :
- 877 DATABRK, 0, 0,ORA,11, 1,ORA, 4, 5,ASL, 4, 6,PHP, 1, 8
- 879 DATAORA, 2, 9,ASL, 1, 10,ORA, 7, 13,ASL, 7, 14,BPL, 3, 16
- 881 DATAORA,12, 17,ORA, 5, 21,ASL, 5, 22,CLC, 1, 24,ORA, 9, 25
- 883 DATAORA, 8, 29,ASL, 8, 30,JSR, 7, 32,AND,11, 33,BIT, 4, 36
- 885 DATAAND, 4, 37,ROL, 4, 38,PLP, 1, 40,AND, 2, 41,ROL, 1, 42
- 887 DATABIT, 0, 44,AND, 7, 45,ROL, 7, 46,BMI, 3, 48,AND,12, 49
- 889 DATAAND, 5, 53,ROL, 5, 54,SEC, 1, 56,AND, 9, 57,AND, 8, 61
- 891 DATAROL, 8, 62,RTI, 1, 64,EOR,11, 65,EOR, 4, 69,LSR, 4, 70
- 893 DATAPHA, 1, 72,EOR, 2, 73,LSR, 1, 74,JMP, 7, 76,EOR, 7, 77
- 895 DATALSR, 7, 78,BVC, 3, 80,EOR,12, 81,EOR, 5, 85,LSR, 5, 86
- 897 DATACLI, 1, 88,EOR, 9, 89,EOR, 8, 93,LSR, 8, 94,RTS, 1, 96
- 899 DATAADC,11, 97,ADC, 4,101,ROR, 4,102,PLA, 1,104,ADC, 2,105
- 901 DATAROR, 1,106,JMP,10,108,ADC, 7,109,ROR, 7,110,BVS, 3,112
- 903 DATAADC,12,113,ADC, 5,117,ROR, 5,118,SEI, 1,120,ADC, 9,121
- 905 DATAADC, 8,125,ROR, 8,126,STA,11,129,STY, 4,132,STA, 4,133
- 907 DATASTX, 4,134,DEY, 1,136,TXA, 1,138,STY, 7,140,STA, 7,141
- 909 DATASTX, 7,142,BCC, 3,144,STA,12,145,STY, 5,148,STA, 5,149
- 911 DATASTX, 6,150,TYA, 1,152,STA, 9,153,TXS, 1,154,STA, 8,157
- 913 DATALDY, 2,160,LDA,11,161,LDX, 2,162,LDY, 4,164,LDA, 4,165
- 915 DATALDX, 4,166,TAY, 1,168,LDA, 2,169,TAX, 1,170,LDY, 7,172
- 917 DATALDA, 7,173,LDX, 7,174,BCS, 3,176,LDA,12,177,LDY, 5,180
- 919 DATALDA, 5,181,LDX, 6,182,CLV, 1,184,LDA, 9,185,TSX, 1,186
- 921 DATALDY, 8,188,LDA, 8,189,LDX, 9,190,CPY, 2,192,CMP,11,193
- 923 DATACPY, 4,196,CMP, 4,197,DEC, 4,198,INY, 1,200,CMP, 2,201
- 925 DATADEX, 1,202,CPY, 7,204,CMP, 7,205,DEC, 7,206,BNE, 3,208
- 927 DATACMP,12,209,CMP, 5,213,DEC, 5,214,CLD, 1,216,CMP, 9,217
- 929 DATACMP, 8,221,DEC, 8,222,CPX, 2,224,SBC,11,225,CPX, 4,228
- 931 DATASBC, 4,229,INC, 4,230,INX, 1,232,SBC, 2,233,NOP, 1,234
- 933 DATACPX, 7,236,SBC, 7,237,INC, 7,238,BEQ, 3,240,SBC,12,241
- 935 DATASBC, 5,245,INC, 5,246,SED, 1,248,SBC, 9,249,SBC, 8,253
- 937 DATAINC, 8,254
-