类型:转载 责任编辑:asp.net 日期:2007/05/23
热门软件下载:
前天(10月6日)曾在这个版块中问了这样一个问题:1、为什么当在指令中出现三个以上(包括三个)字符时,这些字符只能是字符串而不可能是数值?
网友们反映看不懂我的问题!现在我将我所看的汇编书中的原文抄录如下:
……
fu EQU ABCD
nm DB fu ;替换后为nu DB ABCD
fu被定义成包含四个字符的字符串,由于超过了两个字符,不可能是数值表达式了。
……
请各位网友赐教!
网友回答:
因为它超出了字节的表达范围
看来楼主才开始学汇编
nu DB ABCD
等价于
nu DB A
DB B
DB C
DB D
如果要访问第一个A就用byte ptr
如果要访问AB就用word ptr
如果要全访问,就用dword ptr,
比如,mov ax, word ptr nu ;word ptr可省,因为目的操作数是16位的
经编译后为mov ax, [一个地址]
懂了吗?