forked from TCShenanigans/symphony_stdlib
Add some cases, fix an octal bug
This commit is contained in:
+1
-1
@@ -101,7 +101,7 @@ atoi_oct_loop:
|
|||||||
load_8 r3, [r2]
|
load_8 r3, [r2]
|
||||||
cmp r3, 0x30 ; '0'
|
cmp r3, 0x30 ; '0'
|
||||||
jl atoi_done
|
jl atoi_done
|
||||||
cmp r3, 0x39 ; '7'
|
cmp r3, 0x37 ; '7'
|
||||||
jg atoi_done
|
jg atoi_done
|
||||||
add r2, r2, 1
|
add r2, r2, 1
|
||||||
sub r3, r3, 0x30 ; '0'
|
sub r3, r3, 0x30 ; '0'
|
||||||
|
|||||||
+24
-3
@@ -33,10 +33,24 @@ mov r13, test5_pass
|
|||||||
jmp atoi_test
|
jmp atoi_test
|
||||||
test5_pass:
|
test5_pass:
|
||||||
|
|
||||||
|
mov r1, 6
|
||||||
|
mov r2, test6
|
||||||
|
mov r3, test6_end
|
||||||
|
mov r13, test6_pass
|
||||||
|
jmp atoi_test
|
||||||
|
test6_pass:
|
||||||
|
|
||||||
|
mov r1, 7
|
||||||
|
mov r2, test7
|
||||||
|
mov r3, test7_end
|
||||||
|
mov r13, test7_pass
|
||||||
|
jmp atoi_test
|
||||||
|
test7_pass:
|
||||||
|
|
||||||
success:
|
success:
|
||||||
jmp success
|
jmp success
|
||||||
|
|
||||||
; test strint.fn_atoi
|
; test strint.atoi
|
||||||
; Arguments:
|
; Arguments:
|
||||||
; r1 - test number
|
; r1 - test number
|
||||||
; r2 - test data label
|
; r2 - test data label
|
||||||
@@ -48,7 +62,7 @@ jmp success
|
|||||||
; r9 - Expected result in r1
|
; r9 - Expected result in r1
|
||||||
; r10 - Expected result in r2
|
; r10 - Expected result in r2
|
||||||
; Notes:
|
; Notes:
|
||||||
; Depends on fn_atoi not clobbering r8-r10.
|
; Depends on atoi not clobbering r8-r10.
|
||||||
atoi_test:
|
atoi_test:
|
||||||
mov r8, r1
|
mov r8, r1
|
||||||
load_32 r9, [r2]
|
load_32 r9, [r2]
|
||||||
@@ -81,6 +95,13 @@ test4: U32 42 "42"
|
|||||||
test4_end: "\0"
|
test4_end: "\0"
|
||||||
|
|
||||||
test5: U32 67 "67"
|
test5: U32 67 "67"
|
||||||
test5_end: "lol"
|
test5_end: "lol\0"
|
||||||
|
|
||||||
|
test6: U32 1690 "0x69a"
|
||||||
|
test6_end: "\0"
|
||||||
|
|
||||||
|
test7: U32 19 "023"
|
||||||
|
test7_end: "9\0"
|
||||||
|
|
||||||
|
|
||||||
include stdlib
|
include stdlib
|
||||||
|
|||||||
Reference in New Issue
Block a user