Working '%s' for printf() (args in stack yet untested)

This commit is contained in:
2025-06-25 11:42:44 +02:00
parent 855487e857
commit 7054061734

View File

@ -55,7 +55,7 @@ printf:
xor r10, r10 xor r10, r10
lea r11, [rel printfBuff] lea r11, [rel printfBuff]
.makeStr: .makeStr:
cmp byte [rdi], 0 cmp byte [rdi], 0x0
je .finish je .finish
cmp byte [rdi], '%' cmp byte [rdi], '%'
je .replaceArg je .replaceArg
@ -63,8 +63,8 @@ printf:
mov byte [r11], r12b mov byte [r11], r12b
jmp .continue jmp .continue
.replaceArg: .replaceArg:
cmp byte [rdi+1], 0 cmp byte [rdi+1], 0x0
je .finish je .continue
cmp byte [rdi+1], 'd' cmp byte [rdi+1], 'd'
je .rep_d je .rep_d
cmp byte [rdi+1], 's' cmp byte [rdi+1], 's'
@ -114,7 +114,8 @@ printf:
.s0f: .s0f:
inc r10 inc r10
pop rdi pop rdi
inc rdi add rdi, 2
jmp .makeStr
.continue: .continue:
inc rdi inc rdi
inc r11 inc r11