boo-os/util.asm

39 lines
874 B
NASM
Raw Permalink Normal View History

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