Dump current state of printf() (adding %d support), adds itoa()
This commit is contained in:
44
tests.asm
44
tests.asm
@ -12,6 +12,7 @@ extern islower
|
||||
extern isupper
|
||||
extern tolower
|
||||
extern toupper
|
||||
extern itoa
|
||||
;console.asm
|
||||
extern print
|
||||
extern puts
|
||||
@ -29,25 +30,25 @@ extern fclose
|
||||
extern fwrite
|
||||
|
||||
section .rodata
|
||||
PRINT_nums equ 0
|
||||
PRINT_nums equ 1
|
||||
PRINT_strs equ 1
|
||||
TEST_print equ 0
|
||||
TEST_puts equ 0
|
||||
TEST_print equ 1
|
||||
TEST_puts equ 1
|
||||
TEST_printf equ 1
|
||||
TEST_min equ 0 ;includes minu
|
||||
TEST_max equ 0 ;includes maxu
|
||||
TEST_strlen equ 0
|
||||
TEST_islower equ 0
|
||||
TEST_isupper equ 0
|
||||
TEST_strcpy equ 0
|
||||
TEST_strlcpy equ 0
|
||||
TEST_strclr equ 0
|
||||
TEST_strlclr equ 0
|
||||
TEST_strcat equ 0
|
||||
TEST_tolower equ 0
|
||||
TEST_toupper equ 0
|
||||
TEST_strcmp equ 0
|
||||
TEST_file1 equ 0
|
||||
TEST_min equ 1 ;includes minu
|
||||
TEST_max equ 1 ;includes maxu
|
||||
TEST_strlen equ 1
|
||||
TEST_islower equ 1
|
||||
TEST_isupper equ 1
|
||||
TEST_strcpy equ 1
|
||||
TEST_strlcpy equ 1
|
||||
TEST_strclr equ 1
|
||||
TEST_strlclr equ 1
|
||||
TEST_strcat equ 1
|
||||
TEST_tolower equ 1
|
||||
TEST_toupper equ 1
|
||||
TEST_strcmp equ 1
|
||||
TEST_file1 equ 1
|
||||
|
||||
num1 dq 69
|
||||
num2 dq 0xFFFFFF
|
||||
@ -68,7 +69,7 @@ section .rodata
|
||||
msgPuts db NL,NL,"# puts()",NL,EOS
|
||||
msgPuts1 db "puts() test",EOS
|
||||
; printf()
|
||||
testStr db "Testing: %s, %s, %s, %s, %s, %s, %s, %s, %s",NL,EOS
|
||||
testStr db "Testing: %s, %s, %s, %s, %s, %s, %s, %s, %d, %s",NL,EOS
|
||||
tS1 db "one",EOS
|
||||
tS2 db "two",EOS
|
||||
tS3 db "three",EOS
|
||||
@ -80,7 +81,7 @@ section .rodata
|
||||
tS9 db "noin",EOS
|
||||
msgPrintf db NL,"# printf()",EOS
|
||||
msgPrintf1 db "TEST printf()",NL,EOS
|
||||
msgPrintf2 db "TEST printf(testStr, tS1, tS2, tS3, tS4, tS5, tS6, tS7, tS8, tS9)",NL,EOS
|
||||
msgPrintf2 db "TEST printf(testStr, tS1, tS2, tS3, tS4, tS5, tS6, tS7, tS8, num1, tS9)",NL,EOS
|
||||
; min() / minu()
|
||||
msgMin db NL,"# min() / minu()",EOS
|
||||
msgMin1 db "TEST min(num1, num2): %d",NL,EOS
|
||||
@ -220,7 +221,7 @@ main:
|
||||
lea rdi, [rel msgPrintf1]
|
||||
call printf
|
||||
|
||||
; TEST: printf(testStr, tS1, tS2, tS3, tS4, tS5, tS6, tS7, tS8, tS9)
|
||||
; TEST: printf(testStr, tS1, tS2, tS3, tS4, tS5, tS6, tS7, tS8, num1, tS9)
|
||||
lea rdi, [rel msgPrintf2]
|
||||
call printf
|
||||
|
||||
@ -231,11 +232,12 @@ main:
|
||||
lea r8, [rel tS4]
|
||||
lea r9, [rel tS5]
|
||||
push tS9
|
||||
push qword [num1]
|
||||
push tS8
|
||||
push tS7
|
||||
push tS6
|
||||
call printf
|
||||
add rsp, 32 ;cleanup stack, 8*4
|
||||
add rsp, 40 ;cleanup stack, 8*5
|
||||
%ENDIF
|
||||
%IF TEST_min
|
||||
lea rdi, [rel msgMin]
|
||||
|
Reference in New Issue
Block a user