将DWORD的值打印为ASCII字符

时间:2016-09-03 12:15:50

标签: assembly ascii masm masm32

我有一个非常简单的程序,我将一个数字存储在名为dw的{​​{1}}变量中。我想使用asciiCode中声明的print宏来打印由此值masm32rt.inc表示的ASCII字符,但尝试执行此操作会导致程序崩溃:

A

.386 option casemap:none include \masm32\include\masm32rt.inc .data asciiCode dw 65 .code start: print asciiCode exit end start 被声明为asciiCodedb时,该程序仍会崩溃。

我是否必须先使用另一个函数将此dd转换为可打印的ASCII字符?

1 个答案:

答案 0 :(得分:2)

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

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

在这种情况下,您应该使用asciiCode声明dd - dw为您提供,而不是 dword