printf(): Add %c, add test for %c and args on stack
This commit is contained in:
@@ -16,11 +16,11 @@ extern strclr
|
||||
section .rodata
|
||||
TEST_print equ 0
|
||||
TEST_puts equ 0
|
||||
TEST_printf equ 0
|
||||
TEST_printf equ 1
|
||||
TEST_strlen equ 0
|
||||
TEST_strcpy equ 0
|
||||
TEST_strcat equ 0
|
||||
TEST_strclr equ 1
|
||||
TEST_strclr equ 0
|
||||
|
||||
str1 db "Hello, world!",EOS
|
||||
str2 db "Hello, World!",EOS
|
||||
@@ -42,6 +42,17 @@ section .rodata
|
||||
printf2Str db "Are %s doing %s?",NL,EOS
|
||||
printf2Str1 db "you",EOS
|
||||
printf2Str2 db "okay",EOS
|
||||
printf3 db TAB,"printf(",DQUO,"%c%c%c%c%c there %c%c %s%c\n",DQUO,"): ",NL,TAB,TAB,EOS
|
||||
printf3Str db "%c%c%c%c%c there %c%c %s%c",NL,EOS
|
||||
printf3C1 equ 'H'
|
||||
printf3C2 equ 'e'
|
||||
printf3C3 equ 'l'
|
||||
printf3C4 equ 'l'
|
||||
printf3C5 equ 'o'
|
||||
printf3C6 equ 'm'
|
||||
printf3C7 equ 'y'
|
||||
printf3Str1 db "friend",EOS
|
||||
printf3C8 equ '!'
|
||||
|
||||
; strlen()
|
||||
strlenStr1 db "Hello",EOS
|
||||
@@ -114,6 +125,22 @@ _start:
|
||||
lea rsi, [rel printf2Str1]
|
||||
lea rdx, [rel printf2Str2]
|
||||
call printf
|
||||
|
||||
; TEST 3
|
||||
lea rdi, [rel printf3]
|
||||
call print
|
||||
lea rdi, [rel printf3Str]
|
||||
mov rsi, printf3C1
|
||||
mov rdx, printf3C2
|
||||
mov rcx, printf3C3
|
||||
mov r8, printf3C4
|
||||
mov r9, printf3C5
|
||||
push printf3C8
|
||||
push printf3Str1
|
||||
push printf3C7
|
||||
push printf3C6
|
||||
call printf
|
||||
add rsp, SIZE_QWORD * 4
|
||||
%endif
|
||||
|
||||
;---
|
||||
|
Reference in New Issue
Block a user