【发布时间】:2018-01-04 19:55:33
【问题描述】:
所以我一直在阅读一些汇编代码以供学习,并且遇到了这两个说明:
add register, value
add register, 'value' ; Where the value is now in single quotes
两者有什么区别?
如果这恰好是重复的,在我被激怒之前。我在这里问过,因为我不知道谷歌到底要什么来回答这个问题。
【问题讨论】:
-
value是实际值。'value'是一个代表 ASCII 值的字符(在您的帖子中,“值”我假设您的意思是一个数字)。所以0为零。'0'是 0x30 的值(字符'0'的 ASCII 值)。 -
你试过用
objdump看看有什么区别吗? -
@lurker - 啊,我假设了。只是想更加确定。谢谢:)
-
语法信息的最佳来源是(通常)使用的汇编文档,例如NASM 允许三种“引号”方式:
'0' "0" `0`- 单引号和双引号是一样的,封闭字符串(即'0123'将被编译为字节值48 49 50 51),反引号类似,但也会解析类似C 的元字符,即`\n`将编译为值10。其他汇编程序的语法可能差异很大。 (如果不确定,请使用objdump检查生成的机器代码或使用汇编程序中的列表文件)
标签: assembly instructions