printf: Shorten code; MOV RDX, R13 instead of bunch of checks (originally I intended to use NOT R12 if padding with zeroes)
This commit is contained in:
@@ -195,9 +195,6 @@ printf:
|
||||
loop .getPaddingLoop
|
||||
pop rax
|
||||
pop rdi
|
||||
test r13, r13
|
||||
jz .noPadding
|
||||
not r12
|
||||
.noPadding:
|
||||
cmp byte [rdi + 1], 'c'
|
||||
je .rep_c
|
||||
@@ -278,20 +275,8 @@ printf:
|
||||
load_arg rsi
|
||||
push_regs
|
||||
mov rdi, rsi
|
||||
;
|
||||
mov rdx, 0
|
||||
test r12, r12
|
||||
jz .callB2S
|
||||
test r12, r12
|
||||
js .notB2S
|
||||
jmp .callB2S
|
||||
.notB2S:
|
||||
not r12
|
||||
mov rdx, 1
|
||||
jmp .callB2S
|
||||
;
|
||||
.callB2S:
|
||||
mov rsi, r12
|
||||
mov rdx, r13
|
||||
call bin2str
|
||||
mov rsi, rax
|
||||
pop_regs
|
||||
|
@@ -75,7 +75,7 @@ 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
|
||||
printf3 db TAB,"printf(",DQUO,"%c%c%c%c%c there %c%c %s%c\n",DQUO,", 'H', 'e', 'l', 'l', 'o', 'm', 'y', ",DQUO,"friend",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'
|
||||
|
Reference in New Issue
Block a user