out_hl_dec_neg:\r
push hl\r
call sub_01d9h\r
- defb 03eh\r
+ defb 03eh ;ld a,.. swallow push hl\r
out.hl.dec:\r
push hl\r
ld b,006h\r
pop af\r
\r
out_dgt:\r
- and 0fh\r
- cp 10\r
- jr c,l0229h\r
- add a,007h\r
-l0229h:\r
- add a,'0'\r
+ or 0f0h\r
+ daa\r
+ add a,0a0h\r
+ adc a,040h\r
jr outchar\r
\r
out.bin.w:\r
out.bin.b:\r
ld b,8\r
l01c9h:\r
- add a,a\r
- push af\r
- ld a,00\r
- adc a,a\r
- call out_dgt\r
+ rlca\r
+ push af\r
+ ld a,'0'/2\r
+ adc a,a\r
+ call outchar\r
pop af\r
djnz l01c9h\r
ld a,'"'\r
ret\r
\r
sub_0303h:\r
- ld hl,b_0cc3_start\r
+ ld hl,t_reg_names\r
ld b,07fh\r
jr l030ch\r
\r
jr l0366h\r
\r
b_037c_start:\r
- defb 0e6h\r
+ defb 0e6h ;and a,.. clear carry\r
get_arg_range:\r
scf\r
ex af,af'\r
jr c,error0\r
ex af,af'\r
pop hl\r
- defb 03eh\r
+ defb 03eh ;ld a,.. swallow pop af\r
l038ch:\r
pop af\r
call get_range\r
\r
sub_060ch:\r
call get_char_upper\r
- cp '['\r
+ cp 'Z'+1\r
jr l0614h\r
\r
get.hexdigit:\r
cp 01dh\r
jp z,ERROR\r
ex de,hl\r
- ld hl,b_0cc3_start\r
+ ld hl,t_reg_names\r
call sel_dc_string\r
l0c12h:\r
call l0c33h\r
ld a,b\r
ret z\r
push bc\r
- ld hl,b_0ca4_start\r
+ ld hl,t_flag_names\r
call lookupch\r
jp nc,ERROR\r
- ld a,b\r
- cp 008h\r
- jr z,l0c97h\r
- pop bc\r
- rlca\r
- rlca\r
- rlca\r
- add a,0c0h\r
- ld (l0c94h),a\r
- defb 0cbh\r
-l0c94h:\r
- defb 0c0h\r
+ inc b\r
+ xor a\r
+ scf\r
+nxt_f:\r
+ rla\r
+ djnz nxt_f\r
+ pop bc\r
+ jr c,l0c97h\r
+ or b\r
+ ld b,a\r
jr l0c76h\r
+\r
l0c97h:\r
ex af,af'\r
jp nc,ERROR\r
ex af,af'\r
ld a,0fbh\r
ld (reg.iff),a\r
- pop bc\r
jr l0c76h\r
\r
-b_0ca4_start:\r
+t_flag_names:\r
db 'CNV H ZSE',0\r
\r
sub_0caeh:\r
scf\r
ret\r
\r
-b_0cc3_start:\r
+t_reg_names:\r
DC 'BC'''\r
DC 'DE'''\r
DC 'HL'''\r