From ffface8b0a79afa2d8a3a778d7d73938dcaf3d92 Mon Sep 17 00:00:00 2001 From: Bill Rossi Date: Thu, 21 Dec 2023 09:49:14 -0500 Subject: [PATCH] Slight speedup in itoa --- fasm/lib/itoa.inc | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) 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