diff --git a/src/int_to_string.asm b/src/int_to_string.asm index 567c609..db5b197 100644 --- a/src/int_to_string.asm +++ b/src/int_to_string.asm @@ -184,7 +184,7 @@ jl dec_small ; Utilizes double dabble ; r4, r5 are loop counters ; -; for( r4 = 24 ; r4 >= 0 ; r4-- ) +; for( r4 = 24 ; r4 > 0 ; r4-- ) ; for( r5 = r4 ; r5 <= 28 ; r5+= 4 ) ; if( ((r1 >> r5) & 0xF) >= 5 ) ; r1 += 3 << r5 @@ -203,7 +203,7 @@ add r1, r1, flags dec_small_dabble_noinc: add r5, r5, 4 cmp r5, 28 -jl dec_small_dabble_inner +jle dec_small_dabble_inner sub r4, r4, 1 cmp r4, zr jg dec_small_dabble_outer diff --git a/tests/int_to_string_test.asm b/tests/int_to_string_test.asm index ecac19b..786a6f3 100644 --- a/tests/int_to_string_test.asm +++ b/tests/int_to_string_test.asm @@ -55,7 +55,8 @@ tests: @0x20280 U32 0 U8 10 "0\0" @0x202c0 U32 42069 U8 10 "42069\0" @0x20300 U32 12345678 U8 10 "12345678\0" -@0x20340 +@0x20340 U32 99999999 U8 10 "99999999\0" +@0x20380 end_of_tests: scratch: U1024 0