Add printf() comment, return length of printed message
This commit is contained in:
@ -46,6 +46,8 @@ puts:
|
||||
leave
|
||||
ret
|
||||
;----- printf(const char* string, ...) -----;
|
||||
; Currently only supports specifiers: %d, %c, %s
|
||||
; Return value: Amount of printed characters
|
||||
printf:
|
||||
push rbp
|
||||
mov rbp, rsp
|
||||
@ -213,6 +215,8 @@ printf:
|
||||
mov byte [r11], 0x0
|
||||
lea rdi, [rel printfBuff]
|
||||
call print
|
||||
lea rdi, [rel printfBuff]
|
||||
call strlen
|
||||
|
||||
pop r13
|
||||
pop r12
|
||||
|
@ -83,6 +83,7 @@ section .rodata
|
||||
msgPrintf db NL,"# printf()",EOS
|
||||
msgPrintf1 db "TEST printf()",NL,EOS
|
||||
msgPrintf2 db "TEST printf(testStr, tS1, tS2, tS3, tS4, tS5, tS6, tS7, tS8, num1, tS9)",NL,EOS
|
||||
msgPrintf2b db "Return value: %d",NL,EOS
|
||||
; min() / minu()
|
||||
msgMin db NL,"# min() / minu()",EOS
|
||||
msgMin1 db "TEST min(num1, num2): %d",NL,EOS
|
||||
@ -239,6 +240,9 @@ main:
|
||||
push tS6
|
||||
call printf
|
||||
add rsp, 40 ;cleanup stack, 8*5
|
||||
mov rsi, rax
|
||||
lea rdi, [msgPrintf2b]
|
||||
call printf
|
||||
%ENDIF
|
||||
%IF TEST_min
|
||||
lea rdi, [rel msgMin]
|
||||
|
Reference in New Issue
Block a user