[新連載]復活!TINY BASIC
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
すべてはここからはじまりました。
中日電工も。
40年前を振り返りつつ新連載です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第33回]
●中日電工版TINY BASIC
今までオリジナルのTINY BASICプログラムについて説明をしてきました。
なんとかユーザプログラムをメモリに格納するところまでは説明できましたが、まだ「入力」「出力」については説明できていません。
そこは「インターフェース」に関係するため、オリジナルプログラムのまま使うことはできないからです。
これからその部分については今までと同じようにオリジナルのプログラムをもとに説明しつつ、それをどのように書き換えていくのかというあたりについても説明をしていくことになると思います。
そのあとはいよいよ計算式やFOR〜NEXT、GOTO、GOSUBなどについての説明に進みます。
もちろんもとになるのはオリジナルプログラムですから、今までと同じようにオリジナルのプログラムリストをもとにして説明をしていけばよいのですけれど、実際に途中でブレークポイントを設定するなどをしながら動作の解析ができるとプログラムの理解が深まると思います。
ただ説明を読んでいるだけではなかなか理解が進まないというところもあるでしょうし、面白くもありませんでしょう。
やっぱり実際に使うことができれば一番です。
ということでこの辺りで、ND80Z3.5上で動作するTINY BASICを皆様に提供して実際に使っていただくことにしました。
名づけて「中日電工版」TINY BASICです。
まだ手を加えたいところがありますが、とりあえずは動作するところまでできていますから、基本的な動作については実際にさわって確かめていただくことができます。
手直しをしたいところについては、これから説明を進めながらプログラムの変更作業についても書いていきたいと思います。
下は「中日電工版」TINY BASICのアセンブルリストです。
ND80Z3.5などに附属の当社オリジナルの8080アセンブラASM80でアセンブルして出力したリストです。
リストの後のところに、ソースプログラムをダウンロードできるようにリンクを貼ってあります。
2020/6/6 9: tinybst7.txt
END=9FDE
;;;TINY BASIC from PALO ALTO
;20/3/3 5/8 5/9 5/10 5/11 5/12 5/13 5/28
;6/6
;
;SOUT=$067C;5/10
SOUT=$10AB
;SIN=$06A3
SIN=$10AE
REENT=$1033
;
ORG $8000
8000 C35D80 JMP START
8003 C3D681 JMP LIST
8006 C3A681 JMP RUN
8009 C39781 JMP NEW
800C C3D682 JMP NEXT
800F C3B683 JMP LET
8012 C33B83 JMP IFF;"IF"
8015 C3C581 JMP GOTO
8018 C33482 JMP GOSUB
801B C35682 JMP RETURN
801E C33783 JMP REM
8021 C37182 JMP FOR
8024 C35683 JMP INPUT
8027 C3EE81 JMP PRINT
802A C3A081 JMP STOP
802D C3B083 JMP DEFLT
8030 C3E884 JMP RND
8033 C31585 JMP ABS
8036 C31E85 JMP SIZE
8039 C3C684 JMP XP40
803C C38182 JMP FR1;"TO"
803F C39985 JMP QWHAT;"WHAT"
8042 C38D82 JMP FR2;"STEP"
8045 C39382 JMP FR3
8048 C3CA83 JMP XP11;">="
804B C3D083 JMP XP12;"#"
804E C3D683 JMP XP13;">"
8051 C3E583 JMP XP15;"="
8054 C3DD83 JMP XP14;"<="
8057 C3EB83 JMP XP16;"<"
805A C3F183 JMP XP17
;
START:;LXI SP,STACK
805D 00 NOP
805E 00 NOP
805F 00 NOP
8060 3EFF MVI A,FF
8062 C33387 JMP INIT
;RST 1(test character)
8065 E3 TSTC:XTHL
8066 CD8480 CALL SPJP
8069 BE CMP M
806A C3C780 JMP TC1
;
806D 3E0D CRLF:MVI A,0D
;RST 2(out character)
806F F5 OUTC:PUSH PSW
8070 3A0090 LDA OCSW
8073 B7 ORA A
8074 C34F87 JMP OC2
;RST 3(expression)
8077 CD0884 EXPR:CALL EXPR2
807A E5 PUSH H
807B C3C483 JMP EXPR1
;RST 4(compare HL with DE)
807E 7C HDCP:MOV A,H
807F BA CMP D
8080 C0 RNZ
8081 7D MOV A,L
8082 BB CMP E
8083 C9 RET
;RST 5(jump space code)
8084 1A SPJP:LDAX D
8085 FE20 CPI 20
8087 C0 RNZ
8088 13 INX D
8089 C38480 JMP SPJP
;RST 6(check end)
808C F1 ENDCK:POP PSW
808D CD8085 CALL FIN
8090 C39985 JMP QWHAT
;RST 7(test variables)
8093 CD8480 TSTV:CALL SPJP
8096 D640 SUI 40
8098 D8 RC
8099 C2B780 JNZ TV1
809C 13 INX D
809D CDD784 CALL PARN
80A0 29 DAD H
80A1 DA0081 JC QHOW
80A4 D5 PUSH D
80A5 EB XCHG
80A6 CD1E85 CALL SIZE
80A9 CD7E80 CALL HDCP
80AC DAC985 JC ASORRY
80AF 21669F LXI H,VARBGN
80B2 CD4185 CALL SUBDE
80B5 D1 POP D
80B6 C9 RET
80B7 FE1B TV1:CPI 1B
80B9 3F CMC
80BA D8 RC
80BB 13 INX D
80BC 21669F LXI H,VARBGN
80BF 07 RLC
80C0 85 ADD L
80C1 6F MOV L,A
80C2 3E00 MVI A,00
80C4 8C ADC H
80C5 67 MOV H,A
80C6 C9 RET
;
80C7 23 TC1:INX H
80C8 CAD280 JZ TC2
80CB C5 PUSH B
80CC 4E MOV C,M
80CD 0600 MVI B,00
80CF 09 DAD B
80D0 C1 POP B
80D1 1B DCX D
80D2 13 TC2:INX D
80D3 23 INX H
80D4 E3 XTHL
80D5 C9 RET
;
80D6 210000 TSTNUM:LXI H,$0000
80D9 44 MOV B,H
80DA CD8480 CALL SPJP
80DD FE30 TN1:CPI 30
80DF D8 RC
80E0 FE3A CPI 3A
80E2 D0 RNC
80E3 3EF0 MVI A,F0
80E5 A4 ANA H
80E6 C20081 JNZ QHOW
80E9 04 INR B
80EA C5 PUSH B
80EB 44 MOV B,H
80EC 4D MOV C,L
80ED 29 DAD H
80EE 29 DAD H
80EF 09 DAD B
80F0 29 DAD H
80F1 1A LDAX D
80F2 13 INX D
80F3 E60F ANI 0F
80F5 85 ADD L
80F6 6F MOV L,A
80F7 3E00 MVI A,00
80F9 8C ADC H
80FA 67 MOV H,A
80FB C1 POP B
80FC 1A LDAX D
80FD F2DD80 JP TN1
8100 D5 QHOW:PUSH D
8101 110781 AHOW:LXI D,HOW
8104 C39D85 JMP ERROR
;
8107 484F573F HOW:"HOW?"
810B 0D DB 0D
810C 4F4B OK:"OK"
810E 0D DB 0D
810F 57484154 WHAT: "WHAT"
8113 3F "?"
8114 0D DB 0D
8115 534F5252 SORRY:"SORR"
8119 59 "Y"
811A 0D DB 0D
811B 00 RSTART:NOP
811C 00 NOP
811D 00 NOP
811E CD6D80 ST1:CALL CRLF
8121 110C81 LXI D,OK
8124 97 SUB A
8125 CD3D86 CALL PRTSTG
8128 212F81 LXI H,ST22
812B 220190 SHLD CURRNT
812E 21 ST2:DB 21;LXI H
812F 0000 ST22:DW $0000
8131 220990 SHLD LOPVAR
8134 220390 SHLD STKGOS
8137 3E29 ST3:MVI A,29;3E
8139 CDCF85 CALL GETLN
813C D5 PUSH D
813D 119D9F LXI D,BUFFER
8140 CDD680 CALL TSTNUM
8143 CD8480 CALL SPJP
8146 7C MOV A,H
8147 B5 ORA L
8148 C1 POP B
8149 CA2788 JZ DIRECT
814C 1B DCX D
814D 7C MOV A,H
814E 12 STAX D
814F 1B DCX D
8150 7D MOV A,L
8151 12 STAX D
8152 C5 PUSH B
8153 D5 PUSH D
8154 79 MOV A,C
8155 93 SUB E
8156 F5 PUSH PSW
8157 CD1386 CALL FNDLN
815A D5 PUSH D
815B C26E81 JNZ ST4
815E D5 PUSH D
815F CD3186 CALL FNDNXT
8162 C1 POP B
8163 2A1590 LHLD TXTUNF
8166 CDD486 CALL MVUP
8169 60 MOV H,B
816A 69 MOV L,C
816B 221590 SHLD TXTUNF
816E C1 ST4:POP B
816F 2A1590 LHLD TXTUNF
8172 F1 POP PSW
8173 E5 PUSH H
8174 FE03 CPI 03
8176 CA1B81 JZ RSTART
8179 85 ADD L
817A 6F MOV L,A
817B 3E00 MVI A,00
817D 8C ADC H
817E 67 MOV H,A
817F 11669F LXI D,TXTEND
8182 CD7E80 CALL HDCP
8185 D2C885 JNC QSORRY
8188 221590 SHLD TXTUNF
818B D1 POP D
818C CDDF86 CALL MVDOWN
818F D1 POP D
8190 E1 POP H
8191 CDD486 CALL MVUP
8194 C33781 JMP ST3
8197 CD9385 NEW:CALL ENDCHK
819A 211790 LXI H,TXTBGN
819D 221590 SHLD TXTUNF
81A0 CD9385 STOP:CALL ENDCHK
81A3 C31B81 JMP RSTART
;
81A6 CD9385 RUN:CALL ENDCHK
81A9 111790 LXI D,TXTBGN
;
81AC 210000 RUNNXL:LXI H,$0000
81AF CD1B86 CALL FNDLP
81B2 DA1B81 JC RSTART
;
81B5 EB RUNTSL:XCHG
81B6 220190 SHLD CURRNT
81B9 EB XCHG
81BA 13 INX D
81BB 13 INX D
;
RUNSML:;CALL CHKIO
81BC 00 NOP
81BD 00 NOP
81BE 00 NOP
81BF 21AC87 LXI H,TAB2-1
81C2 C32A88 JMP EXEC
;
81C5 CD7780 GOTO:CALL EXPR
81C8 D5 PUSH D
81C9 CD9385 CALL ENDCHK
81CC CD1386 CALL FNDLN
81CF C20181 JNZ AHOW
81D2 F1 POP PSW
81D3 C3B581 JMP RUNTSL
;
81D6 CDD680 LIST:CALL TSTNUM
81D9 CD9385 CALL ENDCHK
81DC CD1386 CALL FNDLN
81DF DA1B81 LS1:JC RSTART
81E2 CDBF86 CALL PRTLN
;CALL CHKIO
81E5 00 NOP
81E6 00 NOP
81E7 00 NOP
81E8 CD1B86 CALL FNDLP
81EB C3DF81 JMP LS1
;
81EE 0E06 PRINT:MVI C,06
81F0 CD6580 CALL TSTC
81F3 3B DB 3B
81F4 06 DB 06
81F5 CD6D80 CALL CRLF
81F8 C3BC81 JMP RUNSML
81FB CD6580 PR2:CALL TSTC
81FE 0D DB 0D
81FF 06 DB 06
8200 CD6D80 CALL CRLF
8203 C3AC81 JMP RUNNXL
8206 CD6580 PR0:CALL TSTC
8209 23 "#"
820A 07 DB 07
820B CD7780 CALL EXPR
820E 4D MOV C,L
820F C31882 JMP PR3
8212 CD4B86 PR1:CALL QTSTG
8215 C32982 JMP PR8
8218 CD6580 PR3:CALL TSTC
821B 2C ","
821C 06 DB 06
821D CD8085 CALL FIN
8220 C30682 JMP PR0
8223 CD6D80 PR6:CALL CRLF
8226 CD8C80 CALL ENDCK
8229 CD7780 PR8:CALL EXPR
822C C5 PUSH B
822D CD7B86 CALL PRTNUM
8230 C1 POP B
8231 C31882 JMP PR3
8234 CD0A87 GOSUB:CALL PUSHA
8237 CD7780 CALL EXPR
823A D5 PUSH D
823B CD1386 CALL FNDLN
823E C20181 JNZ AHOW
8241 2A0190 LHLD CURRNT
8244 E5 PUSH H
8245 2A0390 LHLD STKGOS
8248 E5 PUSH H
8249 210000 LXI H,$0000
824C 220990 SHLD LOPVAR
824F 39 DAD SP
8250 220390 SHLD STKGOS
8253 C3B581 JMP RUNTSL
8256 CD9385 RETURN:CALL ENDCHK
8259 2A0390 LHLD STKGOS
825C 7C MOV A,H
825D B5 ORA L
825E CA9985 JZ QWHAT
8261 F9 SPHL
8262 E1 POP H
8263 220390 SHLD STKGOS
8266 E1 POP H
8267 220190 SHLD CURRNT
826A D1 POP D
826B CDEE86 CALL POPA
826E CD8C80 CALL ENDCK
;
8271 CD0A87 FOR:CALL PUSHA
8274 CD6785 CALL SETVAL
8277 2B DCX H
8278 220990 SHLD LOPVAR
827B 210288 LXI H,TAB5-1
827E C32A88 JMP EXEC
8281 CD7780 FR1:CALL EXPR
8284 220D90 SHLD LOPLMT
8287 210888 LXI H,TAB6-1
828A C32A88 JMP EXEC
828D CD7780 FR2:CALL EXPR
8290 C39682 JMP FR4
8293 210100 FR3:LXI H,$0001
8296 220B90 FR4:SHLD LOPINC
8299 2A0190 FR5:LHLD CURRNT
829C 220F90 SHLD LOPLN
829F EB XCHG
82A0 221190 SHLD LOPPT
82A3 010A00 LXI B,$000A
82A6 2A0990 LHLD LOPVAR
82A9 EB XCHG
82AA 60 MOV H,B
82AB 68 MOV L,B
82AC 39 DAD SP
82AD 3E DB 3E;dummy (mov a,n) ,,,skip "DAD B"
82AE 09 FR7:DAD B
82AF 7E MOV A,M
82B0 23 INX H
82B1 B6 ORA M
82B2 CACF82 JZ FR8
82B5 7E MOV A,M
82B6 2B DCX H
82B7 BA CMP D
82B8 C2AE82 JNZ FR7
82BB 7E MOV A,M
82BC BB CMP E
82BD C2AE82 JNZ FR7
82C0 EB XCHG
82C1 210000 LXI H,$0000
82C4 39 DAD SP
82C5 44 MOV B,H
82C6 4D MOV C,L
82C7 210A00 LXI H,$000A
82CA 19 DAD D
82CB CDDF86 CALL MVDOWN
82CE F9 SPHL
82CF 2A1190 FR8:LHLD LOPPT
82D2 EB XCHG
82D3 CD8C80 CALL ENDCK
;
82D6 CD9380 NEXT:CALL TSTV
82D9 DA9985 JC QWHAT
82DC 220590 SHLD VARNXT
82DF D5 NX0:PUSH D
82E0 EB XCHG
82E1 2A0990 LHLD LOPVAR
82E4 7C MOV A,H
82E5 B5 ORA L
82E6 CA9A85 JZ AWHAT
82E9 CD7E80 CALL HDCP
82EC CAF982 JZ NX3
82EF D1 POP D
82F0 CDEE86 CALL POPA
82F3 2A0590 LHLD VARNXT
82F6 C3DF82 JMP NX0
82F9 5E NX3:MOV E,M
82FA 23 INX H
82FB 56 MOV D,M
82FC 2A0B90 LHLD LOPINC
82FF E5 PUSH H
8300 7C MOV A,H
8301 AA XRA D
8302 7A MOV A,D
8303 19 DAD D
8304 FA0B83 JM NX4
8307 AC XRA H
8308 FA2F83 JM NX5
830B EB NX4:XCHG
830C 2A0990 LHLD LOPVAR
830F 73 MOV M,E
8310 23 INX H
8311 72 MOV M,D
8312 2A0D90 LHLD LOPLMT
8315 F1 POP PSW
8316 B7 ORA A
8317 F21B83 JP NX1
831A EB XCHG
831B CD5D85 NX1:CALL CKHLDE
831E D1 POP D
831F DA3183 JC NX2
8322 2A0F90 LHLD LOPLN
8325 220190 SHLD CURRNT
8328 2A1190 LHLD LOPPT
832B EB XCHG
832C CD8C80 CALL ENDCK
832F E1 NX5:POP H
8330 D1 POP D
8331 CDEE86 NX2:CALL POPA
8334 CD8C80 CALL ENDCK
8337 210000 REM:LXI H,$0000
833A 3E DB 3E
;
833B CD7780 IFF:CALL EXPR
833E 7C MOV A,H
833F B5 ORA L
8340 C2BC81 JNZ RUNSML
8343 CD3386 CALL FNDSKP
8346 D2B581 JNC RUNTSL
8349 C31B81 JMP RSTART
;
834C 2A0790 INPERR:LHLD STKINP
834F F9 SPHL
8350 E1 POP H
8351 220190 SHLD CURRNT
8354 D1 POP D
8355 D1 POP D
;
INPUT:;
8356 D5 IP1:PUSH D
8357 CD4B86 CALL QTSTG
835A C36683 JMP IP2
835D CD9380 CALL TSTV
8360 DAA483 JC IP4
8363 C37883 JMP IP3
8366 D5 IP2:PUSH D
8367 CD9380 CALL TSTV
836A DA9985 JC QWHAT
836D 1A LDAX D
836E 4F MOV C,A
836F 97 SUB A
8370 12 STAX D
8371 D1 POP D
8372 CD3D86 CALL PRTSTG
8375 79 MOV A,C
8376 1B DCX D
8377 12 STAX D
8378 D5 IP3:PUSH D
8379 EB XCHG
837A 2A0190 LHLD CURRNT
837D E5 PUSH H
837E 215683 LXI H,IP1
8381 220190 SHLD CURRNT
8384 210000 LXI H,$0000
8387 39 DAD SP
8388 220790 SHLD STKINP
838B D5 PUSH D
838C 3E3A MVI A,3A
838E CDCF85 CALL GETLN
8391 119D9F LXI D,BUFFER
8394 CD7780 CALL EXPR
8397 00 NOP
8398 00 NOP
8399 00 NOP
839A D1 POP D
839B EB XCHG
839C 73 MOV M,E
839D 23 INX H
839E 72 MOV M,D
839F E1 POP H
83A0 220190 SHLD CURRNT
83A3 D1 POP D
83A4 F1 IP4:POP PSW
83A5 CD6580 CALL TSTC
83A8 2C DB 2C
83A9 03 DB 03
83AA C35683 JMP IP1
83AD CD8C80 IP5:CALL ENDCK
;
83B0 1A DEFLT:LDAX D
83B1 FE0D CPI 0D;CR
83B3 CAC183 JZ LT1
;
83B6 CD6785 LET:CALL SETVAL
83B9 CD6580 CALL TSTC
83BC 2C DB 2C
83BD 03 DB 03
83BE C3B683 JMP LET
83C1 CD8C80 LT1:CALL ENDCK
83C4 211088 EXPR1:LXI H,TAB8-1
83C7 C32A88 JMP EXEC
83CA CDF383 XP11:CALL XP18
83CD D8 RC
83CE 6F MOV L,A
83CF C9 RET
83D0 CDF383 XP12:CALL XP18
83D3 C8 RZ
83D4 6F MOV L,A
83D5 C9 RET
83D6 CDF383 XP13:CALL XP18
83D9 C8 RZ
83DA D8 RC
83DB 6F MOV L,A
83DC C9 RET
83DD CDF383 XP14:CALL XP18
83E0 6F MOV L,A
83E1 C8 RZ
83E2 D8 RC
83E3 6C MOV L,H
83E4 C9 RET
83E5 CDF383 XP15:CALL XP18
83E8 C0 RNZ
83E9 6F MOV L,A
83EA C9 RET
83EB CDF383 XP16:CALL XP18
83EE D0 RNC
83EF 6F MOV L,A
83F0 C9 RET
83F1 E1 XP17:POP H
83F2 C9 RET
83F3 79 XP18:MOV A,C
83F4 E1 POP H
83F5 C1 POP B
83F6 E5 PUSH H
83F7 C5 PUSH B
83F8 4F MOV C,A
83F9 CD0884 CALL EXPR2
83FC EB XCHG
83FD E3 XTHL
83FE CD5D85 CALL CKHLDE
8401 D1 POP D
8402 210000 LXI H,$0000
8405 3E01 MVI A,01
8407 C9 RET
8408 CD6580 EXPR2:CALL TSTC
840B 2D DB 2D;-
840C 06 DB 06
840D 210000 LXI H,$0000
8410 C34684 JMP XP26
8413 CD6580 XP21:CALL TSTC
8416 2B DB 2B;+
8417 00 DB 00
8418 CD5084 XP22:CALL EXPR3
841B CD6580 XP23:CALL TSTC
841E 2B DB 2B;+
841F 03 DB 03;jmp to XP25
8420 C32684 JMP XP232
8423 C33B84 JMP XP25
8426 E5 XP232:PUSH H
8427 CD5084 CALL EXPR3
842A EB XP24:XCHG
842B E3 XTHL
842C 7C MOV A,H
842D AA XRA D
842E 7A MOV A,D
842F 19 DAD D
8430 D1 POP D
8431 FA1B84 JM XP23
8434 AC XRA H
8435 F21B84 JP XP23
8438 C30081 JMP QHOW
843B CD6580 XP25:CALL TSTC
843E 2D DB 2D;-
843F 03 DB 03;jmp to XP42
8440 C34684 JMP XP26
8443 C3E484 JMP XP42
8446 E5 XP26:PUSH H
8447 CD5084 CALL EXPR3
844A CD4B85 CALL CHGSGN
844D C32A84 JMP XP24
8450 CDC084 EXPR3:CALL EXPR4
8453 CD6580 XP31:CALL TSTC
8456 2A DB 2A;*
8457 03 DB 03;jmp to XP34
8458 C35E84 JMP XP312
845B C38B84 JMP XP34
845E E5 XP312:PUSH H
845F CDC084 CALL EXPR4
8462 0600 MVI B,00
8464 CD4885 CALL CHKSGN
8467 E3 XTHL
8468 CD4885 CALL CHKSGN
846B EB XCHG
846C E3 XTHL
846D 7C MOV A,H
846E B7 ORA A
846F CA7884 JZ XP32
8472 7A MOV A,D
8473 B2 ORA D
8474 EB XCHG
8475 C20181 JNZ AHOW
8478 7D XP32:MOV A,L
8479 210000 LXI H,$0000
847C B7 ORA A
847D CAB284 JZ XP35
8480 19 XP33:DAD D
8481 DA0181 JC AHOW
8484 3D DCR A
8485 C28084 JNZ XP33
8488 C3B284 JMP XP35
848B CD6580 XP34:CALL TSTC
848E 2F DB 2F;/
848F 03 DB 03;jmp to XP42
8490 C39684 JMP XP342
8493 C3E484 JMP XP42
8496 E5 XP342:PUSH H
8497 CDC084 CALL EXPR4
849A 0600 MVI B,00
849C CD4885 CALL CHKSGN
849F E3 XTHL
84A0 CD4885 CALL CHKSGN
84A3 EB XCHG
84A4 E3 XTHL
84A5 EB XCHG
84A6 7A MOV A,D
84A7 B3 ORA E
84A8 CA0181 JZ AHOW
84AB C5 PUSH B
84AC CD2B85 CALL DIVIDE
84AF 60 MOV H,B
84B0 69 MOV L,C
84B1 C1 POP B
84B2 D1 XP35:POP D
84B3 7C MOV A,H
84B4 B7 ORA A
84B5 FA0081 JM QHOW
84B8 78 MOV A,B
84B9 B7 ORA A
84BA FC4B85 CM CHGSGN
84BD C35384 JMP XP31
84C0 21F087 EXPR4:LXI H,TAB4-1
84C3 C32A88 JMP EXEC
84C6 CD9380 XP40:CALL TSTV
84C9 DAD184 JC XP41
84CC 7E MOV A,M
84CD 23 INX H
84CE 66 MOV H,M
84CF 6F MOV L,A
84D0 C9 RET
84D1 CDD680 XP41:CALL TSTNUM
84D4 78 MOV A,B
84D5 B7 ORA A
84D6 C0 RNZ
84D7 CD6580 PARN:CALL TSTC
84DA 28 DB 28;(
84DB 09 DB 09;jmp to XP43
84DC CD7780 CALL EXPR
84DF CD6580 CALL TSTC
84E2 29 DB 29;)
84E3 01 DB 01
84E4 C9 XP42:RET
84E5 C39985 XP43:JMP QWHAT
;
84E8 CDD784 RND:CALL PARN
84EB 7C MOV A,H
84EC B7 ORA A
84ED F20081 JP QHOW
84F0 B5 ORA L
84F1 CA0081 JZ QHOW
84F4 D5 PUSH D
84F5 E5 PUSH H
84F6 2A1390 LHLD RANPNT
84F9 110090 LXI D,LSTROM
84FC CD7E80 CALL HDCP
84FF DA0585 JC RA1
8502 215D80 LXI H,START
8505 5E RA1:MOV E,M
8506 23 INX H
8507 56 MOV D,M
8508 221390 SHLD RANPNT
850B E1 POP H
850C EB XCHG
850D C5 PUSH B
850E CD2B85 CALL DIVIDE
8511 C1 POP B
8512 D1 POP D
8513 23 INX H
8514 C9 RET
8515 CDD784 ABS:CALL PARN
8518 1B DCX D
8519 CD4885 CALL CHKSGN
851C 13 INX D
851D C9 RET
851E 2A1590 SIZE:LHLD TXTUNF
8521 D5 PUSH D
8522 EB XCHG
8523 21669F LXI H,VARBGN
8526 CD4185 CALL SUBDE
8529 D1 POP D
852A C9 RET
852B E5 DIVIDE:PUSH H
852C 6C MOV L,H
852D 2600 MVI H,00
852F CD3685 CALL DV1
8532 41 MOV B,C
8533 7D MOV A,L
8534 E1 POP H
8535 67 MOV H,A
8536 0EFF DV1:MVI C,FF
8538 0C DV2:INR C
8539 CD4185 CALL SUBDE
853C D23885 JNC DV2
853F 19 DAD D
8540 C9 RET
8541 7D SUBDE:MOV A,L
8542 93 SUB E
8543 6F MOV L,A
8544 7C MOV A,H
8545 9A SBB D
8546 67 MOV H,A
8547 C9 RET
8548 7C CHKSGN:MOV A,H
8549 B7 ORA A
854A F0 RP
854B 7C CHGSGN:MOV A,H
854C F5 PUSH PSW
854D 2F CMA
854E 67 MOV H,A
854F 7D MOV A,L
8550 2F CMA
8551 6F MOV L,A
8552 23 INX H
8553 F1 POP PSW
8554 AC XRA H
8555 F20081 JP QHOW
8558 78 MOV A,B
8559 EE80 XRI 80
855B 47 MOV B,A
855C C9 RET
;
855D 7C CKHLDE:MOV A,H
855E AA XRA D
855F F26385 JP CK1
8562 EB XCHG
8563 CD7E80 CK1:CALL HDCP
8566 C9 RET
8567 CD9380 SETVAL:CALL TSTV
856A DA9985 JC QWHAT
856D E5 PUSH H
856E CD6580 CALL TSTC
8571 3D DB 3D;=
8572 0A DB 0A
8573 CD7780 CALL EXPR
8576 44 MOV B,H
8577 4D MOV C,L
8578 E1 POP H
8579 71 MOV M,C
857A 23 INX H
857B 70 MOV M,B
857C C9 RET
857D C39985 SV1:JMP QWHAT
;
8580 CD6580 FIN:CALL TSTC
8583 3B DB 3B;';'
8584 04 DB 04
8585 F1 POP PSW
8586 C3BC81 JMP RUNSML
8589 CD6580 FI1:CALL TSTC
858C 0D DB 0D
858D 04 DB 04
858E F1 POP PSW
858F C3AC81 JMP RUNNXL
8592 C9 FI2:RET
8593 CD8480 ENDCHK:CALL SPJP
8596 FE0D CPI 0D
8598 C8 RZ
;
8599 D5 QWHAT:PUSH D
859A 110F81 AWHAT:LXI D,WHAT
859D 97 ERROR:SUB A
859E CD3D86 CALL PRTSTG
85A1 D1 POP D
85A2 1A LDAX D
85A3 F5 PUSH PSW
85A4 97 SUB A
85A5 12 STAX D
85A6 2A0190 LHLD CURRNT
85A9 E5 PUSH H
85AA 7E MOV A,M
85AB 23 INX H
85AC B6 ORA M
85AD D1 POP D
85AE CA1B81 JZ RSTART
85B1 7E MOV A,M
85B2 B7 ORA A
85B3 FA4C83 JM INPERR
85B6 CDBF86 CALL PRTLN
85B9 1B DCX D
85BA F1 POP PSW
85BB 12 STAX D
85BC 3E3F MVI A,3F
85BE CD6F80 CALL OUTC
85C1 97 SUB A
85C2 CD3D86 CALL PRTSTG
85C5 C31B81 JMP RSTART
85C8 D5 QSORRY:PUSH D
85C9 111581 ASORRY:LXI D,SORRY
85CC C39D85 JMP ERROR
85CF CD6F80 GETLN:CALL OUTC
85D2 119D9F LXI D,BUFFER
85D5 CD6F87 GL1:CALL CHKIO
;JZ GL1
85D8 00 NOP
85D9 00 NOP
85DA 00 NOP
85DB FE7F CPI 7F
85DD CAFC85 JZ GL3
85E0 CD6F80 CALL OUTC
85E3 FE0A CPI 0A
85E5 CAD585 JZ GL1
85E8 B7 ORA A
85E9 CAD585 JZ GL1
85EC FE7D CPI 7D
85EE CA0B86 JZ GL4
85F1 12 STAX D
85F2 13 INX D
85F3 FE0D CPI 0D
85F5 C8 RZ
85F6 7B MOV A,E
85F7 FEDD CPI DD;BUFEND *********************
85F9 C2D585 JNZ GL1
85FC 7B GL3:MOV A,E
85FD FE9D CPI 9D;BUFFER *********************
85FF CA0B86 JZ GL4
8602 1B DCX D
8603 3E5C MVI A,5C;\(back slash)************
8605 CD6F80 CALL OUTC
8608 C3D585 JMP GL1
860B CD6D80 GL4:CALL CRLF
860E 3E5E MVI A,5E;^ *******?
8610 C3CF85 JMP GETLN
;
8613 7C FNDLN:MOV A,H
8614 B7 ORA A
8615 FA0081 JM QHOW
8618 111790 LXI D,TXTBGN
;
FNDLP:;
861B E5 FL1:PUSH H
861C 2A1590 LHLD TXTUNF
861F 2B DCX H
8620 CD7E80 CALL HDCP
8623 E1 POP H
8624 D8 RC
8625 1A LDAX D
8626 95 SUB L
8627 47 MOV B,A
8628 13 INX D
8629 1A LDAX D
862A 9C SBB H
862B DA3286 JC FL2
862E 1B DCX D
862F B0 ORA B
8630 C9 RET
;
8631 13 FNDNXT:INX D
8632 13 FL2:INX D
;
8633 1A FNDSKP:LDAX D
8634 FE0D CPI 0D
8636 C23286 JNZ FL2
8639 13 INX D
863A C31B86 JMP FL1
863D 47 PRTSTG:MOV B,A
863E 1A PS1:LDAX D
863F 13 INX D
8640 B8 CMP B
8641 C8 RZ
8642 CD6F80 CALL OUTC
8645 FE0D CPI 0D
8647 C23E86 JNZ PS1
864A C9 RET
;
864B CD6580 QTSTG:CALL TSTC
864E 22 DB 22;"
864F 0F DB 0F
8650 3E22 MVI A,22
8652 CD3D86 QT1:CALL PRTSTG
8655 FE0D CPI 0D
8657 E1 POP H
8658 CAAC81 JZ RUNNXL
865B 23 QT2:INX H
865C 23 INX H
865D 23 INX H
865E E9 PCHL
865F CD6580 QT3: CALL TSTC
8662 27 DB 27;'
8663 05 DB 05
8664 3E27 MVI A,27;'
8666 C35286 JMP QT1
8669 CD6580 QT4:CALL TSTC
866C 5F DB 5F;_;*******
866D 0C DB 0C
866E 3E8D MVI A,8D;*******
8670 CD6F80 CALL OUTC;*****
8673 CD6F80 CALL OUTC;******
8676 E1 POP H
8677 C35B86 JMP QT2
867A C9 QT5:RET
;
867B 0600 PRTNUM:MVI B,00
867D CD4885 CALL CHKSGN
8680 F28686 JP PN1
8683 062D MVI B,2D;-
8685 0D DCR C
8686 D5 PN1:PUSH D
8687 110A00 LXI D,$000A;DECIMAL
868A D5 PUSH D
868B 0D DCR C
868C C5 PUSH B
868D CD2B85 PN2:CALL DIVIDE
8690 78 MOV A,B
8691 B1 ORA C
8692 CA9D86 JZ PN3
8695 E3 XTHL
8696 2D DCR L
8697 E5 PUSH H
8698 60 MOV H,B
8699 69 MOV L,C
869A C38D86 JMP PN2
869D C1 PN3:POP B
869E 0D PN4:DCR C
869F 79 MOV A,C
86A0 B7 ORA A
86A1 FAAC86 JM PN5
86A4 3E20 MVI A,20
86A6 CD6F80 CALL OUTC
86A9 C39E86 JMP PN4
86AC 78 PN5:MOV A,B
86AD B7 ORA A
86AE C46F80 CNZ OUTC
86B1 5D MOV E,L
86B2 7B PN6:MOV A,E
86B3 FE0A CPI 0A
86B5 D1 POP D
86B6 C8 RZ
86B7 C630 ADI 30
86B9 CD6F80 CALL OUTC
86BC C3B286 JMP PN6
;
86BF 1A PRTLN:LDAX D
86C0 6F MOV L,A
86C1 13 INX D
86C2 1A LDAX D
86C3 67 MOV H,A
86C4 13 INX D
86C5 0E04 MVI C,04
86C7 CD7B86 CALL PRTNUM
86CA 3E20 MVI A,20
86CC CD6F80 CALL OUTC
86CF 97 SUB A
86D0 CD3D86 CALL PRTSTG
86D3 C9 RET
86D4 CD7E80 MVUP:CALL HDCP
86D7 C8 RZ
86D8 1A LDAX D
86D9 02 STAX B
86DA 13 INX D
86DB 03 INX B
86DC C3D486 JMP MVUP
86DF 78 MVDOWN:MOV A,B
86E0 92 SUB D
86E1 C2E786 JNZ MD1
86E4 79 MOV A,C
86E5 93 SUB E
86E6 C8 RZ
86E7 1B MD1:DCX D
86E8 2B DCX H
86E9 1A LDAX D
86EA 77 MOV M,A
86EB C3DF86 JMP MVDOWN
;
86EE C1 POPA:POP B
86EF E1 POP H
86F0 220990 SHLD LOPVAR
86F3 7C MOV A,H
86F4 B5 ORA L
86F5 CA0887 JZ PP1
86F8 E1 POP H
86F9 220B90 SHLD LOPINC
86FC E1 POP H
86FD 220D90 SHLD LOPLMT
8700 E1 POP H
8701 220F90 SHLD LOPLN
8704 E1 POP H
8705 221190 SHLD LOPPT
8708 C5 PP1:PUSH B
8709 C9 RET
;
870A 21DE9F PUSHA:LXI H,STKLMT
870D CD4B85 CALL CHGSGN
8710 C1 POP B
8711 39 DAD SP
8712 D2C885 JNC QSORRY
8715 2A0990 LHLD LOPVAR
8718 7C MOV A,H
8719 B5 ORA L
871A CA3087 JZ PU1
871D 2A1190 LHLD LOPPT
8720 E5 PUSH H
8721 2A0F90 LHLD LOPLN
8724 E5 PUSH H
8725 2A0D90 LHLD LOPLMT
8728 E5 PUSH H
8729 2A0B90 LHLD LOPINC
872C E5 PUSH H
872D 2A0990 LHLD LOPVAR
8730 E5 PU1:PUSH H
8731 C5 PUSH B
8732 C9 RET
8733 320090 INIT:STA OCSW
8736 CD6D80 CALL CRLF
8739 97 SUB A
873A 119387 LXI D,MSG1
873D CD3D86 CALL PRTSTG
8740 215D80 LXI H,START
8743 221390 SHLD RANPNT
8746 211790 LXI H,TXTBGN
8749 221590 SHLD TXTUNF
874C C31B81 JMP RSTART
874F C25487 OC2:JNZ OC3
8752 F1 POP PSW
8753 C9 RET
8754 F1 OC3:POP PSW
8755 C5 PUSH B
8756 06E7 MVI B,E7
8758 CD6987 CALL OCSUB
875B FE0D CPI 0D;CR
875D C26787 JNZ OC4
8760 3E0A MVI A,0A;LF
8762 CD6987 CALL OCSUB
8765 3E0D MVI A,0D;CR
8767 C1 OC4:POP B
8768 C9 RET
;
8769 F5 OCSUB:PUSH PSW
876A CDAB10 CALL SOUT
;CALL SOUTT
876D F1 POP PSW
876E C9 RET
;
876F C5 CHKIO:PUSH B
;MVI B,EF
;CALL SIN
;CALL SINT
8770 CD5888 CALL SINSB
8773 FE1A CPI 1A
8775 CA8287 JZ BREAK;ctrl+Z
;MOV A,C
8778 C1 POP B
8779 FE61 CPI 61;a
877B D8 RC
877C FE7B CPI 7B;z+01
877E D0 RNC
877F D620 SUI 20
8781 C9 RET
8782 AF BREAK:XRA A
8783 118C87 LXI D,BREAKT
8786 CD3D86 CALL PRTSTG
8789 C33310 JMP REENT
878C 454E4420 BREAKT:"END "
8790 6F6620 "of "
8793 54494E59 MSG1:"TINY"
8797 42415349 "BASI"
879B 43 "C"
879C 0D TAB1-1:DB 0D
879D 4C495354 "LIST";TAB1
87A1 80 DB 80
87A2 03 DB 03
87A3 52554E "RUN"
87A6 80 DB 80
87A7 06 DB 06
87A8 4E4557 "NEW"
87AB 80 DB 80
87AC 09 TAB2-1:DB 09
87AD 4E455854 "NEXT";TAB2
87B1 80 DB 80
87B2 0C DB 0C
87B3 4C4554 "LET"
87B6 80 DB 80
87B7 0F DB 0F
87B8 4946 "IF"
87BA 80 DB 80
87BB 12 DB 12
87BC 474F544F "GOTO"
87C0 80 DB 80
87C1 15 DB 15
87C2 474F5355 "GOSU"
87C6 42 "B"
87C7 80 DB 80
87C8 18 DB 18
87C9 52455455 "RETU"
87CD 524E "RN"
87CF 80 DB 80
87D0 1B DB 1B
87D1 52454D "REM"
87D4 80 DB 80
87D5 1E DB 1E
87D6 464F52 "FOR"
87D9 80 DB 80
87DA 21 DB 21
87DB 494E5055 "INPU"
87DF 54 "T"
87E0 80 DB 80
87E1 24 DB 24
87E2 5052494E "PRIN"
87E6 54 "T"
87E7 80 DB 80
87E8 27 DB 27
87E9 53544F50 "STOP"
87ED 80 DB 80
87EE 2A DB 2A
87EF 80 DB 80
87F0 2D TAB4-1:DB 2D
87F1 524E44 "RND";TAB4
87F4 80 DB 80
87F5 30 DB 30
87F6 414253 "ABS"
87F9 80 DB 80
87FA 33 DB 33
87FB 53495A45 "SIZE"
87FF 80 DB 80
8800 36 DB 36
8801 80 DB 80
8802 39 TAB5-1:DB 39
8803 544F "TO";TAB5
8805 80 DB 80
8806 3C DB 3C
8807 80 DB 80
8808 3F TAB6-1:DB 3F
8809 53544550 "STEP";TAB6
880D 80 DB 80
880E 42 DB 42
880F 80 DB 80
8810 45 TAB8-1:DB 45
8811 3E DB 3E;">=";TAB8
8812 3D DB 3D
8813 80 DB 80
8814 48 DB 48
8815 23 DB 23;"#"
8816 80 DB 80
8817 4B DB 4B
8818 3E DB 3E;">"
8819 80 DB 80
881A 4E DB 4E
881B 3D DB 3D;"="
881C 80 DB 80
881D 51 DB 51
881E 3C DB 3C;"<="
881F 3D DB 3D
8820 80 DB 80
8821 54 DB 54
8822 3C DB 3C;"<"
8823 80 DB 80
8824 57 DB 57
8825 80 DB 80
8826 5A DB 5A
;
8827 219C87 DIRECT:LXI H,TAB1-1
;
EXEC:;
882A CD8480 EX0:CALL SPJP
882D D5 PUSH D
882E 1A EX1:LDAX D
882F 13 INX D
8830 FE2E CPI 2E
8832 CA4B88 JZ EX3
8835 23 INX H
8836 BE CMP M
8837 CA2E88 JZ EX1
883A 3E7F MVI A,7F
883C 1B DCX D
883D BE CMP M
883E DA5288 JC EX5
8841 23 EX2:INX H
8842 BE CMP M
8843 D24188 JNC EX2
8846 23 INX H
8847 D1 POP D
8848 C32A88 JMP EX0
884B 3E7F EX3:MVI A,7F
884D 23 EX4:INX H
884E BE CMP M
884F D24D88 JNC EX4
8852 7E EX5:MOV A,M
8853 23 INX H
8854 6E MOV L,M
;ANI 7F
8855 67 MOV H,A
8856 F1 POP PSW
8857 E9 PCHL
;******test
8858 3E05 SINSB:MVI A,05
885A CDAB10 CALL SOUT
885D CDAE10 CALL SIN
8860 C9 RET
;
ORG $9000
LSTROM:;
9000 00 OCSW:DB 00
9001 00 CURRNT:DB 00
9002 00 DB 00
9003 00 STKGOS:DB 00
9004 00 DB 00
9005 00 VARNXT:DB 00
9006 00 DB 00
9007 00 STKINP:DB 00
9008 00 DB 00
9009 00 LOPVAR:DB 00
900A 00 DB 00
900B 00 LOPINC:DB 00
900C 00 DB 00
900D 00 LOPLMT:DB 00
900E 00 DB 00
900F 00 LOPLN: DB 00
9010 00 DB 00
9011 00 LOPPT: DB 00
9012 00 DB 00
9013 00 RANPNT:DB 00
9014 00 DB 00
9015 00 TXTUNF:DB 00
9016 00 DB 00
9017 00 TXTBGN:DB 00
9018 00 DB 00
ORG $9F66
TXTEND:;
9F66 00 VARBGN:NOP;@(),A to Z 54+1byte
ORG $9F9D
9F9D 00 BUFFER:NOP;input buffer 80byte
ORG $9FDD
9FDD 00 BUFEND:NOP
9FDE 00 STKLMT:NOP
ORG $A000
STACK:;
;
;END
ABS =8515 AHOW =8101 ASORRY =85C9
AWHAT =859A BREAK =8782 BREAKT =878C
BUFEND =9FDD BUFFER =9F9D CHGSGN =854B
CHKIO =876F CHKSGN =8548 CK1 =8563
CKHLDE =855D CRLF =806D CURRNT =9001
DEFLT =83B0 DIRECT =8827 DIVIDE =852B
DV1 =8536 DV2 =8538 ENDCHK =8593
ENDCK =808C ERROR =859D EX0 =882A
EX1 =882E EX2 =8841 EX3 =884B
EX4 =884D EX5 =8852 EXEC =882A
EXPR =8077 EXPR1 =83C4 EXPR2 =8408
EXPR3 =8450 EXPR4 =84C0 FI1 =8589
FI2 =8592 FIN =8580 FL1 =861B
FL2 =8632 FNDLN =8613 FNDLP =861B
FNDNXT =8631 FNDSKP =8633 FOR =8271
FR1 =8281 FR2 =828D FR3 =8293
FR4 =8296 FR5 =8299 FR7 =82AE
FR8 =82CF GETLN =85CF GL1 =85D5
GL3 =85FC GL4 =860B GOSUB =8234
GOTO =81C5 HDCP =807E HOW =8107
IFF =833B INIT =8733 INPERR =834C
INPUT =8356 IP1 =8356 IP2 =8366
IP3 =8378 IP4 =83A4 IP5 =83AD
LET =83B6 LIST =81D6 LOPINC =900B
LOPLMT =900D LOPLN =900F LOPPT =9011
LOPVAR =9009 LS1 =81DF LSTROM =9000
LT1 =83C1 MD1 =86E7 MSG1 =8793
MVDOWN =86DF MVUP =86D4 NEW =8197
NEXT =82D6 NX0 =82DF NX1 =831B
NX2 =8331 NX3 =82F9 NX4 =830B
NX5 =832F OC2 =874F OC3 =8754
OC4 =8767 OCSUB =8769 OCSW =9000
OK =810C OUTC =806F PARN =84D7
PN1 =8686 PN2 =868D PN3 =869D
PN4 =869E PN5 =86AC PN6 =86B2
POPA =86EE PP1 =8708 PR0 =8206
PR1 =8212 PR2 =81FB PR3 =8218
PR6 =8223 PR8 =8229 PRINT =81EE
PRTLN =86BF PRTNUM =867B PRTSTG =863D
PS1 =863E PU1 =8730 PUSHA =870A
QHOW =8100 QSORRY =85C8 QT1 =8652
QT2 =865B QT3 =865F QT4 =8669
QT5 =867A QTSTG =864B QWHAT =8599
RA1 =8505 RANPNT =9013 REENT =1033
REM =8337 RETURN =8256 RND =84E8
RSTART =811B RUN =81A6 RUNNXL =81AC
RUNSML =81BC RUNTSL =81B5 SETVAL =8567
SIN =10AE SINSB =8858 SIZE =851E
SORRY =8115 SOUT =10AB SPJP =8084
ST1 =811E ST2 =812E ST22 =812F
ST3 =8137 ST4 =816E STACK =A000
START =805D STKGOS =9003 STKINP =9007
STKLMT =9FDE STOP =81A0 SUBDE =8541
SV1 =857D TAB1-1 =879C TAB2-1 =87AC
TAB4-1 =87F0 TAB5-1 =8802 TAB6-1 =8808
TAB8-1 =8810 TC1 =80C7 TC2 =80D2
TN1 =80DD TSTC =8065 TSTNUM =80D6
TSTV =8093 TV1 =80B7 TXTBGN =9017
TXTEND =9F66 TXTUNF =9015 VARBGN =9F66
VARNXT =9005 WHAT =810F XP11 =83CA
XP12 =83D0 XP13 =83D6 XP14 =83DD
XP15 =83E5 XP16 =83EB XP17 =83F1
XP18 =83F3 XP21 =8413 XP22 =8418
XP23 =841B XP232 =8426 XP24 =842A
XP25 =843B XP26 =8446 XP31 =8453
XP312 =845E XP32 =8478 XP33 =8480
XP34 =848B XP342 =8496 XP35 =84B2
XP40 =84C6 XP41 =84D1 XP42 =84E4
XP43 =84E5
|
下のリンクをクリックするとソースプログラムがテキスト表示されます。
表示の適当なところを右クリックして「名前をつけて保存」を選びます。
プラウザやシステムによっては、「名前をつけてリンク先を保存」「名前をつけてページを保存」などの表示になることもあります。
またリンクを開かないで、そこで右クリックして、メニューから「名前をつけて保存」を選ぶという方法もあります。
tinybst7.txt
保存先はどこでもよいのですが、ASM80.COMがあるフォルダに保存するのが一番簡単です。
[注記]テキストファイルのダウンロードについて注意事項が有ります([第40回]、[第41回]を参照願います)。
ASM80.COMはND80Z3.5附属CDROMから取扱説明書の通りにコピーした場合にはnd80z3フォルダにあります。
ND8080ではnd8080フォルダにあります。
ND80KL86ボード(KL5C80A12版)の場合には附属CDROMのnd80z3.5cdromフォルダの中のnd80z3フォルダにありますからnd80z3フォルダをそのままC:ドライブにコピーするか、もしzb3u6フォルダをコピーしていたらそこにASM80.COMをコピーしてください。
asm80 tinybst7.txt[enter]
と入力するとアセンブルリストファイル(tinybst7.lst)などのファイルとともに実行ファイルtinybst7.binが作成されます。

tinybst7.binはND80Z3.5、ND8080などでZB3BASICを起動したあと、/LDコマンドでアドレス8000にロードします。
そのあとJP 8000[Enter]と入力することでTINY BASICが起動します。

上の画面のようにプログラムを入力して実行することができます。
プログラムの入力やコマンドの入力ではスクリーンエディタは使えません。
まだ[Back Space]などの機能も使えませんから入力間違いをしたときにはそのまま[Enter]を押して一旦入力を完了させたあと、同じ行番号でもう一度入力し直してください。
ZB3BASICの入力機能を利用していますから見かけ上スクリーンエディタが働いているように見えますが実際には入力途中での訂正はできません。
このあたりの機能については少しずつ補強していくつもりです。
復活!TINY BASIC[第33回]
2020.7.6upload
前へ
次へ
ホームページトップへ戻る