printf: Add padding support for %d, %i, %u, %x, %X

This commit is contained in:
2025-07-12 16:33:07 +02:00
parent b327248e0c
commit efeded5547
3 changed files with 176 additions and 58 deletions

View File

@@ -92,6 +92,16 @@ section .rodata
printf5Str db "%x|%X , %x|%X",NL,EOS
printf6 db TAB,"printf(",DQUO,"%b | %8b | %08b\n",DQUO,", 5, 5, 5): ",NL,TAB,TAB,EOS
printf6Str db "%b | %8b | %08b",NL,EOS
printf7 db TAB,"printf(",DQUO,"%d | %8d | %08d\n",DQUO,", -234, -234, -234): ",NL,TAB,TAB,EOS
printf7Str db "%d | %8d | %08d",NL,EOS
printf8 db TAB,"printf(",DQUO,"%i | %8i | %08i\n",DQUO,", -234, -234, -234): ",NL,TAB,TAB,EOS
printf8Str db "%i | %8i | %08i",NL,EOS
printf9 db TAB,"printf(",DQUO,"%u | %8u | %08u\n",DQUO,", -234, -234, -234): ",NL,TAB,TAB,EOS
printf9Str db "%u | %8u | %08u",NL,EOS
printf10 db TAB,"printf(",DQUO,"%x | %8x | %08x\n",DQUO,", 0xAB0F, -0xAB0F, 0xAB0F): ",NL,TAB,TAB,EOS
printf10Str db "%x | %8x | %08x",NL,EOS
printf11 db TAB,"printf(",DQUO,"%X | %8X | %08X\n",DQUO,", 0xAB0F, -0xAB0F, 0xAB0F): ",NL,TAB,TAB,EOS
printf11Str db "%X | %8X | %08X",NL,EOS
; strlen()
msgStrlen db NL,"TEST strlen()",NL,EOS
@@ -350,6 +360,51 @@ _start:
mov rdx, 5
mov rcx, 5
call printf
; TEST 7
lea rdi, [rel printf7]
call print
lea rdi, [rel printf7Str]
mov rsi, -234
mov rdx, -234
mov rcx, -234
call printf
; TEST 8
lea rdi, [rel printf8]
call print
lea rdi, [rel printf8Str]
mov rsi, -234
mov rdx, -234
mov rcx, -234
call printf
; TEST 9
lea rdi, [rel printf9]
call print
lea rdi, [rel printf9Str]
mov rsi, -234
mov rdx, -234
mov rcx, -234
call printf
; TEST 10
lea rdi, [rel printf10]
call print
lea rdi, [rel printf10Str]
mov rsi, 0xAB0F
mov rdx, 0xAB0F
mov rcx, 0xAB0F
call printf
; TEST 11
lea rdi, [rel printf11]
call print
lea rdi, [rel printf11Str]
mov rsi, 0xAB0F
mov rdx, 0xAB0F
mov rcx, 0xAB0F
call printf
%endif
;---