Windows 如何打印值num1、num2、num3中的所有数字以及rax中的长十六进制?
作为注释,您可以将Windows 如何打印值num1、num2、num3中的所有数字以及rax中的长十六进制?,windows,winapi,assembly,x86-64,Windows,Winapi,Assembly,X86 64,作为注释,您可以将printf与%x”格式一起使用,或将%lx”与长型一起使用 或者您可以使用api您可以将它们传递给printf吗?如果没有,你必须自己做数字->字符串转换。 Console equ -11 extern GetStdHandle: PROTO extern WriteFile: PROTO extern ReadFile: PROTO extern ExitProcess: PROTO .data num1
printf
与%x”
格式一起使用,或将%lx”
与长型一起使用
或者您可以使用api您可以将它们传递给printf吗?如果没有,你必须自己做数字->字符串转换。
Console equ -11
extern GetStdHandle: PROTO
extern WriteFile: PROTO
extern ReadFile: PROTO
extern ExitProcess: PROTO
.data
num1 byte ?
num2 word ?
num3 dword ?
num4 qword ?
stdin qword ?
stdout qword ?
numWrite qword ?
.code
mainCRTStartup PROC
sub rsp, 40 ;reserve shadow space
mov rcx, CONSOLE
call GetStdHandle
mov stdin, rax
;Storing information into memory
mov num1, 6dh
mov num2, 7361h
mov num3, 7369206dh
mov rax, 216e754620h
mov rcx, stdout ;parm1 = console
lea rdx, num2 ;parm2 = ASCII
;parm3 = total #bytes to display
mov r8, 15
lea r9, numWrite
mov qword ptr [rsp+32], 0
call ReadFile
add rsp, 40
mov rcx, 0
call ExitProcess
mainCRTStartup ENDP
END