Add tests for atoi()
This commit is contained in:
@@ -25,6 +25,7 @@ extern strcmp
|
|||||||
; convert.asm
|
; convert.asm
|
||||||
extern itoa
|
extern itoa
|
||||||
extern utoa
|
extern utoa
|
||||||
|
extern atoi
|
||||||
|
|
||||||
section .rodata
|
section .rodata
|
||||||
TEST_print equ 1
|
TEST_print equ 1
|
||||||
@@ -40,9 +41,10 @@ section .rodata
|
|||||||
TEST_tolower equ 1
|
TEST_tolower equ 1
|
||||||
TEST_toupper equ 1
|
TEST_toupper equ 1
|
||||||
TEST_strcmp equ 1
|
TEST_strcmp equ 1
|
||||||
TEST_min equ 0 ;includes minu
|
TEST_min equ 1 ;includes minu
|
||||||
TEST_max equ 0 ;includes maxu
|
TEST_max equ 1 ;includes maxu
|
||||||
TEST_clamp equ 1 ;includes clampu
|
TEST_clamp equ 1 ;includes clampu
|
||||||
|
TEST_atoi equ 1
|
||||||
|
|
||||||
str1 db "Hello, world!",EOS
|
str1 db "Hello, world!",EOS
|
||||||
str2 db "Hello, World!",EOS
|
str2 db "Hello, World!",EOS
|
||||||
@@ -202,6 +204,20 @@ section .rodata
|
|||||||
clampuArg2 equ MAX_UINT32
|
clampuArg2 equ MAX_UINT32
|
||||||
clampu1 db TAB,"clampu(MAX_UINT64, clampArg1, clampArg2): %d",NL,EOS
|
clampu1 db TAB,"clampu(MAX_UINT64, clampArg1, clampArg2): %d",NL,EOS
|
||||||
clampu2 db TAB,"clampu(MAX_UINT16, clampArg1, clampArg2): %d",NL,EOS
|
clampu2 db TAB,"clampu(MAX_UINT16, clampArg1, clampArg2): %d",NL,EOS
|
||||||
|
|
||||||
|
; atoi()
|
||||||
|
msgAtoi db NL,"TEST atoi()",NL,EOS
|
||||||
|
atoiOutput db TAB,"%s = %d",NL,EOS
|
||||||
|
atoi1 db "1234567890",EOS
|
||||||
|
atoi2 db "0xFFFFFFFF",EOS ;4 294 967 295
|
||||||
|
atoi3 db "0o776655",EOS ;261 549
|
||||||
|
atoi4 db "0b11001001",EOS ;201
|
||||||
|
atoi5 db "-0000001",EOS ;-1
|
||||||
|
atoi6 db "-1690000000004",EOS
|
||||||
|
atoi7 db "0x0962ABCDEF",EOS ;40 310 132 207
|
||||||
|
atoi8 db "0x0962GBCDEF",EOS ;0
|
||||||
|
atoi9 db "0o77865",EOS ;0
|
||||||
|
atoi10 db "0b102001",EOS;0
|
||||||
section .data
|
section .data
|
||||||
|
|
||||||
section .bss
|
section .bss
|
||||||
@@ -1064,6 +1080,33 @@ _start:
|
|||||||
call printf
|
call printf
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
;---
|
||||||
|
;--- atoi()
|
||||||
|
;---
|
||||||
|
%if TEST_atoi
|
||||||
|
lea rdi, [rel msgAtoi]
|
||||||
|
call print
|
||||||
|
%macro testatoi 1
|
||||||
|
lea rdi, [rel %1]
|
||||||
|
call atoi
|
||||||
|
lea rdi, [rel atoiOutput]
|
||||||
|
lea rsi, [rel %1]
|
||||||
|
mov rdx, rax
|
||||||
|
call printf
|
||||||
|
%endmacro
|
||||||
|
|
||||||
|
testatoi atoi1
|
||||||
|
testatoi atoi2
|
||||||
|
testatoi atoi3
|
||||||
|
testatoi atoi4
|
||||||
|
testatoi atoi5
|
||||||
|
testatoi atoi6
|
||||||
|
testatoi atoi7
|
||||||
|
testatoi atoi8
|
||||||
|
testatoi atoi9
|
||||||
|
testatoi atoi10
|
||||||
|
%endif
|
||||||
|
|
||||||
;---
|
;---
|
||||||
;--- exit()
|
;--- exit()
|
||||||
;---
|
;---
|
||||||
|
Reference in New Issue
Block a user