home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-scene-files / Coverdisks / CDU / V4D07.D64 / trace (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  3.4 KB  |  145 lines

  1. 10 BO=53280:BA=BO+1:DIMMI$(20):GOSUB100:GOSUB600:GOSUB300:GOSUB8000:GOTO9000
  2. 20 :
  3. 21 :
  4. 22 :
  5. 100 MI$(0)="         LDA #0    [161]"
  6. 110 MI$(1)="         STA TMP   [161]"
  7. 120 MI$(2)="         STA RES   [161]"
  8. 130 MI$(3)="         STA RES+1 [161]"
  9. 140 MI$(4)="         LDX #8    [161]"
  10. 150 MI$(5)="MULT     LSR MPR   [161]"
  11. 160 MI$(6)="         BCC SKIP [160][161]"
  12. 170 MI$(7)="         LDA RES   [161]"
  13. 180 MI$(8)="         CLC       [161]"
  14. 190 MI$(9)="         ADC MPD   [161]"
  15. 200 MI$(10)="         STA RES   [161]"
  16. 210 MI$(11)="         LDA RES+1 [161]"
  17. 220 MI$(12)="         ADC TMP   [161]"
  18. 230 MI$(13)="         STA RES+1 [161]"
  19. 240 MI$(14)="SKIP     ASL MPD   [161]"
  20. 250 MI$(15)="         ROL TMP   [161]"
  21. 260 MI$(16)="         DEX       [161]"
  22. 270 MI$(17)="         BNE MULT  [161]"
  23. 271 MI$(18)="         RTS       [161]"
  24. 275 E$="                                       "
  25. 280 RETURN
  26. 297 :
  27. 298 :
  28. 299 :
  29. 300 PRINTTAB(22)"   REGISTERS"
  30. 310 PRINTTAB(22)"[154]X REG.[146][151] 00001000"
  31. 320 PRINTTAB(22)"[150]A REG.[146][151] 00000000"
  32. 330 PRINTTAB(22)"[159]TMP.  [146][151] 00000000"
  33. 340 PRINTTAB(22)"[155]RES.  [146][151] 00000000"
  34. 350 PRINTTAB(22)"RES+1.[146][151] 00000000"
  35. 360 PRINTTAB(22)"[153]MPR.  [146][151] 00000011"
  36. 370 PRINTTAB(22)"MPD.  [146][151] 00000101"
  37. 380 PRINTTAB(22)"[152]C.FLAG[146][151] 0"
  38. 390 PRINTTAB(5)"[154] USE SPACE BAR TO RUN TRACE "
  39. 395 RETURN
  40. 490 :
  41. 495 :
  42. 500 GOSUB570:I=128
  43. 510 IFBYTEANDITHENPRINT"1";:GOTO530
  44. 520 PRINT"0";
  45. 530 I=I/2:IFI>.5THEN510
  46. 540 GOSUB580
  47. 550 RETURN
  48. 560 :
  49. 570 PRINT"":RR=PEEK(214):CC=PEEK(211):POKE214,X1:POKE211,29:SYS58640:RETURN
  50. 580 POKE214,RR:POKE211,CC:SYS58640:RETURN
  51. 590 :
  52. 591 :
  53. 592 :
  54. 600 POKEBO,6:POKEBA,6:PRINT"[147][158]   BASIC MACHINE LANGUAGE PROGRMMING"
  55. 610 PRINT"               TECHNIQUES"
  56. 615 PRINT"         MULTIPLICATION TRACER"
  57. 616 PRINT"         [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  58. 620 PRINT"TYPE IN MULTIPLICAND,PLEASE"
  59. 630 PRINT"RESTRICTED TO BETWEEN 1 AND 255"
  60. 635 INPUTMD:IF(MD<1)OR(MD>255)THENPRINT"[145][145]":GOTO635
  61. 640 PRINT"TYPE IN MULTIPLIER, PLEASE"
  62. 650 PRINT"RESTRICTED TO BETWEEN 1 AND 255"
  63. 655 INPUTMR:IF(MR<1)OR(MR>255)THENPRINT"[145][145]":GOTO655
  64. 660 M=0:Q=0:LL=MR:HH=MD:POKEBO,11:POKEBA,0:PRINT"[147]"
  65. 670 RETURN
  66. 700 GETA$:IFA$=""THEN700
  67. 710 AN=RH*256+RL
  68. 720 PRINT"[147]THE RESULT OF YOUR INPUT - ":PRINTHH"X"LL"="AN
  69. 730 PRINT"DO YOU WANT ANOTHER GO <Y=YES:N=NO>"
  70. 740 GETA$:IFA$=""THEN740
  71. 750 IFA$="Y"THENRUN
  72. 760 IFA$<>"N"THEN740
  73. 770 PRINT"[147][154]":POKEBO,14:POKEBA,6:END
  74. 997 :
  75. 998 :
  76. 999 :
  77. 1000 X1=4:A=0:BYTE=A:GOSUB500:RETURN
  78. 1010 X1=7:T1=0:BYTE=T1:GOSUB500:RETURN
  79. 1020 X1=10:RL=0:BYTE=RL:GOSUB500:RETURN
  80. 1030 X1=12:RH=0:BYTE=RH:GOSUB500:RETURN
  81. 1040 X1=2:X=8:BYTE=X:GOSUB500:RETURN
  82. 1050 IFMRAND1THENC=1:GOTO1070
  83. 1060 C=0
  84. 1070 MR=INT(MR/2)
  85. 1080 X1=15:BYTE=MR:GOSUB500
  86. 1090 X1=20:GOSUB570:IFCTHENPRINT"1":RETURN
  87. 1095 PRINT"0":RETURN
  88. 1100 IFC=0THENR1=R1+1:GOSUB8070:RB=14:GOSUB8080:
  89. 1101 RETURN
  90. 1110 X1=4:A=RL:BYTE=A:GOSUB500:RETURN
  91. 1120 C=0:X1=20:GOSUB570:PRINT"0":RETURN
  92. 1130 A=A+MD
  93. 1131 IFA>255THENC=1:A=A-256:GOSUB1090
  94. 1132 X1=4:BYTE=A:GOSUB500:RETURN
  95. 1140 RL=A:X1=10:BYTE=RL:GOSUB500:RETURN
  96. 1150 X1=4:A=RH:BYTE=A:GOSUB500:RETURN
  97. 1160 A=A+T1+C:X1=4:BYTE=A:GOSUB500:RETURN
  98. 1170 RH=A:X1=12:BYTE=RH:GOSUB500:RETURN
  99. 1180 IFMDAND128THENC=1:GOTO1200
  100. 1190 C=0
  101. 1200 MD=INT(MD*2):IFC=1THENMD=MD-256
  102. 1210 X1=17:BYTE=MD:GOSUB500
  103. 1220 X1=20:GOSUB570:IFCTHENPRINT"1":RETURN
  104. 1230 PRINT"0":RETURN
  105. 1250 CT=C:IFT1AND128THENC=1:GOTO1280
  106. 1270 C=0
  107. 1280 T1=INT(T1*2)+CT
  108. 1290 X1=7:BYTE=T1:GOSUB500
  109. 1300 X1=20:GOSUB570:IFCTHENPRINT"1":RETURN
  110. 1310 PRINT"0":RETURN
  111. 1320 X=X-1:X1=2:BYTE=X:GOSUB500
  112. 1330 IFX<>0THENZ=1:GOTO1350
  113. 1340 Z=0
  114. 1350 REM        X1=21:GOSUB570:IFXTHENPRINT"1":RETURN
  115. 1360 RETURN: PRINT"0":RETURN
  116. 1370 IFZ=1THENR1=R1+1:GOSUB8070:RB=5:GOSUB8080:RETURN
  117. 1380 Q=1:RETURN
  118. 1390 :
  119. 1391 :
  120. 1392 :
  121. 8000 LN=214:CB=198:MM=18:MN=0:FORI=0TO18:PRINT"";MI$(I):NEXT:POKELN,0:RB=MN:CL=MN
  122. 8010 GOSUB8080:GOSUB9500:RETURN
  123. 8011 :
  124. 8012 :
  125. 8020 GETA$:IFA$=""THEN8020
  126. 8030 IFA$<>" "THEN8020
  127. 8035 C1=CL:R1=RB
  128. 8040 RB=RB+1:REM    IFRB=MM+1THENQ=1
  129. 8045 IFMI$=E$THEN8020
  130. 8050 IF(C1<>CL)OR(R1<>RB)THENGOSUB8070:GOSUB8080
  131. 8060 M=RB:RETURN
  132. 8070 POKELN,R1-MN:PRINT"";MI$(R1):RETURN
  133. 8080 POKELN,RB-MN:PRINT"";MI$(RB)
  134. 8090 RETURN
  135. 9000 IFQTHEN700
  136. 9010 GOSUB8020:IFM>8THENM=M-8:GOTO 9040
  137. 9020 ONMGOSUB1000,1010,1020,1030,1040,1050,1100,1110
  138. 9030 GOTO9000
  139. 9040 ONMGOSUB1120,1130,1140,1150,1160,1170,1180,1250,1320,1370,1380
  140. 9050 GOTO9000
  141. 9060 GOTO9000
  142. 9500 X1=15:BYTE=MR:GOSUB500
  143. 9510 X1=17:BYTE=MD:GOSUB500
  144. 9520 RETURN
  145.