Adds bin2str() and printf() format specifier %b
This commit is contained in:
@@ -24,12 +24,14 @@ extern strcmp
|
||||
extern dec2str
|
||||
extern udec2str
|
||||
extern hex2str
|
||||
extern bin2str
|
||||
|
||||
section .rodata
|
||||
TEST_print equ 1
|
||||
TEST_puts equ 1
|
||||
TEST_dec2str equ 1 ;includes udec2str
|
||||
TEST_hex2str equ 1
|
||||
TEST_bin2str equ 1
|
||||
TEST_printf equ 1
|
||||
TEST_strlen equ 1
|
||||
TEST_strcpy equ 1
|
||||
@@ -48,7 +50,7 @@ section .rodata
|
||||
str3 db "Hello world!",EOS
|
||||
str4 db "Howdy environment!",EOS
|
||||
str5 db "The quick brown fox jumps over the lazy dog",EOS
|
||||
msgStrings db "PRINT str1-5:",NL,"str1: %s",NL,"str2: %s",NL,"str3: %s",NL,"str4: %s",NL,"str5: %s",NL,NL,EOS
|
||||
msgStrings db "PRINT str1-5:",NL,"str1: %s",NL,"str2: %s",NL,"str3: %s",NL,"str4: %s",NL,"str5: %s",NL,EOS
|
||||
|
||||
; print()
|
||||
msgPrint db NL,"TEST print()",NL,EOS
|
||||
@@ -56,9 +58,12 @@ section .rodata
|
||||
; puts()
|
||||
msgPuts db NL,"TEST puts()",EOS
|
||||
|
||||
; [u]dec2str() / hex2str()
|
||||
; START LAZY SECTION
|
||||
; [u]dec2str() / hex2str() / bin2str()
|
||||
msgDec2str db NL,"TEST dec2str() / udec2str()",NL,TAB,"Use GDB ('x/s $rax' after function call)",NL,TAB,"No tests printed - see printf outputs :)",NL,EOS
|
||||
msgHex2str db NL,"TEST hex2str()",NL,TAB,"Use GDB ('x/s $rax' after function call)",NL,TAB,"No tests printed - see printf outputs :)",NL,EOS
|
||||
msgBin2str db NL,"TEST bin2str()",NL,TAB,"See min/max tests",NL,EOS ;Even more lazy
|
||||
; END LAZY SECTION
|
||||
|
||||
; printf()
|
||||
msgPrintf db NL,"TEST printf()",NL,EOS
|
||||
@@ -149,25 +154,25 @@ section .rodata
|
||||
|
||||
; min() / minu()
|
||||
msgMin db NL,"TEST min(), minu()",NL,EOS
|
||||
min1 db TAB,"min(15, 30):",NL,TAB,TAB,"%d (%x)",NL,EOS
|
||||
min2 db TAB,"min(-15, -30):",NL,TAB,TAB,"%d (%x)",NL,EOS
|
||||
min3 db TAB,"min(-1, 0):",NL,TAB,TAB,"%d (%x)",NL,EOS
|
||||
min4 db TAB,"min(0xFFFFFFFF, -4294967295):",NL,TAB,TAB,"%d (%x)",NL,EOS
|
||||
minu1 db TAB,"minu(15, 30):",NL,TAB,TAB,"%d (%x)",NL,EOS
|
||||
minu2 db TAB,"minu(-15, -30):",NL,TAB,TAB,"%d (%x)",NL,EOS
|
||||
minu3 db TAB,"minu(-1, 0):",NL,TAB,TAB,"%d (%x)",NL,EOS
|
||||
minu4 db TAB,"minu(0xFFFFFFFF, -4294967295):",NL,TAB,TAB,"%d (%x)",NL,EOS
|
||||
min1 db TAB,"min(15, 30):",NL,TAB,TAB,"[%d] (%x) (%b)",NL,EOS
|
||||
min2 db TAB,"min(-15, -30):",NL,TAB,TAB,"[%d] (%x) (%b)",NL,EOS
|
||||
min3 db TAB,"min(-1, 0):",NL,TAB,TAB,"[%d] (%x) (%b)",NL,EOS
|
||||
min4 db TAB,"min(0xFFFFFFFF, -4294967295):",NL,TAB,TAB,"[%d] (%x) (%b)",NL,EOS
|
||||
minu1 db TAB,"minu(15, 30):",NL,TAB,TAB,"[%d] (%x) (%b)",NL,EOS
|
||||
minu2 db TAB,"minu(-15, -30):",NL,TAB,TAB,"[%d] (%x) (%b)",NL,EOS
|
||||
minu3 db TAB,"minu(-1, 0):",NL,TAB,TAB,"[%d] (%x) (%b)",NL,EOS
|
||||
minu4 db TAB,"minu(0xFFFFFFFF, -4294967295):",NL,TAB,TAB,"[%d] (%x) (%b)",NL,EOS
|
||||
|
||||
; max() / maxu()
|
||||
msgMax db NL,"TEST max(), maxu()",NL,EOS
|
||||
max1 db TAB,"max(15, 30):",NL,TAB,TAB,"%d (%x)",NL,EOS
|
||||
max2 db TAB,"max(-15, -30):",NL,TAB,TAB,"%d (%x)",NL,EOS
|
||||
max3 db TAB,"max(-1, 0):",NL,TAB,TAB,"%d (%x)",NL,EOS
|
||||
max4 db TAB,"max(0xFFFFFFFF, -4294967295):",NL,TAB,TAB,"%d (%x)",NL,EOS
|
||||
maxu1 db TAB,"maxu(15, 30):",NL,TAB,TAB,"%d (%x)",NL,EOS
|
||||
maxu2 db TAB,"maxu(-15, -30):",NL,TAB,TAB,"%d (%x)",NL,EOS
|
||||
maxu3 db TAB,"maxu(-1, 0):",NL,TAB,TAB,"%d (%x)",NL,EOS
|
||||
maxu4 db TAB,"maxu(0xFFFFFFFF, -4294967295):",NL,TAB,TAB,"%d (%x)",NL,EOS
|
||||
max1 db TAB,"max(15, 30):",NL,TAB,TAB,"[%d] (%x) (%b)",NL,EOS
|
||||
max2 db TAB,"max(-15, -30):",NL,TAB,TAB,"[%d] (%x) (%b)",NL,EOS
|
||||
max3 db TAB,"max(-1, 0):",NL,TAB,TAB,"[%d] (%x) (%b)",NL,EOS
|
||||
max4 db TAB,"max(0xFFFFFFFF, -4294967295):",NL,TAB,TAB,"[%d] (%x) (%b)",NL,EOS
|
||||
maxu1 db TAB,"maxu(15, 30):",NL,TAB,TAB,"[%d] (%x) (%b)",NL,EOS
|
||||
maxu2 db TAB,"maxu(-15, -30):",NL,TAB,TAB,"[%d] (%x) (%b)",NL,EOS
|
||||
maxu3 db TAB,"maxu(-1, 0):",NL,TAB,TAB,"[%d] (%x) (%b)",NL,EOS
|
||||
maxu4 db TAB,"maxu(0xFFFFFFFF, -4294967295):",NL,TAB,TAB,"[%d] (%x) (%b)",NL,EOS
|
||||
section .data
|
||||
|
||||
section .bss
|
||||
@@ -264,6 +269,14 @@ _start:
|
||||
call hex2str
|
||||
%endif
|
||||
|
||||
;---
|
||||
;--- bin2str()
|
||||
;---
|
||||
%if TEST_bin2str
|
||||
lea rdi, [rel msgBin2str]
|
||||
call print
|
||||
%endif
|
||||
|
||||
;---
|
||||
;--- printf()
|
||||
;---
|
||||
@@ -739,6 +752,7 @@ _start:
|
||||
lea rdi, [rel min1]
|
||||
mov rsi, rax
|
||||
mov rdx, rax
|
||||
mov rcx, rax
|
||||
call printf
|
||||
|
||||
; TEST 2
|
||||
@@ -748,6 +762,7 @@ _start:
|
||||
lea rdi, [rel min2]
|
||||
mov rsi, rax
|
||||
mov rdx, rax
|
||||
mov rcx, rax
|
||||
call printf
|
||||
|
||||
; TEST 3
|
||||
@@ -757,6 +772,7 @@ _start:
|
||||
lea rdi, [rel min3]
|
||||
mov rsi, rax
|
||||
mov rdx, rax
|
||||
mov rcx, rax
|
||||
call printf
|
||||
|
||||
; TEST 4
|
||||
@@ -766,6 +782,7 @@ _start:
|
||||
lea rdi, [rel min4]
|
||||
mov rsi, rax
|
||||
mov rdx, rax
|
||||
mov rcx, rax
|
||||
call printf
|
||||
|
||||
; TEST 1
|
||||
@@ -775,6 +792,7 @@ _start:
|
||||
lea rdi, [rel minu1]
|
||||
mov rsi, rax
|
||||
mov rdx, rax
|
||||
mov rcx, rax
|
||||
call printf
|
||||
|
||||
; TEST 2
|
||||
@@ -784,6 +802,7 @@ _start:
|
||||
lea rdi, [rel minu2]
|
||||
mov rsi, rax
|
||||
mov rdx, rax
|
||||
mov rcx, rax
|
||||
call printf
|
||||
|
||||
; TEST 3
|
||||
@@ -793,6 +812,7 @@ _start:
|
||||
lea rdi, [rel minu3]
|
||||
mov rsi, rax
|
||||
mov rdx, rax
|
||||
mov rcx, rax
|
||||
call printf
|
||||
|
||||
; TEST 4
|
||||
@@ -802,6 +822,7 @@ _start:
|
||||
lea rdi, [rel minu4]
|
||||
mov rsi, rax
|
||||
mov rdx, rax
|
||||
mov rcx, rax
|
||||
call printf
|
||||
%endif
|
||||
|
||||
@@ -819,6 +840,7 @@ _start:
|
||||
lea rdi, [rel max1]
|
||||
mov rsi, rax
|
||||
mov rdx, rax
|
||||
mov rcx, rax
|
||||
call printf
|
||||
|
||||
; TEST 2
|
||||
@@ -828,6 +850,7 @@ _start:
|
||||
lea rdi, [rel max2]
|
||||
mov rsi, rax
|
||||
mov rdx, rax
|
||||
mov rcx, rax
|
||||
call printf
|
||||
|
||||
; TEST 3
|
||||
@@ -837,6 +860,7 @@ _start:
|
||||
lea rdi, [rel max3]
|
||||
mov rsi, rax
|
||||
mov rdx, rax
|
||||
mov rcx, rax
|
||||
call printf
|
||||
|
||||
; TEST 4
|
||||
@@ -846,6 +870,7 @@ _start:
|
||||
lea rdi, [rel max4]
|
||||
mov rsi, rax
|
||||
mov rdx, rax
|
||||
mov rcx, rax
|
||||
call printf
|
||||
|
||||
; TEST 1
|
||||
@@ -855,6 +880,7 @@ _start:
|
||||
lea rdi, [rel maxu1]
|
||||
mov rsi, rax
|
||||
mov rdx, rax
|
||||
mov rcx, rax
|
||||
call printf
|
||||
|
||||
; TEST 2
|
||||
@@ -864,6 +890,7 @@ _start:
|
||||
lea rdi, [rel maxu2]
|
||||
mov rsi, rax
|
||||
mov rdx, rax
|
||||
mov rcx, rax
|
||||
call printf
|
||||
|
||||
; TEST 3
|
||||
@@ -873,6 +900,7 @@ _start:
|
||||
lea rdi, [rel maxu3]
|
||||
mov rsi, rax
|
||||
mov rdx, rax
|
||||
mov rcx, rax
|
||||
call printf
|
||||
|
||||
; TEST 4
|
||||
@@ -882,6 +910,7 @@ _start:
|
||||
lea rdi, [rel maxu4]
|
||||
mov rsi, rax
|
||||
mov rdx, rax
|
||||
mov rcx, rax
|
||||
call printf
|
||||
%endif
|
||||
|
||||
|
Reference in New Issue
Block a user