ld c,BDOS_CBUF\r
call ddtz_bdos\r
call crlf\r
- ld de,conbuf+1\r
- ld a,(de)\r
- ld b,a\r
- ld c,0\r
- inc b\r
-l0162h:\r
- inc de\r
- dec b\r
- jr z,l0194h\r
- ld a,(de)\r
- bit 0,c\r
- call z,toupper\r
- ld (de),a\r
- cp ''''\r
- jr nz,l0162h\r
- push de\r
- dec de\r
- ld a,(de)\r
- cp ''''\r
- jr z,l0190h\r
- dec de\r
- ld a,(de)\r
- cp '^'\r
- jr z,l0184h\r
- dec de\r
- ld a,(de)\r
- cp '^'\r
- jr nz,l0190h\r
-l0184h:\r
- inc de\r
- push bc\r
- call sub_0303h\r
- pop bc\r
- dec de\r
- ld a,(de)\r
- cp ''''\r
- jr z,l0191h\r
-l0190h:\r
- inc c\r
-l0191h:\r
- pop de\r
- jr l0162h\r
-l0194h:\r
- xor a\r
- ld (de),a\r
- ld de,conbuf+2\r
+ ld hl,conbuf+1\r
+ ld e,(hl)\r
+ xor a\r
+ ld d,a\r
+ inc hl\r
+ ex de,hl\r
+ add hl,de\r
+ ld (hl),a\r
pop hl\r
ret\r
\r
+get_char_upper:\r
+ ld a,(de)\r
toupper:\r
cp 'a'\r
ret c\r
skipbl0:\r
inc de\r
skipbl:\r
- ld a,(de)\r
+ call get_char_upper\r
call test_whitespace\r
jr z,skipbl0\r
or a\r
ld a,(hl)\r
and a\r
ret z\r
- ld a,(de)\r
+ call get_char_upper\r
cp (hl)\r
jr z,l0300h\r
inc hl\r
sub_0318h:\r
push bc\r
res 7,b\r
- defb 03eh\r
+ defb 03eh ;ld a,nn\r
sub_031ch:\r
push bc\r
push de\r
l031eh:\r
- ld a,(de)\r
+ call get_char_upper\r
xor (hl)\r
and 07fh\r
jr nz,l0336h\r
jp ERROR\r
\r
sub_060ch:\r
- ld a,(de)\r
+ call get_char_upper\r
cp '['\r
jr l0614h\r
\r
get.hexdigit:\r
ld a,(de)\r
hex_digit:\r
+ call toupper\r
cp 'F'+1\r
l0614h:\r
ccf\r
ret\r
\r
get.decdigit:\r
- ld a,(de)\r
+ call get_char_upper\r
l061eh:\r
cp '9'+1\r
jr l0625h\r
\r
get.bindigit:\r
- ld a,(de)\r
+ call get_char_upper\r
cp '1'+1\r
l0625h:\r
ccf\r
inc de\r
cp '.'\r
jr nz,cmds_dash\r
- ld a,(de)\r
+ call get_char_upper\r
or a\r
jr nz,l0d8ah\r
ret\r
jp z,assert_eol\r
cp '-'\r
jr nz,l0d8ah\r
- ld a,(de)\r
+ call get_char_upper\r
or a\r
dec hl\r
jr z,l0d60h\r
ret\r
\r
cmd_M:\r
- ld a,(de)\r
+ call get_char_upper\r
cp 'V'\r
jr nz,l0e1fh\r
inc de\r
ret\r
\r
cmd_H:\r
- ld a,(de)\r
+ call get_char_upper\r
cp 'S'\r
jr z,p_sym_list\r
\r
\r
\r
cmd_Q:\r
- ld a,(de)\r
+ call get_char_upper\r
sub 'J'\r
ld (cmd_Q_jopt),a\r
jr nz,l0e8dh\r
push de\r
push bc\r
l0edah:\r
- ld a,(de)\r
+ call get_char_upper\r
cp (hl)\r
jr nz,l0ee2h\r
inc de\r
ld (hl),' '\r
inc hl\r
l0fb6h:\r
- ld a,(de)\r
+ call get_char_upper\r
ld (hl),a\r
inc hl\r
inc de\r
call skipbl\r
ld hl,t_MNEMONICS\r
call sub_030ah\r
- jp nc,ERROR\r
+ jr nc,error4\r
call skipbl\r
push de\r
ld a,b\r
jp c,l149ch\r
call arg.IX_IY\r
jp c,l14f5h\r
- ld a,(de)\r
+ call get_char_upper\r
cp 'I'\r
jp z,l1511h\r
cp 'R'\r
jp z,l1519h\r
cp '('\r
- jp nz,ERROR\r
+ jr nz,error5\r
inc de\r
call arg.ww\r
jp c,l1528h\r
ld (iy+003h),h\r
ld c,004h\r
ret\r
+\r
l13aah:\r
- ld a,(de)\r
+ call get_char_upper\r
cp 'A'\r
- jp nz,ERROR\r
+ jr nz,error5\r
inc de\r
ld b,032h\r
+\r
as.store_3:\r
call assert_eol\r
ld (iy+000h),b\r
ld (iy+002h),h\r
ld c,003h\r
ret\r
+\r
l13c2h:\r
cp 020h\r
jr z,l13d0h\r
l13d0h:\r
ld b,022h\r
jr as.store_3\r
+\r
l13d4h:\r
ld b,a\r
call assert_comma\r
add a,b\r
add a,040h\r
cp 076h\r
- jp z,ERROR\r
+ jr z,error60\r
l13ech:\r
ld b,a\r
jp as.opc.noarg\r
+\r
l13f0h:\r
call arg.IDX_displcmnt\r
jr nc,l1413h\r
rlca\r
add a,046h\r
cp 076h\r
- jp z,ERROR\r
+ jr z,error60\r
\r
l1400h:\r
ld b,a\r
ld (iy+000h),a\r
ld c,003h\r
ret\r
+\r
l1413h:\r
- ld a,(de)\r
+ call get_char_upper\r
cp 'I'\r
jr z,l1426h\r
cp 'R'\r
jr nz,l1432h\r
ld a,b\r
cp 007h\r
- jp nz,ERROR\r
+ jr nz,error60\r
ld b,05fh\r
jr l142eh\r
+\r
l1426h:\r
ld a,b\r
cp 007h\r
- jp nz,ERROR\r
+ jr nz,error60\r
ld b,057h\r
l142eh:\r
inc de\r
inc de\r
ld a,b\r
cp 007h\r
- jp nz,ERROR\r
+ jr nz,error60\r
call arg.ww\r
jr nc,l1466h\r
cp 030h\r
- jp nc,ERROR\r
+ jr nc,error60\r
add a,00ah\r
ld b,a\r
call test_paren_close\r
jp as.opc.noarg\r
+\r
+error60:\r
+ jp error\r
+\r
l1466h:\r
call test_expr\r
call test_paren_close\r
call arg.r_HL_A\r
jr nc,l1483h\r
cp 006h\r
- jp z,ERROR\r
+ jr z,error60\r
add a,070h\r
jp l1400h\r
\r
ld (iy+001h),b\r
ld c,002h\r
ret\r
+\r
l14c3h:\r
ld a,b\r
cp 030h\r
jr nz,error6\r
ld b,0f9h\r
jr as.opc.noarg ;14ca\r
+\r
l14cch:\r
- ld a,(de)\r
+ call get_char_upper\r
cp '('\r
jr nz,l14e8h\r
inc de\r
add a,04bh\r
ld b,a\r
jp l13c9h\r
+\r
l14e3h:\r
ld b,02ah\r
jp as.store_3\r
+\r
l14e8h:\r
call test_expr\r
call assert_eol\r
jp as.store_3\r
l14f5h:\r
call assert_comma\r
- ld a,(de)\r
+ call get_char_upper\r
cp '('\r
jr nz,l1509h\r
inc de\r
call test_paren_close\r
ld b,02ah\r
jp l1395h\r
+\r
l1509h:\r
call test_expr\r
ld b,021h\r
jp l1395h\r
+\r
l1511h:\r
inc de\r
call assert_comma\r
ld b,047h\r
jr l151fh\r
+\r
l1519h:\r
inc de\r
call assert_comma\r
ld b,04fh\r
l151fh:\r
- ld a,(de)\r
+ call get_char_upper\r
inc de\r
cp 'A'\r
jr z,gen.opc.ED2\r
ld b,a\r
call test_paren_close\r
call assert_comma\r
- ld a,(de)\r
+ call get_char_upper\r
cp 'A'\r
jr nz,error6\r
inc de\r
jr nc,as.AND_CP_OR_SUB_XOR\r
call assert_comma\r
call arg.ww\r
- jp nc,ERROR\r
+ jr nc,error6\r
push af\r
ld a,b\r
cp 088h\r
l156eh:\r
ld b,a\r
jr gen.opc.ED2\r
+\r
as.ADD:\r
ld hl,t_HL.AF\r
call sub_0318h\r
ld hl,t_BC.DE.IY.SP\r
l158eh:\r
call arg.reg_16bit\r
- jp nc,ERROR\r
+ jr nc,error6\r
add a,009h\r
l1596h:\r
ld b,a\r
l159ah:\r
call assert_comma\r
call arg.ww\r
- jp nc,ERROR\r
+error61nc:\r
+ jr nc,error6\r
add a,009h\r
jp l13ech\r
as.AND_CP_OR_SUB_XOR:\r
- ld a,(de)\r
+ call get_char_upper\r
cp 'A'\r
jr nz,l15b8h\r
push de\r
call arg.r_HL_A\r
jr c,l15fah\r
call arg.IDX_displcmnt\r
- jp nc,ERROR\r
+ jr nc,error61nc\r
ld a,b\r
add a,006h\r
ld b,a\r
call arg.r_HL_A\r
jr c,l1624h\r
call arg.IDX_displcmnt\r
- jp nc,ERROR\r
+ jr nc,error61nc\r
ld a,l\r
rlca\r
rlca\r
as.EX:\r
ld hl,b_176d_start\r
call sub_030ah\r
- jp nc,ERROR\r
+ jr nc,error7\r
ld c,b\r
call assert_eol\r
ld b,000h\r
call arg.r_HL_A\r
jr c,l17cch\r
call arg.IDX_displcmnt\r
- jp nc,ERROR\r
+ jr nc,error8\r
ld a,b\r
add a,030h\r
jp l1400h\r
ret\r
\r
arg.addr_8bit:\r
- ld a,(de)\r
+ call get_char_upper\r
cp '('\r
jr nz,arg.imm_8bit\r
inc de\r
arg.IDX_displcmnt:\r
push hl\r
push bc\r
- ld a,(de)\r
+ call get_char_upper\r
cp '('\r
jr nz,l18a1h\r
push de\r
ld a,0fdh\r
l186eh:\r
ld (prefix_ixiy),a\r
- ld a,(de)\r
+ call get_char_upper\r
cp '+'\r
jr z,l1882h\r
cp ')'\r
ld hl,0\r
jr z,l189ah\r
cp '-'\r
- jp nz,ERROR\r
+ jr nz,error9\r
l1882h:\r
push af\r
inc de\r
and a\r
sbc hl,bc\r
l1894h:\r
- ld a,(de)\r
+ call get_char_upper\r
cp ')'\r
- jp nz,ERROR\r
+ jr nz,error9\r
l189ah:\r
inc de\r
pop bc\r
assert_comma:\r
call next_arg\r
ret z\r
-l18c2h:\r
+error9:\r
jp ERROR\r
\r
test_paren_close:\r
- ld a,(de)\r
+ call get_char_upper\r
cp ')'\r
- jr nz,l18c2h\r
+ jr nz,error9\r
inc de\r
ret\r
\r
l2122h:\r
ld (cmd_rpt),hl\r
ld (trace_call_flag),a\r
- ld a,(de)\r
+ call get_char_upper\r
sub 'N'\r
jr nz,l212eh\r
inc de\r
l212eh:\r
ld (trace_N_flag),a\r
- ld a,(de)\r
+ call get_char_upper\r
sub 'J'\r
jr nz,l2137h\r
inc de\r
call skipbl\r
xor a\r
ld (trace_UW_flag),a\r
- ld a,(de)\r
+ call get_char_upper\r
cp 'U'\r
jr z,l21b5h\r
cp 'W'\r