diff --git a/fasm/lib/itoa.inc b/fasm/lib/itoa.inc index 9eab9bf..af315c6 100644 --- a/fasm/lib/itoa.inc +++ b/fasm/lib/itoa.inc @@ -1,13 +1,7 @@ ;; rax contains the integer ;; rbx contains a pointer to the string buffer itoa: - ;; Fill 6 digits with zeroes mov byte [rbx], '0' - mov byte [rbx + 1], '0' - mov byte [rbx + 2], '0' - mov byte [rbx + 3], '0' - mov byte [rbx + 4], '0' - mov byte [rbx + 5], '0' ;; Special case for the number '0' cmp rax, 0 @@ -16,6 +10,13 @@ itoa: ret .not_zero: + ;; Fill 6 digits with zeroes + mov byte [rbx + 1], '0' + mov byte [rbx + 2], '0' + mov byte [rbx + 3], '0' + mov byte [rbx + 4], '0' + mov byte [rbx + 5], '0' + sub rax, 100000 inc byte [rbx] cmp rax, 0