bit.ascii2dec¶
if ascii is ‘0’-‘9’, set dec to that decimal digit value (end error=0). else, set error=1.
ascii is bit[:8], dec in bit[:4], and error(output-param) is a bit.
Signature¶
def ascii2dec error, dec, ascii @ half_dec, return_error, check_decimal, copy_decimal_value, nine4, end { ... }
Defined in bit/casting.fj — lines 93–114 (view on GitHub).
Complexity¶
Time:
25@+56Space:
25@+56
See the complexity glossary for what @, w, dw, dbit, n mean.
Source¶
Click to view the macro body
def ascii2dec error, dec, ascii @ half_dec, return_error, check_decimal, copy_decimal_value, nine4, end {
.zero error
.zero 4, dec
.cmp 4, ascii+4*dw, half_dec, return_error, check_decimal, return_error
check_decimal:
.cmp 4, ascii, nine4, copy_decimal_value, copy_decimal_value, return_error
return_error:
.not error
;end
copy_decimal_value:
.xor 4, dec, ascii
;end
half_dec:
.vec 4, 0x30>>4
nine4:
.vec 4, 9
end:
}
Depends on¶
← Previous: bit.ascii2bin
Next: bit.ascii2hex →