2021-11-09 02:19:34 +00:00
|
|
|
label _scratch_print_var:
|
|
|
|
nop
|
|
|
|
|
|
|
|
label print_addr:
|
2021-11-12 23:37:02 +00:00
|
|
|
rload 4 3; Load Arg 1 in 3
|
2021-11-09 02:19:34 +00:00
|
|
|
store $3 _scratch_print_var ; preserve rax
|
|
|
|
loadi $7 $1C
|
|
|
|
|
|
|
|
label print_rax_digit:
|
|
|
|
loadi $2 8
|
|
|
|
add $2 $9 $9; // X = X + 9
|
|
|
|
call set_pos
|
|
|
|
|
|
|
|
load $3 _scratch_print_var
|
|
|
|
shift $3 $7 $4
|
|
|
|
loadi $2 $00000F
|
|
|
|
and $2 $4 $4
|
|
|
|
|
2021-11-13 23:27:56 +00:00
|
|
|
call num_to_charset;
|
2021-11-09 02:19:34 +00:00
|
|
|
call draw_char;
|
|
|
|
|
|
|
|
loadi $2 4
|
|
|
|
sub $7 $2 $7
|
|
|
|
tx $2 $7
|
|
|
|
loadi $1 0
|
|
|
|
jneq print_rax_digit
|
|
|
|
|
|
|
|
loadi $2 8
|
|
|
|
add $2 $9 $9; // X = X + 9
|
|
|
|
call set_pos
|
|
|
|
|
|
|
|
load $3 _scratch_print_var
|
|
|
|
shift $3 $7 $4
|
|
|
|
loadi $2 $00000F
|
|
|
|
and $2 $4 $4
|
|
|
|
|
2021-11-13 23:27:56 +00:00
|
|
|
call num_to_charset;
|
2021-11-09 02:19:34 +00:00
|
|
|
call draw_char;
|
|
|
|
ret
|