home *** CD-ROM | disk | FTP | other *** search
- 10 BO=53280:BA=BO+1:DIMMI$(20):GOSUB100:GOSUB600:GOSUB300:GOSUB8000:GOTO9000
- 20 :
- 21 :
- 22 :
- 100 MI$(0)=" LDA #0 [161]"
- 110 MI$(1)=" STA TMP [161]"
- 120 MI$(2)=" STA RES [161]"
- 130 MI$(3)=" STA RES+1 [161]"
- 140 MI$(4)=" LDX #8 [161]"
- 150 MI$(5)="MULT LSR MPR [161]"
- 160 MI$(6)=" BCC SKIP [160][161]"
- 170 MI$(7)=" LDA RES [161]"
- 180 MI$(8)=" CLC [161]"
- 190 MI$(9)=" ADC MPD [161]"
- 200 MI$(10)=" STA RES [161]"
- 210 MI$(11)=" LDA RES+1 [161]"
- 220 MI$(12)=" ADC TMP [161]"
- 230 MI$(13)=" STA RES+1 [161]"
- 240 MI$(14)="SKIP ASL MPD [161]"
- 250 MI$(15)=" ROL TMP [161]"
- 260 MI$(16)=" DEX [161]"
- 270 MI$(17)=" BNE MULT [161]"
- 271 MI$(18)=" RTS [161]"
- 275 E$=" "
- 280 RETURN
- 297 :
- 298 :
- 299 :
- 300 PRINTTAB(22)" REGISTERS"
- 310 PRINTTAB(22)"[154]X REG.[146][151] 00001000"
- 320 PRINTTAB(22)"[150]A REG.[146][151] 00000000"
- 330 PRINTTAB(22)"[159]TMP. [146][151] 00000000"
- 340 PRINTTAB(22)"[155]RES. [146][151] 00000000"
- 350 PRINTTAB(22)"RES+1.[146][151] 00000000"
- 360 PRINTTAB(22)"[153]MPR. [146][151] 00000011"
- 370 PRINTTAB(22)"MPD. [146][151] 00000101"
- 380 PRINTTAB(22)"[152]C.FLAG[146][151] 0"
- 390 PRINTTAB(5)"[154] USE SPACE BAR TO RUN TRACE "
- 395 RETURN
- 490 :
- 495 :
- 500 GOSUB570:I=128
- 510 IFBYTEANDITHENPRINT"1";:GOTO530
- 520 PRINT"0";
- 530 I=I/2:IFI>.5THEN510
- 540 GOSUB580
- 550 RETURN
- 560 :
- 570 PRINT"":RR=PEEK(214):CC=PEEK(211):POKE214,X1:POKE211,29:SYS58640:RETURN
- 580 POKE214,RR:POKE211,CC:SYS58640:RETURN
- 590 :
- 591 :
- 592 :
- 600 POKEBO,6:POKEBA,6:PRINT"[147][158] BASIC MACHINE LANGUAGE PROGRMMING"
- 610 PRINT" TECHNIQUES"
- 615 PRINT" MULTIPLICATION TRACER"
- 616 PRINT" [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
- 620 PRINT"TYPE IN MULTIPLICAND,PLEASE"
- 630 PRINT"RESTRICTED TO BETWEEN 1 AND 255"
- 635 INPUTMD:IF(MD<1)OR(MD>255)THENPRINT"[145][145]":GOTO635
- 640 PRINT"TYPE IN MULTIPLIER, PLEASE"
- 650 PRINT"RESTRICTED TO BETWEEN 1 AND 255"
- 655 INPUTMR:IF(MR<1)OR(MR>255)THENPRINT"[145][145]":GOTO655
- 660 M=0:Q=0:LL=MR:HH=MD:POKEBO,11:POKEBA,0:PRINT"[147]"
- 670 RETURN
- 700 GETA$:IFA$=""THEN700
- 710 AN=RH*256+RL
- 720 PRINT"[147]THE RESULT OF YOUR INPUT - ":PRINTHH"X"LL"="AN
- 730 PRINT"DO YOU WANT ANOTHER GO <Y=YES:N=NO>"
- 740 GETA$:IFA$=""THEN740
- 750 IFA$="Y"THENRUN
- 760 IFA$<>"N"THEN740
- 770 PRINT"[147][154]":POKEBO,14:POKEBA,6:END
- 997 :
- 998 :
- 999 :
- 1000 X1=4:A=0:BYTE=A:GOSUB500:RETURN
- 1010 X1=7:T1=0:BYTE=T1:GOSUB500:RETURN
- 1020 X1=10:RL=0:BYTE=RL:GOSUB500:RETURN
- 1030 X1=12:RH=0:BYTE=RH:GOSUB500:RETURN
- 1040 X1=2:X=8:BYTE=X:GOSUB500:RETURN
- 1050 IFMRAND1THENC=1:GOTO1070
- 1060 C=0
- 1070 MR=INT(MR/2)
- 1080 X1=15:BYTE=MR:GOSUB500
- 1090 X1=20:GOSUB570:IFCTHENPRINT"1":RETURN
- 1095 PRINT"0":RETURN
- 1100 IFC=0THENR1=R1+1:GOSUB8070:RB=14:GOSUB8080:
- 1101 RETURN
- 1110 X1=4:A=RL:BYTE=A:GOSUB500:RETURN
- 1120 C=0:X1=20:GOSUB570:PRINT"0":RETURN
- 1130 A=A+MD
- 1131 IFA>255THENC=1:A=A-256:GOSUB1090
- 1132 X1=4:BYTE=A:GOSUB500:RETURN
- 1140 RL=A:X1=10:BYTE=RL:GOSUB500:RETURN
- 1150 X1=4:A=RH:BYTE=A:GOSUB500:RETURN
- 1160 A=A+T1+C:X1=4:BYTE=A:GOSUB500:RETURN
- 1170 RH=A:X1=12:BYTE=RH:GOSUB500:RETURN
- 1180 IFMDAND128THENC=1:GOTO1200
- 1190 C=0
- 1200 MD=INT(MD*2):IFC=1THENMD=MD-256
- 1210 X1=17:BYTE=MD:GOSUB500
- 1220 X1=20:GOSUB570:IFCTHENPRINT"1":RETURN
- 1230 PRINT"0":RETURN
- 1250 CT=C:IFT1AND128THENC=1:GOTO1280
- 1270 C=0
- 1280 T1=INT(T1*2)+CT
- 1290 X1=7:BYTE=T1:GOSUB500
- 1300 X1=20:GOSUB570:IFCTHENPRINT"1":RETURN
- 1310 PRINT"0":RETURN
- 1320 X=X-1:X1=2:BYTE=X:GOSUB500
- 1330 IFX<>0THENZ=1:GOTO1350
- 1340 Z=0
- 1350 REM X1=21:GOSUB570:IFXTHENPRINT"1":RETURN
- 1360 RETURN: PRINT"0":RETURN
- 1370 IFZ=1THENR1=R1+1:GOSUB8070:RB=5:GOSUB8080:RETURN
- 1380 Q=1:RETURN
- 1390 :
- 1391 :
- 1392 :
- 8000 LN=214:CB=198:MM=18:MN=0:FORI=0TO18:PRINT"";MI$(I):NEXT:POKELN,0:RB=MN:CL=MN
- 8010 GOSUB8080:GOSUB9500:RETURN
- 8011 :
- 8012 :
- 8020 GETA$:IFA$=""THEN8020
- 8030 IFA$<>" "THEN8020
- 8035 C1=CL:R1=RB
- 8040 RB=RB+1:REM IFRB=MM+1THENQ=1
- 8045 IFMI$=E$THEN8020
- 8050 IF(C1<>CL)OR(R1<>RB)THENGOSUB8070:GOSUB8080
- 8060 M=RB:RETURN
- 8070 POKELN,R1-MN:PRINT"";MI$(R1):RETURN
- 8080 POKELN,RB-MN:PRINT"";MI$(RB)
- 8090 RETURN
- 9000 IFQTHEN700
- 9010 GOSUB8020:IFM>8THENM=M-8:GOTO 9040
- 9020 ONMGOSUB1000,1010,1020,1030,1040,1050,1100,1110
- 9030 GOTO9000
- 9040 ONMGOSUB1120,1130,1140,1150,1160,1170,1180,1250,1320,1370,1380
- 9050 GOTO9000
- 9060 GOTO9000
- 9500 X1=15:BYTE=MR:GOSUB500
- 9510 X1=17:BYTE=MD:GOSUB500
- 9520 RETURN
-