AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 1 - 8/21/2018 7:36:22 1/ 0 : ; File Name : d:\hobby3\ac1\minibasic\minibasic.bin 2/ 0 : ; Base Address: 0000h Range: 0800h - 1000h Loaded length: 0800h 3/ 0 : ; reass: V.Pohlers 20.08.2018 4/ 0 : 5/ 0 : cpu z80 6/ 0 : 7/ 0 : ; Speicheraufteilung 8/ 0 : =800H BASIC equ 0800h 9/ 0 : =1800H RAM equ 1800h 10/ 0 : 11/ 0 : ; Monitor-Einsprünge 12/ 0 : =8H inch equ 0008h 13/ 0 : =10H outch equ 0010h 14/ 0 : =7EBH MS30 equ 07EBh ; 30 ms warten 15/ 0 : ;OUTHEX equ 07EEh 16/ 0 : ;OUTHL equ 07F1h ; Ausgabe HL hexadezimal 17/ 0 : ;INLINE equ 07F4h ; Zeile eingeben 18/ 0 : ;INHEX equ 07F7h 19/ 0 : =7FAH TASTE equ 07FAh 20/ 0 : =7FDH GETCO1 equ 07FDh 21/ 0 : 22/ 0 : 23/ 0 : ;********************************************************** 24/ 0 : ; Mini B A S I C INTERPRETER AC1 25/ 0 : ; basiert auf Basic-Interpreter: Funktionsweise u. Implementierung 26/ 0 : ; in 8080/Z-80-ECHOmputern / Rolf-Dieter Klein. München: Franzis, 1981 27/ 0 : ;********************************************************** 28/ 0 : 29/ 800 : org BASIC 30/ 800 : 31/ 800 : C3 8F 0B jp START 32/ 803 : C3 BC 0B jp RSTART 33/ 806 : ; 34/ 806 : C3 08 00 CI: jp inch 35/ 809 : C3 10 00 ECHO: jp outch 36/ 80C : CD FA 07 CSTS: call TASTE 37/ 80F : 20 02 jr nz, cs1 38/ 811 : AF xor a 39/ 812 : C9 ret 40/ 813 : 3E FF cs1: ld a, 0FFh 41/ 815 : A7 and a 42/ 816 : C9 ret 43/ 817 : ; 44/ 817 : 7C ECHOMP: ld a, h 45/ 818 : BA cp d 46/ 819 : C0 ret nz 47/ 81A : 7D ld a, l 48/ 81B : BB cp e 49/ 81C : C9 ret 50/ 81D : ; 51/ 81D : 1A IGNB: ld a, (de) 52/ 81E : FE 20 cp ' ' 53/ 820 : C0 ret nz 54/ 821 : 13 inc de 55/ 822 : 18 F9 jr IGNB 56/ 824 : ; 57/ 824 : F1 FINI: pop af 58/ 825 : CD 20 0A call FIN 59/ 828 : C3 39 0A jp QWHAT 60/ 82B : ; AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 2 - 8/21/2018 7:36:22 61/ 82B : CD 1D 08 TSTV: call IGNB 62/ 82E : D6 40 sub 40h ; '@' 63/ 830 : D8 ret c 64/ 831 : 20 19 jr nz, TV1 65/ 833 : 13 inc de 66/ 834 : CD 92 09 call PARN 67/ 837 : 29 add hl, hl 68/ 838 : 38 5A jr c, QHOW 69/ 83A : D5 push de 70/ 83B : EB ex de, hl 71/ 83C : CD 5F 0D call SIZE 72/ 83F : CD 17 08 call ECHOMP 73/ 842 : DA 69 0A jp c, ASORRY 74/ 845 : 2A 4A 19 ld hl, (TXTEND) 75/ 848 : ED 52 sbc hl, de 76/ 84A : D1 pop de 77/ 84B : C9 ret 78/ 84C : FE 1B TV1: cp 1Bh 79/ 84E : 3F ccf 80/ 84F : D8 ret c 81/ 850 : 13 inc de 82/ 851 : 21 13 19 ld hl, VARBGN 83/ 854 : 07 rlca 84/ 855 : 85 tv2: add a, l 85/ 856 : 6F ld l, a 86/ 857 : 3E 00 ld a, 0 87/ 859 : 8C adc a, h 88/ 85A : 67 ld h, a 89/ 85B : C9 ret 90/ 85C : ; 91/ 85C : E3 TSTC: ex (sp), hl 92/ 85D : CD 1D 08 call IGNB 93/ 860 : BE cp (hl) 94/ 861 : 23 TC1: inc hl 95/ 862 : 28 07 jr z, TC2 96/ 864 : C5 push bc 97/ 865 : 4E ld c, (hl) 98/ 866 : 06 00 ld b, 0 99/ 868 : 09 add hl, bc 100/ 869 : C1 pop bc 101/ 86A : 1B dec de 102/ 86B : 13 TC2: inc de 103/ 86C : 23 inc hl 104/ 86D : E3 ex (sp), hl 105/ 86E : C9 ret 106/ 86F : ; 107/ 86F : 21 00 00 TSTNUM: ld hl, 0 108/ 872 : 44 ld b, h 109/ 873 : CD 1D 08 call IGNB 110/ 876 : FE 30 TN1: cp '0' 111/ 878 : D8 ret c 112/ 879 : FE 3A cp 3Ah ; '9'+1 113/ 87B : D0 ret nc 114/ 87C : 3E F0 ld a, 0F0h 115/ 87E : A4 and h 116/ 87F : 20 13 jr nz, QHOW 117/ 881 : 04 inc b 118/ 882 : C5 push bc 119/ 883 : 44 ld b, h 120/ 884 : 4D ld c, l AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 3 - 8/21/2018 7:36:22 121/ 885 : 29 add hl, hl 122/ 886 : 29 add hl, hl 123/ 887 : 09 add hl, bc 124/ 888 : 29 add hl, hl 125/ 889 : 1A ld a, (de) 126/ 88A : 13 inc de 127/ 88B : E6 0F and 0Fh 128/ 88D : CD 55 08 call tv2 129/ 890 : C1 pop bc 130/ 891 : 1A ld a, (de) 131/ 892 : 18 E2 jr TN1 132/ 894 : ; 133/ 894 : D5 QHOW: push de 134/ 895 : 11 A6 0F AHOW: ld de, HOW 135/ 898 : C3 3D 0A jp ERROR 136/ 89B : ; 137/ 89B : ;***************************************************** 138/ 89B : ; EXPR UPR 139/ 89B : ;***************************************************** 140/ 89B : ; 141/ 89B : CD E3 08 EXPR: call EXPR2 142/ 89E : E5 push hl 143/ 89F : 21 8E 0F ld hl, TAB8-1 144/ 8A2 : C3 A6 09 jp EXEC 145/ 8A5 : CD CE 08 XP11: call XP18 146/ 8A8 : D8 ret c 147/ 8A9 : 6F ld l, a 148/ 8AA : C9 ret 149/ 8AB : CD CE 08 XP12: call XP18 150/ 8AE : C8 ret z 151/ 8AF : 6F ld l, a 152/ 8B0 : C9 ret 153/ 8B1 : CD CE 08 XP13: call XP18 154/ 8B4 : C8 ret z 155/ 8B5 : D8 ret c 156/ 8B6 : 6F ld l, a 157/ 8B7 : C9 ret 158/ 8B8 : CD CE 08 XP14: call XP18 159/ 8BB : 6F ld l, a 160/ 8BC : C8 ret z 161/ 8BD : D8 ret c 162/ 8BE : 6C ld l, h 163/ 8BF : C9 ret 164/ 8C0 : CD CE 08 XP15: call XP18 165/ 8C3 : C0 ret nz 166/ 8C4 : 6F ld l, a 167/ 8C5 : C9 ret 168/ 8C6 : CD CE 08 XP16: call XP18 169/ 8C9 : D0 ret nc 170/ 8CA : 6F ld l, a 171/ 8CB : C9 ret 172/ 8CC : E1 XP17: pop hl 173/ 8CD : C9 ret 174/ 8CE : 79 XP18: ld a, c 175/ 8CF : E1 pop hl 176/ 8D0 : C1 pop bc 177/ 8D1 : E5 push hl 178/ 8D2 : C5 push bc 179/ 8D3 : 4F ld c, a 180/ 8D4 : CD E3 08 call EXPR2 AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 4 - 8/21/2018 7:36:22 181/ 8D7 : EB ex de, hl 182/ 8D8 : E3 ex (sp), hl 183/ 8D9 : CD 02 0A call CKHLDE 184/ 8DC : D1 pop de 185/ 8DD : 21 00 00 ld hl, 0 186/ 8E0 : 3E 01 ld a, 1 187/ 8E2 : C9 ret 188/ 8E3 : ; 189/ 8E3 : CD 5C 08 EXPR2: call TSTC 190/ 8E6 : 2D db '-' 191/ 8E7 : 05 db XP21-$-1 192/ 8E8 : 21 00 00 ld hl, 0 193/ 8EB : 18 27 jr XP26 194/ 8ED : CD 5C 08 XP21: call TSTC 195/ 8F0 : 2B db '+' 196/ 8F1 : 00 db XP22-$-1 197/ 8F2 : CD 1D 09 XP22: call EXPR3 198/ 8F5 : CD 5C 08 XP23: call TSTC 199/ 8F8 : 2B db '+' 200/ 8F9 : 15 db XP25-$-1 201/ 8FA : E5 push hl 202/ 8FB : CD 1D 09 call EXPR3 203/ 8FE : EB XP24: ex de, hl 204/ 8FF : E3 ex (sp), hl 205/ 900 : 7C ld a, h 206/ 901 : AA xor d 207/ 902 : 7A ld a, d 208/ 903 : 19 add hl, de 209/ 904 : D1 pop de 210/ 905 : FA F5 08 jp m, XP23 211/ 908 : AC xor h 212/ 909 : F2 F5 08 jp p, XP23 213/ 90C : C3 94 08 jp QHOW 214/ 90F : CD 5C 08 XP25: call TSTC 215/ 912 : 2D db '-' 216/ 913 : 8B db XP42-$-1 217/ 914 : E5 XP26: push hl 218/ 915 : CD 1D 09 call EXPR3 219/ 918 : CD ED 09 call CHGSGN 220/ 91B : 18 E1 jr XP24 221/ 91D : ; 222/ 91D : CD 7C 09 EXPR3: call EXPR4 223/ 920 : CD 5C 08 XP31: call TSTC 224/ 923 : 2A db '*' 225/ 924 : 29 db XP34-$-1 226/ 925 : E5 push hl 227/ 926 : CD 7C 09 call EXPR4 228/ 929 : 06 00 ld b, 0 229/ 92B : CD EA 09 call CHKSGN 230/ 92E : E3 ex (sp), hl 231/ 92F : CD EA 09 call CHKSGN 232/ 932 : EB ex de, hl 233/ 933 : E3 ex (sp), hl 234/ 934 : 7C ld a, h 235/ 935 : B7 or a 236/ 936 : 28 06 jr z, XP32 237/ 938 : 7A ld a, d 238/ 939 : B2 or d 239/ 93A : EB ex de, hl 240/ 93B : C2 95 08 jp nz, AHOW AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 5 - 8/21/2018 7:36:22 241/ 93E : 7D XP32: ld a, l 242/ 93F : 21 00 00 ld hl, 0 243/ 942 : B7 or a 244/ 943 : 28 2A jr z, XP35 245/ 945 : 19 XP33: add hl, de 246/ 946 : DA 95 08 jp c, AHOW 247/ 949 : 3D dec a 248/ 94A : 20 F9 jr nz, XP33 249/ 94C : 18 21 jr XP35 250/ 94E : CD 5C 08 XP34: call TSTC 251/ 951 : 2F db '/' 252/ 952 : 4C db XP42-$-1 253/ 953 : E5 push hl 254/ 954 : CD 7C 09 call EXPR4 255/ 957 : 06 00 ld b, 0 256/ 959 : CD EA 09 call CHKSGN 257/ 95C : E3 ex (sp), hl 258/ 95D : CD EA 09 call CHKSGN 259/ 960 : EB ex de, hl 260/ 961 : E3 ex (sp), hl 261/ 962 : EB ex de, hl 262/ 963 : 7A ld a, d 263/ 964 : B3 or e 264/ 965 : CA 95 08 jp z, AHOW 265/ 968 : C5 push bc 266/ 969 : CD D5 09 call DIVIDE 267/ 96C : 60 ld h, b 268/ 96D : 69 ld l, c 269/ 96E : C1 pop bc 270/ 96F : D1 XP35: pop de 271/ 970 : 7C ld a, h 272/ 971 : B7 or a 273/ 972 : FA 94 08 jp m, QHOW 274/ 975 : 78 ld a, b 275/ 976 : B7 or a 276/ 977 : FC ED 09 call m, CHGSGN 277/ 97A : 18 A4 jr XP31 278/ 97C : ; 279/ 97C : 21 5C 0F EXPR4: ld hl, TAB4-1 280/ 97F : C3 A6 09 jp EXEC 281/ 982 : CD 2B 08 XP40: call TSTV 282/ 985 : 38 05 jr c, XP41 283/ 987 : 7E ldhl: ld a, (hl) 284/ 988 : 23 inc hl 285/ 989 : 66 ld h, (hl) 286/ 98A : 6F ld l, a 287/ 98B : C9 ret 288/ 98C : CD 6F 08 XP41: call TSTNUM 289/ 98F : 78 ld a, b 290/ 990 : B7 or a 291/ 991 : C0 ret nz 292/ 992 : CD 5C 08 PARN: call TSTC 293/ 995 : 28 db '(' 294/ 996 : 09 db XP43-$-1 295/ 997 : CD 9B 08 call EXPR 296/ 99A : CD 5C 08 call TSTC 297/ 99D : 29 db ')' 298/ 99E : 01 db XP43-$-1 299/ 99F : C9 XP42: ret 300/ 9A0 : C3 39 0A XP43: jp QWHAT AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 6 - 8/21/2018 7:36:22 301/ 9A3 : ; 302/ 9A3 : 21 DD 0E DIRECT: ld hl, TAB1-1 303/ 9A6 : ; 304/ 9A6 : CD 1D 08 EXEC: call IGNB 305/ 9A9 : D5 push de 306/ 9AA : 1A EX1: ld a, (de) 307/ 9AB : 13 inc de 308/ 9AC : FE 2E cp '.' 309/ 9AE : 28 1A jr z, EX4 310/ 9B0 : 23 inc hl 311/ 9B1 : BE cp (hl) 312/ 9B2 : 28 F6 jr z, EX1 313/ 9B4 : F6 80 or 80h 314/ 9B6 : BE cp (hl) 315/ 9B7 : 28 16 jr z, EX5 316/ 9B9 : 1B dec de 317/ 9BA : 3E 80 ld a, 80h 318/ 9BC : BE cp (hl) 319/ 9BD : 28 10 jr z, EX5 320/ 9BF : 2B dec hl 321/ 9C0 : 23 EX2: inc hl 322/ 9C1 : CB 7E bit 7, (hl) 323/ 9C3 : 28 FB jr z, EX2 324/ 9C5 : 23 inc hl 325/ 9C6 : 23 inc hl 326/ 9C7 : D1 pop de 327/ 9C8 : 18 DC jr EXEC 328/ 9CA : 23 EX4: inc hl 329/ 9CB : CB 7E bit 7, (hl) 330/ 9CD : 28 FB jr z, EX4 331/ 9CF : 23 EX5: inc hl 332/ 9D0 : CD 87 09 call ldhl 333/ 9D3 : F1 pop af 334/ 9D4 : E9 jp (hl) 335/ 9D5 : ; 336/ 9D5 : ;************************************************ 337/ 9D5 : ; DIVIDE CHKSGN CHGSGN CKHLDE UPR 338/ 9D5 : ;************************************************ 339/ 9D5 : ; 340/ 9D5 : E5 DIVIDE: push hl 341/ 9D6 : 6C ld l, h 342/ 9D7 : 26 00 ld h, 0 343/ 9D9 : CD E0 09 call DV1 344/ 9DC : 41 ld b, c 345/ 9DD : 7D ld a, l 346/ 9DE : E1 pop hl 347/ 9DF : 67 ld h, a 348/ 9E0 : 0E FF DV1: ld c, 0FFh 349/ 9E2 : 0C DV2: inc c 350/ 9E3 : A7 and a 351/ 9E4 : ED 52 sbc hl, de 352/ 9E6 : 30 FA jr nc, DV2 353/ 9E8 : 19 add hl, de 354/ 9E9 : C9 ret 355/ 9EA : ; 356/ 9EA : 7C CHKSGN: ld a, h 357/ 9EB : B7 or a 358/ 9EC : F0 ret p 359/ 9ED : ; 360/ 9ED : 7C CHGSGN: ld a, h AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 7 - 8/21/2018 7:36:22 361/ 9EE : B5 or l 362/ 9EF : C8 ret z 363/ 9F0 : 7C ld a, h 364/ 9F1 : F5 push af 365/ 9F2 : 2F cpl 366/ 9F3 : 67 ld h, a 367/ 9F4 : 7D ld a, l 368/ 9F5 : 2F cpl 369/ 9F6 : 6F ld l, a 370/ 9F7 : 23 inc hl 371/ 9F8 : F1 pop af 372/ 9F9 : AC xor h 373/ 9FA : F2 94 08 jp p, QHOW 374/ 9FD : 78 ld a, b 375/ 9FE : EE 80 xor 80h 376/ A00 : 47 ld b, a 377/ A01 : C9 ret 378/ A02 : ; 379/ A02 : 7C CKHLDE: ld a, h 380/ A03 : AA xor d 381/ A04 : F2 08 0A jp p, CK1 382/ A07 : EB ex de, hl 383/ A08 : C3 17 08 CK1: jp ECHOMP 384/ A0B : ; 385/ A0B : ;******************************************** 386/ A0B : ; SETVAL FIN ENDCHK ERROR UPR 387/ A0B : ;******************************************** 388/ A0B : ; 389/ A0B : CD 2B 08 SETVAL: call TSTV 390/ A0E : 38 29 jr c, QWHAT 391/ A10 : E5 push hl 392/ A11 : CD 5C 08 call TSTC 393/ A14 : 3D db '=' 394/ A15 : 23 db SV1-$-1 395/ A16 : CD 9B 08 call EXPR 396/ A19 : 44 ld b, h 397/ A1A : 4D ld c, l 398/ A1B : E1 pop hl 399/ A1C : 71 ld (hl), c 400/ A1D : 23 inc hl 401/ A1E : 70 ld (hl), b 402/ A1F : C9 ret 403/ A20 : ; 404/ A20 : CD 5C 08 FIN: call TSTC 405/ A23 : 3B db ';' 406/ A24 : 04 db FI1-$-1 407/ A25 : F1 pop af 408/ A26 : C3 90 0C jp RUNSML 409/ A29 : CD 5C 08 FI1: call TSTC 410/ A2C : 0D db 0Dh 411/ A2D : 04 db FI2-$-1 412/ A2E : F1 pop af 413/ A2F : C3 81 0C jp RUNNXL 414/ A32 : C9 FI2: ret 415/ A33 : ; 416/ A33 : CD 1D 08 ENDCHK: call IGNB 417/ A36 : FE 0D cp 0Dh 418/ A38 : C8 ret z 419/ A39 : SV1: 420/ A39 : D5 QWHAT: push de AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 8 - 8/21/2018 7:36:22 421/ A3A : 11 B1 0F ld de, WHAT 422/ A3D : 97 ERROR: sub a 423/ A3E : CD D0 0A call PRTSTG 424/ A41 : D1 pop de 425/ A42 : 1A ld a, (de) 426/ A43 : F5 push af 427/ A44 : 97 sub a 428/ A45 : 12 ld (de), a 429/ A46 : 2A D5 18 ld hl, (CURRNT) 430/ A49 : E5 push hl 431/ A4A : 7E ld a, (hl) 432/ A4B : 23 inc hl 433/ A4C : B6 or (hl) 434/ A4D : D1 pop de 435/ A4E : CA BC 0B jp z, RSTART 436/ A51 : 7E ld a, (hl) 437/ A52 : B7 or a 438/ A53 : FA EE 0C jp m, INPERR 439/ A56 : CD 3B 0B call PRTLN 440/ A59 : 1B dec de 441/ A5A : F1 pop af 442/ A5B : 12 ld (de), a 443/ A5C : 3E 3F ld a, '?' 444/ A5E : CD 68 0B call OUTC 445/ A61 : 97 sub a 446/ A62 : CD D0 0A call PRTSTG 447/ A65 : C3 BC 0B jp RSTART 448/ A68 : ; 449/ A68 : D5 QSORRY: push de 450/ A69 : 11 B7 0F ASORRY: ld de, SORRY 451/ A6C : 18 CF jr ERROR 452/ A6E : ; 453/ A6E : ;***************************************** 454/ A6E : ; GETLN FNDLN UPR 455/ A6E : ;***************************************** 456/ A6E : ; 457/ A6E : CD 68 0B GETLN: call OUTC 458/ A71 : ED 5B 4C 19 ld de, (BUFFER) 459/ A75 : CD 6B 0B GL1: call CHKIO 460/ A78 : FE 08 cp 8 461/ A7A : 28 18 jr z, GL3 462/ A7C : CD 68 0B call OUTC 463/ A7F : FE 0A cp 0Ah 464/ A81 : 28 F2 jr z, GL1 465/ A83 : B7 or a 466/ A84 : 28 EF jr z, GL1 467/ A86 : FE 1B cp 1Bh 468/ A88 : 28 18 jr z, GL4 469/ A8A : 12 ld (de), a 470/ A8B : 13 inc de 471/ A8C : FE 0D cp 0Dh 472/ A8E : C8 ret z 473/ A8F : CD 75 0B call CXBUFE 474/ A92 : 20 E1 jr nz, GL1 475/ A94 : 7B GL3: ld a, e 476/ A95 : CD 7C 0B call CXBUFA 477/ A98 : 28 08 jr z, GL4 478/ A9A : 1B dec de 479/ A9B : 3E 08 ld a, 8 480/ A9D : CD 68 0B call OUTC AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 9 - 8/21/2018 7:36:22 481/ AA0 : 18 D3 jr GL1 482/ AA2 : CD 66 0B GL4: call CRLF 483/ AA5 : 3E 0B ld a, 0Bh 484/ AA7 : 18 C5 jr GETLN 485/ AA9 : ; 486/ AA9 : 7C FNDLN: ld a, h 487/ AAA : B7 or a 488/ AAB : FA 94 08 jp m, QHOW 489/ AAE : 11 50 19 ld de, TXTBGN 490/ AB1 : E5 FNDLP: push hl 491/ AB2 : 2A E9 18 ld hl, (TXTUNF) 492/ AB5 : 2B dec hl 493/ AB6 : CD 17 08 call ECHOMP 494/ AB9 : E1 pop hl 495/ ABA : D8 ret c 496/ ABB : 1A ld a, (de) 497/ ABC : 95 sub l 498/ ABD : 47 ld b, a 499/ ABE : 13 inc de 500/ ABF : 1A ld a, (de) 501/ AC0 : 9C sbc a, h 502/ AC1 : 38 04 jr c, FL2 503/ AC3 : 1B dec de 504/ AC4 : B0 or b 505/ AC5 : C9 ret 506/ AC6 : 13 FNDNXT: inc de 507/ AC7 : 13 FL2: inc de 508/ AC8 : 1A FNDSKP: ld a, (de) 509/ AC9 : FE 0D cp 0Dh 510/ ACB : 20 FA jr nz, FL2 511/ ACD : 13 inc de 512/ ACE : 18 E1 jr FNDLP 513/ AD0 : ; 514/ AD0 : ;******************************************* 515/ AD0 : ; PRTSTG QTSTG PRTNUM PRTLN UPR 516/ AD0 : ;******************************************* 517/ AD0 : ; 518/ AD0 : 47 PRTSTG: ld b, a 519/ AD1 : 1A PS1: ld a, (de) 520/ AD2 : 13 inc de 521/ AD3 : B8 cp b 522/ AD4 : C8 ret z 523/ AD5 : CD 68 0B call OUTC 524/ AD8 : FE 0D cp 0Dh 525/ ADA : 20 F5 jr nz, PS1 526/ ADC : C9 ret 527/ ADD : ; 528/ ADD : CD 5C 08 QTSTG: call TSTC 529/ AE0 : 22 db '"' 530/ AE1 : 0F db QT3-$-1 531/ AE2 : 3E 22 ld a, '"' 532/ AE4 : CD D0 0A QT1: call PRTSTG 533/ AE7 : FE 0D cp 0Dh 534/ AE9 : E1 pop hl 535/ AEA : CA 81 0C jp z, RUNNXL 536/ AED : 23 inc hl 537/ AEE : 23 inc hl 538/ AEF : 23 inc hl 539/ AF0 : E9 jp (hl) 540/ AF1 : CD 5C 08 QT3: call TSTC AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 10 - 8/21/2018 7:36:22 541/ AF4 : 27 db 27h ;' 542/ AF5 : 04 db QT4-$-1 543/ AF6 : 3E 27 ld a, 27h ;' 544/ AF8 : 18 EA jr QT1 545/ AFA : C9 QT4: ret 546/ AFB : ; 547/ AFB : 06 00 PRTNUM: ld b, 0 548/ AFD : CD EA 09 call CHKSGN 549/ B00 : F2 06 0B jp p, PN1 550/ B03 : 06 2D ld b, 2Dh ; '-' 551/ B05 : 0D dec c 552/ B06 : D5 PN1: push de 553/ B07 : 11 0A 00 ld de, 10 554/ B0A : D5 push de 555/ B0B : 0D dec c 556/ B0C : C5 push bc 557/ B0D : CD D5 09 PN2: call DIVIDE 558/ B10 : 78 ld a, b 559/ B11 : B1 or c 560/ B12 : 28 07 jr z, PN3 561/ B14 : E3 ex (sp), hl 562/ B15 : 2D dec l 563/ B16 : E5 push hl 564/ B17 : 60 ld h, b 565/ B18 : 69 ld l, c 566/ B19 : 18 F2 jr PN2 567/ B1B : C1 PN3: pop bc 568/ B1C : 0D PN4: dec c 569/ B1D : 79 ld a, c 570/ B1E : B7 or a 571/ B1F : FA 29 0B jp m, PN5 572/ B22 : 3E 20 ld a, ' ' 573/ B24 : CD 68 0B call OUTC 574/ B27 : 18 F3 jr PN4 575/ B29 : 78 PN5: ld a, b 576/ B2A : B7 or a 577/ B2B : C4 68 0B call nz, OUTC 578/ B2E : 5D ld e, l 579/ B2F : 7B PN6: ld a, e 580/ B30 : FE 0A cp 10 581/ B32 : D1 pop de 582/ B33 : C8 ret z 583/ B34 : C6 30 add a, '0' 584/ B36 : CD 68 0B call OUTC 585/ B39 : 18 F4 jr PN6 586/ B3B : ; 587/ B3B : 1A PRTLN: ld a, (de) 588/ B3C : 6F ld l, a 589/ B3D : 13 inc de 590/ B3E : 1A ld a, (de) 591/ B3F : 67 ld h, a 592/ B40 : 13 inc de 593/ B41 : 0E 04 ld c, 4 594/ B43 : CD FB 0A call PRTNUM 595/ B46 : 3E 20 ld a, ' ' 596/ B48 : CD 68 0B call OUTC 597/ B4B : 97 sub a 598/ B4C : C3 D0 0A jp PRTSTG 599/ B4F : ; 600/ B4F : ;****************************************** AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 11 - 8/21/2018 7:36:22 601/ B4F : ; MVUP MVDOWN UPR 602/ B4F : ;****************************************** 603/ B4F : ; 604/ B4F : CD 17 08 MVUP: call ECHOMP 605/ B52 : C8 ret z 606/ B53 : 1A ld a, (de) 607/ B54 : 02 ld (bc), a 608/ B55 : 13 inc de 609/ B56 : 03 inc bc 610/ B57 : 18 F6 jr MVUP 611/ B59 : ; 612/ B59 : 78 MVDOWN: ld a, b 613/ B5A : 92 sub d 614/ B5B : 20 03 jr nz, MD1 615/ B5D : 79 ld a, c 616/ B5E : 93 sub e 617/ B5F : C8 ret z 618/ B60 : 1B MD1: dec de 619/ B61 : 2B dec hl 620/ B62 : 1A ld a, (de) 621/ B63 : 77 ld (hl), a 622/ B64 : 18 F3 jr MVDOWN 623/ B66 : ; 624/ B66 : ;**************************** 625/ B66 : ;* OUTC CHKIO UPR * 626/ B66 : ;**************************** 627/ B66 : ; 628/ B66 : 3E 0D CRLF: ld a, 0Dh 629/ B68 : ; 630/ B68 : C3 09 08 OUTC: jp ECHO 631/ B6B : ; 632/ B6B : CD 06 08 CHKIO: call CI 633/ B6E : E6 7F and 7Fh 634/ B70 : FE 03 cp 3 635/ B72 : C0 ret nz 636/ B73 : 18 47 jr RSTART 637/ B75 : ; 638/ B75 : E5 CXBUFE: push hl 639/ B76 : 2A 4E 19 ld hl, (BUFEND) 640/ B79 : BD cp l 641/ B7A : E1 pop hl 642/ B7B : C9 ret 643/ B7C : ; 644/ B7C : E5 CXBUFA: push hl 645/ B7D : 2A 4C 19 ld hl, (BUFFER) 646/ B80 : BD cp l 647/ B81 : E1 pop hl 648/ B82 : C9 ret 649/ B83 : ; 650/ B83 : CD 0C 08 ECHONT: call CSTS 651/ B86 : C8 ret z 652/ B87 : CD 06 08 call CI 653/ B8A : FE 03 cp 3 654/ B8C : C0 ret nz 655/ B8D : 18 2D jr RSTART 656/ B8F : ; 657/ B8F : ;****************************************************** 658/ B8F : ; 659/ B8F : ;****************************************************** 660/ B8F : ; AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 12 - 8/21/2018 7:36:22 661/ B8F : 31 CC 18 START: ld sp, STACK 662/ B92 : 3E 0C ld a, 0Ch 663/ B94 : CD 68 0B call OUTC 664/ B97 : 97 sub a 665/ B98 : 11 BD 0F ld de, about 666/ B9B : CD D0 0A call PRTSTG 667/ B9E : 21 8F 0B ld hl, START 668/ BA1 : 22 E7 18 ld (RANPNT), hl 669/ BA4 : 21 50 19 ld hl, TXTBGN 670/ BA7 : 22 E9 18 ld (TXTUNF), hl 671/ BAA : 21 AA 1B ld hl, TXTE 672/ BAD : 22 4A 19 ld (TXTEND), hl 673/ BB0 : 21 AC 1B ld hl, BUFA 674/ BB3 : 22 4C 19 ld (BUFFER), hl 675/ BB6 : 21 EC 1B ld hl, BUFE 676/ BB9 : 22 4E 19 ld (BUFEND), hl 677/ BBC : ; 678/ BBC : ;****************************************************** 679/ BBC : ; HAUPTPROGRAMM 680/ BBC : ; LEGT PROGRAMM IM SPEICHER AB 681/ BBC : ; DEFINIERT REGISTER 682/ BBC : ; LIEST EINE BENUTZER ZEILE UM DIESE ZU VERARBEITEN. 683/ BBC : ;****************************************************** 684/ BBC : ; 685/ BBC : 31 CC 18 RSTART: ld sp, STACK 686/ BBF : CD 66 0B call CRLF 687/ BC2 : 11 AB 0F ld de, OK 688/ BC5 : 97 sub a 689/ BC6 : CD D0 0A call PRTSTG 690/ BC9 : 21 D0 0B ld hl, ST2+1 691/ BCC : 22 D5 18 ld (CURRNT), hl 692/ BCF : 21 00 00 ST2: ld hl, 0 693/ BD2 : 22 DD 18 ld (LOPVAR), hl 694/ BD5 : 22 D7 18 ld (STKGOS), hl 695/ BD8 : 3E 3E ST3: ld a, '>' 696/ BDA : CD 6E 0A call GETLN 697/ BDD : D5 push de 698/ BDE : ED 5B 4C 19 ld de, (BUFFER) 699/ BE2 : CD 6F 08 call TSTNUM 700/ BE5 : CD 1D 08 call IGNB 701/ BE8 : 7C ld a, h 702/ BE9 : B5 or l 703/ BEA : C1 pop bc 704/ BEB : CA A3 09 jp z, DIRECT 705/ BEE : 1B dec de 706/ BEF : 7C ld a, h 707/ BF0 : 12 ld (de), a 708/ BF1 : 1B dec de 709/ BF2 : 7D ld a, l 710/ BF3 : 12 ld (de), a 711/ BF4 : C5 push bc 712/ BF5 : D5 push de 713/ BF6 : 79 ld a, c 714/ BF7 : 93 sub e 715/ BF8 : F5 push af 716/ BF9 : CD A9 0A call FNDLN 717/ BFC : D5 push de 718/ BFD : 20 0F jr nz, ST4 719/ BFF : D5 push de 720/ C00 : CD C6 0A call FNDNXT AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 13 - 8/21/2018 7:36:22 721/ C03 : C1 pop bc 722/ C04 : 2A E9 18 ld hl, (TXTUNF) 723/ C07 : CD 4F 0B call MVUP 724/ C0A : ED 43 E9 18 ld (TXTUNF), bc 725/ C0E : C1 ST4: pop bc 726/ C0F : 2A E9 18 ld hl, (TXTUNF) 727/ C12 : F1 pop af 728/ C13 : E5 push hl 729/ C14 : FE 03 cp 3 730/ C16 : 28 A4 jr z, RSTART 731/ C18 : CD 55 08 call tv2 732/ C1B : ED 5B 4A 19 ld de, (TXTEND) 733/ C1F : CD 17 08 call ECHOMP 734/ C22 : D2 68 0A jp nc, QSORRY 735/ C25 : 22 E9 18 ld (TXTUNF), hl 736/ C28 : D1 pop de 737/ C29 : CD 59 0B call MVDOWN 738/ C2C : D1 pop de 739/ C2D : E1 pop hl 740/ C2E : CD 4F 0B call MVUP 741/ C31 : 18 A5 jr ST3 742/ C33 : ; 743/ C33 : ;********************************************************** 744/ C33 : ; GOSUB UPR 745/ C33 : ;********************************************************** 746/ C33 : ; 747/ C33 : CD 9B 08 GOSUB: call EXPR 748/ C36 : D5 push de 749/ C37 : CD A9 0A call FNDLN 750/ C3A : C2 95 08 jp nz, AHOW 751/ C3D : 2A D5 18 ld hl, (CURRNT) 752/ C40 : E5 push hl 753/ C41 : 2A D7 18 ld hl, (STKGOS) 754/ C44 : E5 push hl 755/ C45 : 21 00 00 ld hl, 0 756/ C48 : 39 add hl, sp 757/ C49 : 22 D7 18 ld (STKGOS), hl 758/ C4C : 18 3C jr RUNTSL 759/ C4E : ; 760/ C4E : ;********************************************** 761/ C4E : ; LIST UPR 762/ C4E : ;********************************************** 763/ C4E : ; 764/ C4E : CD 6F 08 LIST: call TSTNUM 765/ C51 : CD 33 0A call ENDCHK 766/ C54 : CD A9 0A call FNDLN 767/ C57 : DA BC 0B LS1: jp c, RSTART 768/ C5A : CD 3B 0B call PRTLN 769/ C5D : CD 83 0B call ECHONT 770/ C60 : CD EB 07 call MS30 771/ C63 : CD EB 07 call MS30 772/ C66 : CD B1 0A call FNDLP 773/ C69 : 18 EC jr LS1 774/ C6B : ; 775/ C6B : ;************************************************* 776/ C6B : ; RUN GOTO UPR 777/ C6B : ;************************************************* 778/ C6B : ; 779/ C6B : CD 9B 08 GOTO: call EXPR 780/ C6E : D5 push de AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 14 - 8/21/2018 7:36:22 781/ C6F : CD 33 0A call ENDCHK 782/ C72 : CD A9 0A call FNDLN 783/ C75 : C2 95 08 jp nz, AHOW 784/ C78 : F1 pop af 785/ C79 : 18 0F jr RUNTSL 786/ C7B : ; 787/ C7B : CD 33 0A RUN: call ENDCHK 788/ C7E : 11 50 19 ld de, TXTBGN 789/ C81 : 21 00 00 RUNNXL: ld hl, 0 790/ C84 : CD B1 0A call FNDLP 791/ C87 : DA BC 0B jp c, RSTART 792/ C8A : ED 53 D5 18 RUNTSL: ld (CURRNT), de 793/ C8E : 13 inc de 794/ C8F : 13 inc de 795/ C90 : CD 83 0B RUNSML: call ECHONT 796/ C93 : 21 F7 0E ld hl, TAB2-1 797/ C96 : C3 A6 09 jp EXEC 798/ C99 : ; 799/ C99 : ;********************************************** 800/ C99 : ; PRINT UPR 801/ C99 : ;********************************************** 802/ C99 : ; 803/ C99 : 0E 06 PRINT: ld c, 6 804/ C9B : CD 5C 08 call TSTC 805/ C9E : 3B db ';' 806/ C9F : 05 db 5 807/ CA0 : CD 66 0B call CRLF 808/ CA3 : 18 EB jr RUNSML 809/ CA5 : CD 5C 08 call TSTC 810/ CA8 : 0D db 0Dh 811/ CA9 : 05 db 5 812/ CAA : CD 66 0B call CRLF 813/ CAD : 18 D2 jr RUNNXL 814/ CAF : CD 5C 08 PR0: call TSTC 815/ CB2 : 23 db '#' 816/ CB3 : 0E db 0Eh 817/ CB4 : CD 9B 08 call EXPR 818/ CB7 : 4D ld c, l 819/ CB8 : CD 5C 08 PR3: call TSTC 820/ CBB : 2C db ',' 821/ CBC : 17 db 17h 822/ CBD : CD 20 0A call FIN 823/ CC0 : 18 ED jr PR0 824/ CC2 : CD DD 0A call QTSTG 825/ CC5 : C3 CA 0C jp PR8 826/ CC8 : 18 EE jr PR3 827/ CCA : CD 9B 08 PR8: call EXPR 828/ CCD : C5 push bc 829/ CCE : CD FB 0A call PRTNUM 830/ CD1 : C1 pop bc 831/ CD2 : 18 E4 jr PR3 832/ CD4 : CD 66 0B call CRLF 833/ CD7 : C3 5C 0D jp LT1 834/ CDA : 21 00 00 RET: ld hl, 0 835/ CDD : 18 03 jr IFFR 836/ CDF : ; 837/ CDF : ;***************************************************** 838/ CDF : ; IF INPUT LET UPR 839/ CDF : ;**************************************************** 840/ CDF : ; AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 15 - 8/21/2018 7:36:22 841/ CDF : CD 9B 08 IFF: call EXPR 842/ CE2 : 7C IFFR: ld a, h 843/ CE3 : B5 or l 844/ CE4 : 20 AA jr nz, RUNSML 845/ CE6 : CD C8 0A call FNDSKP 846/ CE9 : 30 9F jr nc, RUNTSL 847/ CEB : C3 BC 0B jp RSTART 848/ CEE : 2A DB 18 INPERR: ld hl, (STKINP) 849/ CF1 : F9 ld sp, hl 850/ CF2 : E1 pop hl 851/ CF3 : 22 D5 18 ld (CURRNT), hl 852/ CF6 : D1 pop de 853/ CF7 : D1 pop de 854/ CF8 : D5 INPUT: push de 855/ CF9 : CD DD 0A call QTSTG 856/ CFC : C3 06 0D jp IP2 857/ CFF : CD 2B 08 call TSTV 858/ D02 : 38 41 jr c, IP4 859/ D04 : 18 12 jr IP3 860/ D06 : D5 IP2: push de 861/ D07 : CD 2B 08 call TSTV 862/ D0A : DA 39 0A jp c, QWHAT 863/ D0D : 1A ld a, (de) 864/ D0E : 4F ld c, a 865/ D0F : 97 sub a 866/ D10 : 12 ld (de), a 867/ D11 : D1 pop de 868/ D12 : CD D0 0A call PRTSTG 869/ D15 : 79 ld a, c 870/ D16 : 1B dec de 871/ D17 : 12 ld (de), a 872/ D18 : D5 IP3: push de 873/ D19 : EB ex de, hl 874/ D1A : 2A D5 18 ld hl, (CURRNT) 875/ D1D : E5 push hl 876/ D1E : 21 F8 0C ld hl, INPUT 877/ D21 : 22 D5 18 ld (CURRNT), hl 878/ D24 : 21 00 00 ld hl, 0 879/ D27 : 39 add hl, sp 880/ D28 : 22 DB 18 ld (STKINP), hl 881/ D2B : D5 push de 882/ D2C : 3E 3A ld a, ':' 883/ D2E : CD 6E 0A call GETLN 884/ D31 : ED 5B 4C 19 ld de, (BUFFER) 885/ D35 : CD 9B 08 call EXPR 886/ D38 : CD 83 0B call ECHONT 887/ D3B : D1 pop de 888/ D3C : EB ex de, hl 889/ D3D : 73 ld (hl), e 890/ D3E : 23 inc hl 891/ D3F : 72 ld (hl), d 892/ D40 : E1 pop hl 893/ D41 : 22 D5 18 ld (CURRNT), hl 894/ D44 : D1 pop de 895/ D45 : F1 IP4: pop af 896/ D46 : CD 5C 08 call TSTC 897/ D49 : 2C db ',' 898/ D4A : 11 db LT1-$-1 899/ D4B : 18 AB jr INPUT 900/ D4D : ; AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 16 - 8/21/2018 7:36:22 901/ D4D : 1A DEFLT: ld a, (de) 902/ D4E : FE 0D cp 0Dh 903/ D50 : 28 0A jr z, LT1 904/ D52 : ; 905/ D52 : CD 0B 0A LET: call SETVAL 906/ D55 : CD 5C 08 call TSTC 907/ D58 : 2C db ',' 908/ D59 : 02 db LT1-$-1 909/ D5A : 18 F6 jr LET 910/ D5C : CD 24 08 LT1: call FINI 911/ D5F : ; 912/ D5F : D5 SIZE: push de 913/ D60 : ED 5B E9 18 ld de, (TXTUNF) 914/ D64 : 2A 4A 19 ld hl, (TXTEND) 915/ D67 : A7 and a 916/ D68 : ED 52 sbc hl, de 917/ D6A : D1 pop de 918/ D6B : C9 ret 919/ D6C : ; 920/ D6C : ;********************************************************** 921/ D6C : ; RETURN UPR 922/ D6C : ;********************************************************** 923/ D6C : ; 924/ D6C : CD 33 0A RETURN: call ENDCHK 925/ D6F : 2A D7 18 ld hl, (STKGOS) 926/ D72 : 7C ld a, h 927/ D73 : B5 or l 928/ D74 : CA 39 0A jp z, QWHAT 929/ D77 : F9 ld sp, hl 930/ D78 : E1 pop hl 931/ D79 : 22 D7 18 ld (STKGOS), hl 932/ D7C : E1 pop hl 933/ D7D : 22 D5 18 ld (CURRNT), hl 934/ D80 : D1 pop de 935/ D81 : 18 D9 jFINI: jr LT1 936/ D83 : ; 937/ D83 : CD 92 09 TAB: call PARN 938/ D86 : 7C A1: ld a, h 939/ D87 : B5 or l 940/ D88 : 28 F7 jr z, jFINI 941/ D8A : 2B dec hl 942/ D8B : 3E 20 ld a, ' ' 943/ D8D : CD 68 0B call OUTC 944/ D90 : 18 F4 jr A1 945/ D92 : ; 946/ D92 : CD 92 09 ABS: call PARN 947/ D95 : 1B dec de 948/ D96 : CD EA 09 call CHKSGN 949/ D99 : 13 inc de 950/ D9A : C9 ret 951/ D9B : ; 952/ D9B : CD 92 09 PEEK: call PARN 953/ D9E : 6E ld l, (hl) 954/ D9F : 26 00 ld h, 0 955/ DA1 : C9 ret 956/ DA2 : 2A E9 18 FR1: ld hl, (TXTUNF) 957/ DA5 : 23 inc hl 958/ DA6 : C9 ret 959/ DA7 : ; 960/ DA7 : CD 9B 08 POKE: call EXPR AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 17 - 8/21/2018 7:36:22 961/ DAA : E5 push hl 962/ DAB : CD 5C 08 call TSTC 963/ DAE : 2C inc l 964/ DAF : 08 ex af, af' ;' 965/ DB0 : CD 9B 08 call EXPR 966/ DB3 : 7D ld a, l 967/ DB4 : E1 pop hl 968/ DB5 : 77 ld (hl), a 969/ DB6 : 18 C9 jr jFINI 970/ DB8 : C3 39 0A jp QWHAT 971/ DBB : ; 972/ DBB : CD 92 09 BYTE: call PARN 973/ DBE : 18 07 jr w1 974/ DC0 : ; 975/ DC0 : CD 92 09 WORD: call PARN 976/ DC3 : 7C ld a, h 977/ DC4 : CD D6 0D call WRIT2 978/ DC7 : 7D w1: ld a, l 979/ DC8 : CD D6 0D call WRIT2 980/ DCB : 18 B4 jr jFINI 981/ DCD : ; 982/ DCD : CD 9B 08 OUTCHAR: call EXPR 983/ DD0 : 7D ld a, l 984/ DD1 : CD 68 0B call OUTC 985/ DD4 : 18 AB o1: jr jFINI 986/ DD6 : ; 987/ DD6 : F5 WRIT2: push af 988/ DD7 : CB 0F rrc a 989/ DD9 : CB 0F rrc a 990/ DDB : CB 0F rrc a 991/ DDD : CB 0F rrc a 992/ DDF : CD E3 0D call IST 993/ DE2 : F1 pop af 994/ DE3 : E6 0F IST: and 0Fh 995/ DE5 : C6 90 add a, 90h 996/ DE7 : 27 daa 997/ DE8 : CE 40 adc a, 40h 998/ DEA : 27 daa 999/ DEB : C3 68 0B jp OUTC 1000/ DEE : ; 1001/ DEE : CD 6B 0B INCHAR: call CHKIO 1002/ DF1 : 26 00 ld h, 0 1003/ DF3 : 6F ld l, a 1004/ DF4 : C9 ret 1005/ DF5 : ; 1006/ DF5 : CD 92 09 RND: call PARN 1007/ DF8 : 7C ld a, h 1008/ DF9 : B7 or a 1009/ DFA : FA 94 08 jp m, QHOW 1010/ DFD : B5 or l 1011/ DFE : CA 94 08 jp z, QHOW 1012/ E01 : D5 push de 1013/ E02 : C5 push bc 1014/ E03 : ED 5F ld a, r 1015/ E05 : 53 ld d, e 1016/ E06 : 5F ld e, a 1017/ E07 : EB ex de, hl 1018/ E08 : CD D5 09 call DIVIDE 1019/ E0B : C1 pop bc 1020/ E0C : D1 pop de AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 18 - 8/21/2018 7:36:22 1021/ E0D : 23 inc hl 1022/ E0E : C9 ret 1023/ E0F : ; 1024/ E0F : CD 92 09 OUT: call PARN 1025/ E12 : E5 push hl 1026/ E13 : CD 5C 08 call TSTC 1027/ E16 : 3D db '=' 1028/ E17 : 43 db jQWHAT-$-1 1029/ E18 : CD 9B 08 call EXPR 1030/ E1B : 45 ld b, l 1031/ E1C : E1 pop hl 1032/ E1D : 26 C9 ld h, 0C9h ; out (xx),a; ret 1033/ E1F : 22 D1 18 ld (IOBUFB), hl 1034/ E22 : 3E D3 ld a, 0D3h 1035/ E24 : 32 D0 18 ld (IOBUFA), a 1036/ E27 : 78 ld a, b 1037/ E28 : CD D0 18 call IOBUFA 1038/ E2B : 18 A7 jr o1 1039/ E2D : 1A QUOTE: ld a, (de) 1040/ E2E : 13 inc de 1041/ E2F : 6F ld l, a 1042/ E30 : 26 00 ld h, 0 1043/ E32 : CD 5C 08 call TSTC 1044/ E35 : 27 db 27h 1045/ E36 : 24 db jQWHAT-$-1 1046/ E37 : C9 ret 1047/ E38 : ; 1048/ E38 : C5 HEX: push bc 1049/ E39 : 21 00 00 ld hl, 0 1050/ E3C : CD 5C 08 call TSTC 1051/ E3F : 28 db '(' 1052/ E40 : 1A db jQWHAT-$-1 1053/ E41 : 1A HNXTH: ld a, (de) 1054/ E42 : FE 0D cp 0Dh 1055/ E44 : 28 15 jr z, jQWHAT 1056/ E46 : CD 60 0E call CNVBN 1057/ E49 : 29 add hl, hl 1058/ E4A : 29 add hl, hl 1059/ E4B : 29 add hl, hl 1060/ E4C : 29 add hl, hl 1061/ E4D : 06 00 ld b, 0 1062/ E4F : 4F ld c, a 1063/ E50 : 09 add hl, bc 1064/ E51 : 13 inc de 1065/ E52 : CD 5C 08 call TSTC 1066/ E55 : 29 db ')' 1067/ E56 : 02 db HN2-$-1 1068/ E57 : 18 05 HN1: jr POPRET 1069/ E59 : 18 E6 HN2: jr HNXTH 1070/ E5B : ; 1071/ E5B : C3 39 0A jQWHAT: jp QWHAT 1072/ E5E : C1 POPRET: pop bc 1073/ E5F : C9 ret 1074/ E60 : FE 30 CNVBN: cp '0' 1075/ E62 : FA 39 0A jp m, QWHAT 1076/ E65 : FE 39 cp '9' 1077/ E67 : FA 76 0E jp m, ECHONTC 1078/ E6A : 28 0A jr z, ECHONTC 1079/ E6C : FE 41 cp 'A' 1080/ E6E : FA 39 0A jp m, QWHAT AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 19 - 8/21/2018 7:36:22 1081/ E71 : FE 47 cp 'G' 1082/ E73 : F2 39 0A jp p, QWHAT 1083/ E76 : D6 30 ECHONTC: sub '0' 1084/ E78 : FE 0A cp 0Ah 1085/ E7A : F8 ret m 1086/ E7B : D6 07 sub 7 1087/ E7D : C9 ret 1088/ E7E : ; 1089/ E7E : CD 92 09 INA: call PARN 1090/ E81 : 26 C9 ld h, 0C9h 1091/ E83 : 22 D1 18 ld (IOBUFB), hl ; in a,(xx); ret 1092/ E86 : 3E DB ld a, 0DBh 1093/ E88 : 32 D0 18 ld (IOBUFA), a 1094/ E8B : CD D0 18 call IOBUFA 1095/ E8E : 26 00 ld h, 0 1096/ E90 : 6F ld l, a 1097/ E91 : C9 ret 1098/ E92 : ; 1099/ E92 : CD 9B 08 END: call EXPR 1100/ E95 : EB ex de, hl 1101/ E96 : 21 AA 1B ld hl, TXTE 1102/ E99 : EB ex de, hl 1103/ E9A : CD 17 08 call ECHOMP 1104/ E9D : DA 69 0A jp c, ASORRY 1105/ EA0 : 7C ld a, h 1106/ EA1 : B7 or a 1107/ EA2 : FA 69 0A jp m, ASORRY 1108/ EA5 : 7E ld a, (hl) 1109/ EA6 : 2F cpl 1110/ EA7 : 77 ld (hl), a 1111/ EA8 : BE cp (hl) 1112/ EA9 : C2 69 0A jp nz, ASORRY 1113/ EAC : 22 4E 19 ld (BUFEND), hl 1114/ EAF : 01 46 00 ld bc, 70 ; max.Zeilenlaenge? 1115/ EB2 : ED 42 sbc hl, bc 1116/ EB4 : 22 4C 19 ld (BUFFER), hl 1117/ EB7 : 2B dec hl 1118/ EB8 : 2B dec hl 1119/ EB9 : 22 4A 19 ld (TXTEND), hl 1120/ EBC : C3 BC 0B jp RSTART 1121/ EBF : ; 1122/ EBF : C3 FD 07 BYE: jp GETCO1 1123/ EC2 : ; 1124/ EC2 : CD 9B 08 CALL: call EXPR 1125/ EC5 : D5 push de 1126/ EC6 : 01 CB 0E ld bc, HERE 1127/ EC9 : C5 push bc 1128/ ECA : E9 jp (hl) 1129/ ECB : ; 1130/ ECB : D1 HERE: pop de 1131/ ECC : CD 24 08 call FINI 1132/ ECF : ; 1133/ ECF : CD 33 0A NEW: call ENDCHK 1134/ ED2 : 21 50 19 ld hl, TXTBGN 1135/ ED5 : 22 E9 18 ld (TXTUNF), hl 1136/ ED8 : CD 33 0A STOP: call ENDCHK 1137/ EDB : C3 BC 0B jp RSTART 1138/ EDE : ; 1139/ EDE : ;******************************** 1140/ EDE : ;* TABLES DIRECT EXEC * AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 20 - 8/21/2018 7:36:22 1141/ EDE : ;******************************** 1142/ EDE : ; 1143/ EDE : 52 55 CE TAB1: db "RU",0CEh 1144/ EE1 : 7B 0C dw RUN 1145/ EE3 : 4C 49 53 D4 db "LIS",0D4h 1146/ EE7 : 4E 0C dw LIST 1147/ EE9 : 45 4E C4 db "EN",0C4h 1148/ EEC : 92 0E dw END 1149/ EEE : 42 59 C5 db "BY",0C5h 1150/ EF1 : BF 0E dw BYE 1151/ EF3 : 4E 45 D7 db "NE",0D7h 1152/ EF6 : CF 0E dw NEW 1153/ EF8 : ; 1154/ EF8 : 49 C6 TAB2: db 'I',0C6h 1155/ EFA : DF 0C dw IFF 1156/ EFC : 47 4F 54 CF db "GOT",0CFh 1157/ F00 : 6B 0C dw GOTO 1158/ F02 : 49 4E 50 55 D4 db "INPU",0D4h 1159/ F07 : F8 0C dw INPUT 1160/ F09 : 4C 45 D4 db "LE",0D4h 1161/ F0C : 52 0D dw LET 1162/ F0E : 50 52 49 4E D4 db "PRIN",0D4h 1163/ F13 : 99 0C dw PRINT 1164/ F15 : 47 4F 53 55 C2 db "GOSU",0C2h 1165/ F1A : 33 0C dw GOSUB 1166/ F1C : 52 45 54 55 52 CE db "RETUR",0CEh 1167/ F22 : 6C 0D dw RETURN 1168/ F24 : 50 4F 4B C5 db "POK",0C5h 1169/ F28 : A7 0D dw POKE 1170/ F2A : 54 41 C2 db "TA",0C2h 1171/ F2D : 83 0D dw TAB 1172/ F2F : 4F 55 54 43 48 41 db "OUTCHA",0D2h D2 1173/ F36 : CD 0D dw OUTCHAR 1174/ F38 : 4F 55 D4 db "OU",0D4h 1175/ F3B : 0F 0E dw OUT 1176/ F3D : 42 59 54 C5 db "BYT",0C5h 1177/ F41 : BB 0D dw BYTE 1178/ F43 : 57 4F 52 C4 db "WOR",0C4h 1179/ F47 : C0 0D dw WORD 1180/ F49 : 43 41 4C CC db "CAL",0CCh 1181/ F4D : C2 0E dw CALL 1182/ F4F : 52 45 CD db "RE",0CDh 1183/ F52 : DA 0C dw RET 1184/ F54 : 53 54 4F D0 db "STO",0D0h 1185/ F58 : D8 0E dw STOP 1186/ F5A : 80 db 80h 1187/ F5B : 4D 0D dw DEFLT 1188/ F5D : ; 1189/ F5D : 53 49 5A C5 TAB4: db "SIZ",0C5h 1190/ F61 : 5F 0D dw SIZE 1191/ F63 : 41 42 D3 db "AB",0D3h 1192/ F66 : 92 0D dw ABS 1193/ F68 : 50 45 45 CB db "PEE",0CBh 1194/ F6C : 9B 0D dw PEEK 1195/ F6E : 54 4F D0 db "TO",0D0h 1196/ F71 : A2 0D dw FR1 1197/ F73 : 52 4E C4 db "RN",0C4h 1198/ F76 : F5 0D dw RND 1199/ F78 : 49 4E 43 48 41 D2 db "INCHA",0D2h AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 21 - 8/21/2018 7:36:22 1200/ F7E : EE 0D dw INCHAR 1201/ F80 : 48 45 D8 db "HE",0D8h 1202/ F83 : 38 0E dw HEX 1203/ F85 : A7 db 0A7h ; ' 1204/ F86 : 2D 0E dw QUOTE 1205/ F88 : 49 CE db 'I',0CEh 1206/ F8A : 7E 0E dw INA 1207/ F8C : 80 db 80h 1208/ F8D : 82 09 dw XP40 1209/ F8F : ; 1210/ F8F : 3E BD TAB8: db 3Eh,0BDh ; >= 1211/ F91 : A5 08 dw XP11 1212/ F93 : A3 db 0A3h ; # 1213/ F94 : AB 08 dw XP12 1214/ F96 : BE db 0BEh ; > 1215/ F97 : B1 08 dw XP13 1216/ F99 : BD db 0BDh ; = 1217/ F9A : C0 08 dw XP15 1218/ F9C : 3C BD db 3Ch,0BDh ; <= 1219/ F9E : B8 08 dw XP14 1220/ FA0 : BC db 0BCh ; < 1221/ FA1 : C6 08 dw XP16 1222/ FA3 : 80 db 80h 1223/ FA4 : CC 08 dw XP17 1224/ FA6 : ; 1225/ FA6 : 48 4F 57 3F 0D HOW: db "HOW?",0Dh 1226/ FAB : 52 45 41 44 59 0D OK: db "READY",0Dh 1227/ FB1 : 57 48 41 54 3F 0D WHAT: db "WHAT?",0Dh 1228/ FB7 : 53 4F 52 52 59 0D SORRY: db "SORRY",0Dh 1229/ FBD : 20 20 20 20 20 20 about: db " MINI - BASIC AC 1 V 2.1",0Dh 20 20 20 20 20 20 20 20 4D 49 4E 49 20 2D 20 42 41 53 49 43 20 20 41 43 20 31 20 20 20 56 20 32 2E 31 0D 1230/ FE6 : ; end of "ROM" 1231/ FE6 : 1232/ FE6 : 1233/ FE6 : ; segment "RAM" 1234/ 1800 : org RAM 1235/ 1800 : 1236/ 1800 : DS 204 1237/ 18CC : STACK: DS 2 1238/ 18CE : ; 1239/ 18CE : DS 2 ;LEGT 1240/ 18D0 : IOBUFA: DS 1 1241/ 18D1 : IOBUFB: DS 2 ;IOBUFB+IOBUFC 1242/ 18D3 : DS 1 ;LSTROM 1243/ 18D4 : DS 1 ;OCSW 1244/ 18D5 : CURRNT: DS 2 1245/ 18D7 : STKGOS: DS 2 1246/ 18D9 : DS 2 ;VARNXT 1247/ 18DB : STKINP: DS 2 1248/ 18DD : LOPVAR: DS 2 1249/ 18DF : DS 2 ;LOPINC 1250/ 18E1 : DS 2 ;LOPLMT 1251/ 18E3 : DS 2 ;LOPLN 1252/ 18E5 : DS 2 ;LOPPT 1253/ 18E7 : RANPNT: DS 2 AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 22 - 8/21/2018 7:36:22 1254/ 18E9 : TXTUNF: DS 2 1255/ 18EB : DS 40 1256/ 1913 : VARBGN: DS 55 1257/ 194A : TXTEND: DS 2 1258/ 194C : BUFFER: DS 2 1259/ 194E : BUFEND: DS 2 1260/ 1950 : TXTBGN: DS 2 1261/ 1952 : DS 600 1262/ 1BAA : TXTE: DS 2 1263/ 1BAC : BUFA: DS 64 1264/ 1BEC : BUFE: DS 1 1265/ 1BED : ; end of "RAM" 1266/ 1BED : 1267/ 1BED : end AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 23 - 8/21/2018 7:36:22 symbol table (* = unused): ------------------------ A1 : D86 C | ABOUT : FBD C | ABS : D92 C | AHOW : 895 C | *ARCHITECTURE : i386-unknown-win32 - | ASORRY : A69 C | BASIC : 800 - | *BIGENDIAN : 0 - | *BRANCHEXT : 0 - | BUFA : 1BAC C | BUFE : 1BEC C | BUFEND : 194E C | BUFFER : 194C C | BYE : EBF C | BYTE : DBB C | CALL : EC2 C | *CASESENSITIVE : 0 - | CHGSGN : 9ED C | CHKIO : B6B C | CHKSGN : 9EA C | CI : 806 C | CK1 : A08 C | CKHLDE : A02 C | CNVBN : E60 C | *CONSTPI : 3.141592653589793 - | CRLF : B66 C | CS1 : 813 C | CSTS : 80C C | CURRNT : 18D5 C | CXBUFA : B7C C | CXBUFE : B75 C | *DATE : 8/21/2018 - | DEFLT : D4D C | DIRECT : 9A3 C | DIVIDE : 9D5 C | DV1 : 9E0 C | DV2 : 9E2 C | ECHO : 809 C | ECHOMP : 817 C | ECHONT : B83 C | ECHONTC : E76 C | END : E92 C | ENDCHK : A33 C | ERROR : A3D C | EX1 : 9AA C | EX2 : 9C0 C | EX4 : 9CA C | EX5 : 9CF C | EXEC : 9A6 C | EXPR : 89B C | EXPR2 : 8E3 C | EXPR3 : 91D C | EXPR4 : 97C C | *FALSE : 0 - | FI1 : A29 C | FI2 : A32 C | FIN : A20 C | FINI : 824 C | FL2 : AC7 C | FNDLN : AA9 C | FNDLP : AB1 C | FNDNXT : AC6 C | FNDSKP : AC8 C | FR1 : DA2 C | *FULLPMMU : 1 - | GETCO1 : 7FD - | GETLN : A6E C | GL1 : A75 C | GL3 : A94 C | GL4 : AA2 C | GOSUB : C33 C | GOTO : C6B C | *HAS64 : 1 - | *HASDSP : 0 - | *HASFPU : 0 - | *HASPMMU : 0 - | HERE : ECB C | HEX : E38 C | *HN1 : E57 C | HN2 : E59 C | HNXTH : E41 C | HOW : FA6 C | IFF : CDF C | IFFR : CE2 C | IGNB : 81D C | INA : E7E C | INCH : 8 - | INCHAR : DEE C | *INEXTMODE : 0 - | *INLWORDMODE : 0 - | *INMAXMODE : 0 - | INPERR : CEE C | INPUT : CF8 C | *INSRCMODE : 0 - | *INSUPMODE : 0 - | IOBUFA : 18D0 C | IOBUFB : 18D1 C | IP2 : D06 C | IP3 : D18 C | IP4 : D45 C | IST : DE3 C | JFINI : D81 C | JQWHAT : E5B C | LDHL : 987 C | LET : D52 C | LIST : C4E C | *LISTON : 1 - | LOPVAR : 18DD C | LS1 : C57 C | LT1 : D5C C | *MACEXP : 7 - | MD1 : B60 C | *MOMCPU : 80 - | *MOMCPUNAME : Z80 - | AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 24 - 8/21/2018 7:36:22 MS30 : 7EB - | MVDOWN : B59 C | MVUP : B4F C | *NESTMAX : 100 - | NEW : ECF C | O1 : DD4 C | OK : FAB C | OUT : E0F C | OUTC : B68 C | OUTCH : 10 - | OUTCHAR : DCD C | *PACKING : 0 - | *PADDING : 1 - | PARN : 992 C | PEEK : D9B C | PN1 : B06 C | PN2 : B0D C | PN3 : B1B C | PN4 : B1C C | PN5 : B29 C | PN6 : B2F C | POKE : DA7 C | POPRET : E5E C | PR0 : CAF C | PR3 : CB8 C | PR8 : CCA C | PRINT : C99 C | PRTLN : B3B C | PRTNUM : AFB C | PRTSTG : AD0 C | PS1 : AD1 C | QHOW : 894 C | QSORRY : A68 C | QT1 : AE4 C | QT3 : AF1 C | QT4 : AFA C | QTSTG : ADD C | QUOTE : E2D C | QWHAT : A39 C | RAM : 1800 - | RANPNT : 18E7 C | *RELAXED : 0 - | RET : CDA C | RETURN : D6C C | RND : DF5 C | RSTART : BBC C | RUN : C7B C | RUNNXL : C81 C | RUNSML : C90 C | RUNTSL : C8A C | SETVAL : A0B C | SIZE : D5F C | SORRY : FB7 C | ST2 : BCF C | ST3 : BD8 C | ST4 : C0E C | STACK : 18CC C | START : B8F C | STKGOS : 18D7 C | STKINP : 18DB C | STOP : ED8 C | SV1 : A39 C | TAB : D83 C | TAB1 : EDE C | TAB2 : EF8 C | TAB4 : F5D C | TAB8 : F8F C | TASTE : 7FA - | *TC1 : 861 C | TC2 : 86B C | *TIME : 7:36:22 - | TN1 : 876 C | *TRUE : 1 - | TSTC : 85C C | TSTNUM : 86F C | TSTV : 82B C | TV1 : 84C C | TV2 : 855 C | TXTBGN : 1950 C | TXTE : 1BAA C | TXTEND : 194A C | TXTUNF : 18E9 C | VARBGN : 1913 C | *VERSION : 142F - | W1 : DC7 C | WHAT : FB1 C | WORD : DC0 C | WRIT2 : DD6 C | XP11 : 8A5 C | XP12 : 8AB C | XP13 : 8B1 C | XP14 : 8B8 C | XP15 : 8C0 C | XP16 : 8C6 C | XP17 : 8CC C | XP18 : 8CE C | XP21 : 8ED C | XP22 : 8F2 C | XP23 : 8F5 C | XP24 : 8FE C | XP25 : 90F C | XP26 : 914 C | XP31 : 920 C | XP32 : 93E C | XP33 : 945 C | XP34 : 94E C | XP35 : 96F C | XP40 : 982 C | XP41 : 98C C | XP42 : 99F C | XP43 : 9A0 C | 225 symbols 30 unused symbols AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 25 - 8/21/2018 7:36:22 AS V1.42 Beta [Bld 116] - source file minibasic.asm - page 26 - 8/21/2018 7:36:22 codepages: ---------- STANDARD (0 changed characters) 0.03 seconds assembly time 1268 lines source file 2 passes 0 errors 0 warnings