Working '%s' for printf() (args in stack yet untested)
This commit is contained in:
@ -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
|
||||||
|
Reference in New Issue
Block a user