Home » Personal collection » Acorn hard disk » misc » misc3 » dcfprog3/BasicAssem
dcfprog3/BasicAssem
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Acorn hard disk » misc » misc3 |
Filename: | dcfprog3/BasicAssem |
Read OK: | ✔ |
File size: | 049E bytes |
Load address: | 0000 |
Exec address: | 0000 |
Duplicates
There are 6 duplicate copies of this file in the archive:
- Personal collection » Acorn ADFS disks » Electron » Programs_B.ADF » BasicAssem
- Personal collection » Acorn ADFS disks » Electron » Programs.ADF » BasicAssem
- Personal collection » Acorn ADFS disks » Electron » Programs_V2.ADF » BasicAssem
- Personal collection » Acorn ADFS disks » Greaseweazled » adfs_Programs.adf » BasicAssem
- Personal collection » Acorn hard disk » misc » misc2 » dcfprogs/BasicAssem
- Personal collection » Acorn hard disk » misc » misc3 » dcfprog3/BasicAssem
- Personal collection » Acorn tapes » Own_Work » drawer_tl_tape05a_c15_acorn_railway.wav » BasicAssem
File contents
10 MODE 6:z=0:b=0:P%=&4000 20 VDU 28,0,24,39,20 30 PRINT" Basic Assemler" 40 PRINT" ==============" 50 INPUT"1.>";c$ 60 m1$=MID$(c$,1,4) 70 IF m1$="MODE" THENPROCmode 80 IF m1$="TEXT" THENPROCtext 90 IF m1$="COLO" THENPROCcolo 100 IF m1$="FOlo" THENPROCfolo 110 IF m1$="VDUc" THENPROCvduc 120 IF m1$="NEXT" THENPROCnext 130 IF m1$="SAVE" THENPROCsave 140 IF m1$="END*" THENPROCend* 150 IF z<>1 THEN PRINT"Mistake!" 160 z=0:GOTO50 170 DEFPROCmode 180 asc=ASC(MID$(c$,5,1)) 190 IFasc<48 THENPRINT"Bad MODE?":b=1 200 IFasc>55 THENPRINT"Bad MODE?":b=1 210 IFb=1 THEN b=0:ENDPROC 220 as=asc-48:[OPT 1 230 LDA#22:JSR&FFEE:LDA#as:JSR&FFEE 240 ]:z=1:ENDPROC 250 DEFPROCtext 260 INPUT"Message";me$ 270 FORlo=1 TO LEN(me$) 280 asc=ASC(MID$(me$,lo,1)) 290 [OPT1:LDA#asc:JSR&FFEE:]:NEXT 300 z=1:ENDPROC 310 DEFPROCsave:f=&4000 320 *SAVE Data 4000 7000 330 ENDPROC 340 DEFPROCcolo 350 c=ASC(MID$(c$,5,1)) 360 IFc<48 THENPRINT"Bad COLOUR?":b=1 370 IFc>55 THENPRINT"Bad COLOUR?":b=1 380 c2=ASC(MID$(c$,6,1)) 390 IFc2<48THENPRINT"Bad COLOUR?":b=1 400 IFc2>55THENPRINT"Bad COLOUR?":b=1 410 IF b=1 THEN b=0:ENDPROC 420 IFb=1 THEN b=0:ENDPROC 430 [OPT 0:LDA#17:JSR&FFEE 440 LDA#c*10+c2:JSR&FFEE:]:z=1 450 ENDPROC 460 DEFPROCvduc 470 INPUT"Code";co 480 [LDA#co:JSR&FFEE:]:z=1:ENDPROC 490 ENDPROC 500 DEFPROCfolo 510 INPUT"From";f 520 INPUT"To";t:INPUT"STEP";s 530 [OPT 1:LDY#f:.loop 540 ]:ENDPROC 550 DEFPROCnext 560 [INY:CPY#t:BNEloop:]:z=1:ENDPROC 570 DEFPROCend* 580 [RTS:] 590 END
� 6:z=0:b=0:P%=&4000 � 28,0,24,39,20 �" Basic Assemler" ( �" ==============" 2 �"1.>";c$ < m1$=�c$,1,4) F � m1$="MODE" ��mode P � m1$="TEXT" ��text Z � m1$="COLO" ��colo d � m1$="FOlo" ��folo n � m1$="VDUc" ��vduc x � m1$="NEXT" ��next � � m1$="SAVE" ��save � � m1$="END*" ��end* � � z<>1 � �"Mistake!" � z=0:�Tr@ � ��mode � asc=�(�c$,5,1)) � �asc<48 ��"Bad MODE?":b=1 � �asc>55 ��"Bad MODE?":b=1 � �b=1 � b=0:� � as=asc-48:[OPT 1 �$ LDA#22:JSR&FFEE:LDA#as:JSR&FFEE � ]:z=1:� � ��text �"Message";me$ �lo=1 � �(me$) asc=�(�me$,lo,1)) " [OPT1:LDA#asc:JSR&FFEE:]:� , z=1:� 6 ��save:f=&4000 @ *SAVE Data 4000 7000 J � T ��colo ^ c=�(�c$,5,1)) h �c<48 ��"Bad COLOUR?":b=1 r �c>55 ��"Bad COLOUR?":b=1 | c2=�(�c$,6,1)) � �c2<48��"Bad COLOUR?":b=1 � �c2>55��"Bad COLOUR?":b=1 � � b=1 � b=0:� � �b=1 � b=0:� � [OPT 0:LDA#17:JSR&FFEE � LDA#c*10+c2:JSR&FFEE:]:z=1 � � � ��vduc � �"Code";co � [LDA#co:JSR&FFEE:]:z=1:� � � � ��folo � �"From";f �"To";t:�"STEP";s [OPT 1:LDY#f:.loop ]:� & ��next 0 [INY:CPY#t:BNEloop:]:z=1:� : ��end* D [RTS:] N � �
00000000 0d 00 0a 19 20 eb 20 36 3a 7a 3d 30 3a 62 3d 30 |.... . 6:z=0:b=0| 00000010 3a 50 25 3d 26 34 30 30 30 0d 00 14 14 20 ef 20 |:P%=&4000.... . | 00000020 32 38 2c 30 2c 32 34 2c 33 39 2c 32 30 0d 00 1e |28,0,24,39,20...| 00000030 1d 20 f1 22 20 20 20 20 20 20 20 42 61 73 69 63 |. ." Basic| 00000040 20 41 73 73 65 6d 6c 65 72 22 0d 00 28 1d 20 f1 | Assemler"..(. .| 00000050 22 20 20 20 20 20 20 20 3d 3d 3d 3d 3d 3d 3d 3d |" ========| 00000060 3d 3d 3d 3d 3d 3d 22 0d 00 32 0e 20 e8 22 31 2e |======"..2. ."1.| 00000070 3e 22 3b 63 24 0d 00 3c 11 20 6d 31 24 3d c1 63 |>";c$..<. m1$=.c| 00000080 24 2c 31 2c 34 29 0d 00 46 18 20 e7 20 6d 31 24 |$,1,4)..F. . m1$| 00000090 3d 22 4d 4f 44 45 22 20 8c f2 6d 6f 64 65 0d 00 |="MODE" ..mode..| 000000a0 50 18 20 e7 20 6d 31 24 3d 22 54 45 58 54 22 20 |P. . m1$="TEXT" | 000000b0 8c f2 74 65 78 74 0d 00 5a 18 20 e7 20 6d 31 24 |..text..Z. . m1$| 000000c0 3d 22 43 4f 4c 4f 22 20 8c f2 63 6f 6c 6f 0d 00 |="COLO" ..colo..| 000000d0 64 18 20 e7 20 6d 31 24 3d 22 46 4f 6c 6f 22 20 |d. . m1$="FOlo" | 000000e0 8c f2 66 6f 6c 6f 0d 00 6e 18 20 e7 20 6d 31 24 |..folo..n. . m1$| 000000f0 3d 22 56 44 55 63 22 20 8c f2 76 64 75 63 0d 00 |="VDUc" ..vduc..| 00000100 78 18 20 e7 20 6d 31 24 3d 22 4e 45 58 54 22 20 |x. . m1$="NEXT" | 00000110 8c f2 6e 65 78 74 0d 00 82 18 20 e7 20 6d 31 24 |..next.... . m1$| 00000120 3d 22 53 41 56 45 22 20 8c f2 73 61 76 65 0d 00 |="SAVE" ..save..| 00000130 8c 18 20 e7 20 6d 31 24 3d 22 45 4e 44 2a 22 20 |.. . m1$="END*" | 00000140 8c f2 65 6e 64 2a 0d 00 96 19 20 e7 20 7a 3c 3e |..end*.... . z<>| 00000150 31 20 8c 20 f1 22 4d 69 73 74 61 6b 65 21 22 0d |1 . ."Mistake!".| 00000160 00 a0 0e 20 7a 3d 30 3a e5 8d 54 72 40 0d 00 aa |... z=0:..Tr@...| 00000170 0b 20 dd f2 6d 6f 64 65 0d 00 b4 14 20 61 73 63 |. ..mode.... asc| 00000180 3d 97 28 c1 63 24 2c 35 2c 31 29 29 0d 00 be 1e |=.(.c$,5,1))....| 00000190 20 e7 61 73 63 3c 34 38 20 8c f1 22 42 61 64 20 | .asc<48 .."Bad | 000001a0 4d 4f 44 45 3f 22 3a 62 3d 31 0d 00 c8 1e 20 e7 |MODE?":b=1.... .| 000001b0 61 73 63 3e 35 35 20 8c f1 22 42 61 64 20 4d 4f |asc>55 .."Bad MO| 000001c0 44 45 3f 22 3a 62 3d 31 0d 00 d2 11 20 e7 62 3d |DE?":b=1.... .b=| 000001d0 31 20 8c 20 62 3d 30 3a e1 0d 00 dc 15 20 61 73 |1 . b=0:..... as| 000001e0 3d 61 73 63 2d 34 38 3a 5b 4f 50 54 20 31 0d 00 |=asc-48:[OPT 1..| 000001f0 e6 24 20 4c 44 41 23 32 32 3a 4a 53 52 26 46 46 |.$ LDA#22:JSR&FF| 00000200 45 45 3a 4c 44 41 23 61 73 3a 4a 53 52 26 46 46 |EE:LDA#as:JSR&FF| 00000210 45 45 0d 00 f0 0c 20 5d 3a 7a 3d 31 3a e1 0d 00 |EE.... ]:z=1:...| 00000220 fa 0b 20 dd f2 74 65 78 74 0d 01 04 13 20 e8 22 |.. ..text.... ."| 00000230 4d 65 73 73 61 67 65 22 3b 6d 65 24 0d 01 0e 13 |Message";me$....| 00000240 20 e3 6c 6f 3d 31 20 b8 20 a9 28 6d 65 24 29 0d | .lo=1 . .(me$).| 00000250 01 18 16 20 61 73 63 3d 97 28 c1 6d 65 24 2c 6c |... asc=.(.me$,l| 00000260 6f 2c 31 29 29 0d 01 22 1f 20 5b 4f 50 54 31 3a |o,1))..". [OPT1:| 00000270 4c 44 41 23 61 73 63 3a 4a 53 52 26 46 46 45 45 |LDA#asc:JSR&FFEE| 00000280 3a 5d 3a ed 0d 01 2c 0a 20 7a 3d 31 3a e1 0d 01 |:]:...,. z=1:...| 00000290 36 13 20 dd f2 73 61 76 65 3a 66 3d 26 34 30 30 |6. ..save:f=&400| 000002a0 30 0d 01 40 19 20 2a 53 41 56 45 20 44 61 74 61 |0..@. *SAVE Data| 000002b0 20 34 30 30 30 20 37 30 30 30 0d 01 4a 06 20 e1 | 4000 7000..J. .| 000002c0 0d 01 54 0b 20 dd f2 63 6f 6c 6f 0d 01 5e 12 20 |..T. ..colo..^. | 000002d0 63 3d 97 28 c1 63 24 2c 35 2c 31 29 29 0d 01 68 |c=.(.c$,5,1))..h| 000002e0 1e 20 e7 63 3c 34 38 20 8c f1 22 42 61 64 20 43 |. .c<48 .."Bad C| 000002f0 4f 4c 4f 55 52 3f 22 3a 62 3d 31 0d 01 72 1e 20 |OLOUR?":b=1..r. | 00000300 e7 63 3e 35 35 20 8c f1 22 42 61 64 20 43 4f 4c |.c>55 .."Bad COL| 00000310 4f 55 52 3f 22 3a 62 3d 31 0d 01 7c 13 20 63 32 |OUR?":b=1..|. c2| 00000320 3d 97 28 c1 63 24 2c 36 2c 31 29 29 0d 01 86 1e |=.(.c$,6,1))....| 00000330 20 e7 63 32 3c 34 38 8c f1 22 42 61 64 20 43 4f | .c2<48.."Bad CO| 00000340 4c 4f 55 52 3f 22 3a 62 3d 31 0d 01 90 1e 20 e7 |LOUR?":b=1.... .| 00000350 63 32 3e 35 35 8c f1 22 42 61 64 20 43 4f 4c 4f |c2>55.."Bad COLO| 00000360 55 52 3f 22 3a 62 3d 31 0d 01 9a 12 20 e7 20 62 |UR?":b=1.... . b| 00000370 3d 31 20 8c 20 62 3d 30 3a e1 0d 01 a4 11 20 e7 |=1 . b=0:..... .| 00000380 62 3d 31 20 8c 20 62 3d 30 3a e1 0d 01 ae 1b 20 |b=1 . b=0:..... | 00000390 5b 4f 50 54 20 30 3a 4c 44 41 23 31 37 3a 4a 53 |[OPT 0:LDA#17:JS| 000003a0 52 26 46 46 45 45 0d 01 b8 1f 20 4c 44 41 23 63 |R&FFEE.... LDA#c| 000003b0 2a 31 30 2b 63 32 3a 4a 53 52 26 46 46 45 45 3a |*10+c2:JSR&FFEE:| 000003c0 5d 3a 7a 3d 31 0d 01 c2 06 20 e1 0d 01 cc 0b 20 |]:z=1.... ..... | 000003d0 dd f2 76 64 75 63 0d 01 d6 0f 20 e8 22 43 6f 64 |..vduc.... ."Cod| 000003e0 65 22 3b 63 6f 0d 01 e0 1d 20 5b 4c 44 41 23 63 |e";co.... [LDA#c| 000003f0 6f 3a 4a 53 52 26 46 46 45 45 3a 5d 3a 7a 3d 31 |o:JSR&FFEE:]:z=1| 00000400 3a e1 0d 01 ea 06 20 e1 0d 01 f4 0b 20 dd f2 66 |:..... ..... ..f| 00000410 6f 6c 6f 0d 01 fe 0e 20 e8 22 46 72 6f 6d 22 3b |olo.... ."From";| 00000420 66 0d 02 08 16 20 e8 22 54 6f 22 3b 74 3a e8 22 |f.... ."To";t:."| 00000430 53 54 45 50 22 3b 73 0d 02 12 17 20 5b 4f 50 54 |STEP";s.... [OPT| 00000440 20 31 3a 4c 44 59 23 66 3a 2e 6c 6f 6f 70 0d 02 | 1:LDY#f:.loop..| 00000450 1c 08 20 5d 3a e1 0d 02 26 0b 20 dd f2 6e 65 78 |.. ]:...&. ..nex| 00000460 74 0d 02 30 1f 20 5b 49 4e 59 3a 43 50 59 23 74 |t..0. [INY:CPY#t| 00000470 3a 42 4e 45 6c 6f 6f 70 3a 5d 3a 7a 3d 31 3a e1 |:BNEloop:]:z=1:.| 00000480 0d 02 3a 0b 20 dd f2 65 6e 64 2a 0d 02 44 0b 20 |..:. ..end*..D. | 00000490 5b 52 54 53 3a 5d 0d 02 4e 06 20 e0 0d ff |[RTS:]..N. ...| 0000049e