将 DWORD 的值打印为 ASCII 字符

Print a DWORD's value as an ASCII character

我有一个非常简单的程序,我在一个名为 asciiCodedw 变量中存储了一个数字。然后我想使用 masm32rt.inc 中声明的 print 宏来打印此值 A 表示的 ASCII 字符,但尝试这样做会使程序崩溃:

.386
option casemap:none

include \masm32\include\masm32rt.inc

.data
    asciiCode dw 65

.code 
start:
    print asciiCode
    exit
end start

asciiCode 声明为 dbdd 时程序仍然崩溃。

我必须首先使用另一个函数来将此 dw 转换为可打印的 ASCII 字符吗?

最简单的方法可能是使用 printf 宏:

; prints 65. If you want the character A instead, use the format specifier %c
printf("%d", asciiCode)

在这种情况下,您可能应该使用 dd 声明 asciiCode - dw 给您一个 word,而不是 双字.