-1

我正在使用 emu8086 来学习汇编语言。我有一个问题说:将以下代码片段转换为汇编语言代码:a = 0

我是否将变量 a 初始化为十进制 ascii 代码 48(其字符值为 0)?

a db 48

或者我是否将变量 a 初始化为十进制 ascii 代码 0 本身(其字符值为 NUL)?

a db 0
4

1 回答 1

0

a = 0表示该变量a应设置为 0。您必须区分 ASCII 字符及其值。

值 48 = 0x30 = '0' 代表 ASCII 字符,0但不代表值0

所以如果你想设置值 0 你必须使用

a db 0

如果你想拥有你必须使用的字符 0

a db '0'

或者

a db 48
a db 30h

这都是一样的,但你应该使用适合目的的符号。如果你使用字符,你应该使用字符而不是它们的 ASCII 值。从技术上讲,它是相同的,但传达给读者的含义是不同的。

于 2014-03-22T10:53:38.660 回答