0 REM ÔÈÉÓ ÐÒÏÇÒÁÍ ÒÅÑÕÉÒÅÓ ÔÈÅ ´°°¯¸°° ÏÐÅÒÁÔÉÎÇ ÓÙÓÔÅÍ›1 DIM SA$(4),EA$(4)›10 GOSUB 10200›20 PRINT "INPUT STARTING ADDRESS";›25 INPUT SA$›30 PRINT "INPUT ENDING ADDRESS";›35 INPUT EA$›40 WORD$=SA$:GOSUB 10100›50 SA=NWORD›60 WORD$=EA$:GOSUB 10100›70 EA=NWORD›80 DUMMY=USR(ADR(DMY$),SA,EA)›90 GOTO 20›10000 REM COMPUTE NBYTE FROM HEX$›10010 I=1:GOSUB 10040:NBYTE=X*16›10020 I=2:GOSUB 10040:NBYTE=NBYTE+X›10030 RETURN ›10040 X=ASC(HEX$(I,I))-ASC("0")›10050 IF "0"<=HEX$(I,I) AND HEX$(I,I)<="9" THEN RETURN ›10060 IF "A"<=HEX$(I,I) AND HEX$(I,I)<="F" THEN X=X-7:RETURN ›10070 STOP :REM ERROR›10100 REM COMPUTE NWORD FROM WORD$›10110 HEX$=WORD$(1,2):GOSUB 10000:NWORD=NBYTE*256›10120 HEX$=WORD$(3,4):GOSUB 10000:NWORD=NWORD+NBYTE›10130 RETURN ›10200 REM PUT THE CODE›10210 READ N:REM NUMBER OF BYTES›10220 DIM CODE$(40),HEX$(2),WORD$(4),DMY$(1),STORAGE(N/6+1)›10230 PC=ADR(DMY$)›10240 READ CODE$›10245 IF CODE$(1,1)="." THEN GOTO 10240›10250 IF CODE$(1,1)="*" THEN GOTO 10300›10260 IF CODE$(1,1)="+" THEN GOTO 10310›10265 IF CODE$(1,1)="=" THEN GOTO 10350›10270 IF CODE$(1,1)="!" THEN GOTO 10410›10280 HEX$=CODE$(1,2):GOSUB 10000›10290 POKE PC,NBYTE:PC=PC+1:GOTO 10240›10300 WORD$=CODE$(2,5):GOSUB 10100:GOTO 10320›10310 WORD$=CODE$(2,5):GOSUB 10100:NWORD=NWORD+ADR(DMY$)›10320 NBYTE=INT(NWORD/256)›10330 POKE PC,NWORD-NBYTE*256›10340 PC=PC+1:GOTO 10290›10350 WORD$=CODE$(2,5):GOSUB 10100›10360 NBYTE=ADR(DMY$)+NWORD-(PC+1)›10370 IF NBYTE>127 THEN STOP ›10380 IF NBYTE<-128 THEN STOP ›10390 IF NBYTE<0 THEN NBYTE=NBYTE+256›10400 GOTO 10290›10410 WORD$=CODE$(2,5):GOSUB 10100›10420 IF NWORD=PC-ADR(DMY$) THEN RETURN ›10430 STOP :REM ERROR›20000 DATA 137›20010 DATA .0000,4C,+0030,.JMP START›20020 REM INCPNTR›20030 DATA .0003,E6,D4,. INC PNTR›20040 DATA .0005,D0,=0009,.BNE @1›20050 DATA .0007,E6,D5,. INC PNTR+1›20060 REM @1›20070 DATA .0009,60,. RTS›20080 REM PRBYTE›20090 DATA .000A,48,. PHA›20100 DATA .000B,4A,. LSR A›20110 DATA .000C,4A,. LSR A›20120 DATA .000D,4A,. LSR A›20130 DATA .000E,4A,. LSR A›20140 DATA .000F,20,+0015,.JSR PRNYBLE›20150 DATA .0012,68,. PLA›20160 DATA .0013,29,0F,. AND #$0F›20170 REM PRBYTE›20180 DATA .0015,C9,0A,. CMP #$0A›20190 DATA .0017,30,=001B,.BMI @2›20200 DATA .0019,69,06,. ADC #$06›20210 REM @2›20220 DATA .001B,69,30,. ADC #$30›20230 DATA .001D,20,*F6A4,.JSR OUTCHR›20240 DATA .0020,60,. RTS›20250 REM TSTPNTR›20260 DATA .0021,38,. SEC›20270 DATA .0022,AD,+002D,.LDA EA›20280 DATA .0025,E5,D4,. SBC PNTR›20290 DATA .0027,AD,+002E,.LDA EA+1›20300 DATA .002A,E5,D5,. SBC PNTR+1›20310 DATA .002C,60,. RTS›20320 REM EA›20330 DATA .002D,00,00,. .W0RD›20340 REM COUNT›20350 DATA .002F,00,. .BYTE›20360 REM START›20370 DATA .0030,68,. PLA›20380 DATA .0031,F0,=0009,.BEQ @1›20390 DATA .0033,C9,02,. CMP #$02›20400 DATA .0035,F0,=003E,.BEQ CONTINUE›20410 DATA .0037,AA,. TAX›20420 REM @3›20430 DATA .0038,68,. PLA›20440 DATA .0039,68,. PLA›20450 DATA .003A,CA,. DEX›20460 DATA .003B,D0,=0038,.BNE @3›20465 DATA .003D,60,. RTS›20470 REM CONTINUE›20480 DATA .003E,68,. PLA›20490 DATA .003F,85,D5,. STA PNTR+1›20500 DATA .0041,68,. PLA›20510 DATA .0042,85,D4,. STA PNTR›20520 DATA .0044,68,. PLA›20530 DATA .0045,8D,+002E,.STA EA+1›20540 DATA .0048,68,. PLA›20550 DATA .0049,8D,+002D,.STA EA›20560 REM DUMP›20570 DATA .004C,A9,9B,. LDA #EOL›20580 DATA .004E,20,*F6A4,.JSR OUTCHR›20590 DATA .0051,A9,24,. LDA #'$›20600 DATA .0053,20,*F6A4,.JSR OUTCHR›20610 DATA .0056,A5,D5,. LDA PNTR+1›20620 DATA .0058,20,+000A,.JSR PRBYTE›20630 DATA .005B,A5,D4,. LDA PNTR›20640 DATA .005D,20,+000A,.JSR PRBYTE›20650 DATA .0060,A9,20,. LDA #'›20660 DATA .0062,20,*F6A4,.JSR OUTCHR›20670 DATA .0065,A9,08,. LDA #$08›20680 DATA .0067,8D,+002F,.STA COUNT›20690 REM LOOP›20700 DATA .006A,A9,20,. LDA #'›20710 DATA .006C,20,*F6A4,.JSR OUTCHR›20720 DATA .006F,A0,00,. LDY #$00›20730 DATA .0071,B1,D4,. LDA (PNTR)Y›20740 DATA .0073,20,+000A,.JSR PRBYTE›20750 DATA .0076,20,+0003,.JSR INCPNTR›20760 DATA .0079,CE,+002F,.DEC COUNT›20770 DATA .007C,D0,=0069,.BNE LOOP›20780 DATA .007E,20,+0021,.JSR TSTPNTR›20790 DATA .0081,10,=004B,.BPL DUMP›20800 DATA .0083,A9,9B,. LDA #EOL›20810 DATA .0085,20,*F6A4,.JSR OUTCHR›20820 DATA .0088,60,. RTS›20830 DATA !0089›