汇编语言分析,SIZE=TYPE×LENGTH
BUFF DB 10DIP(?)
MOV CX,LENGTH BUF
﹦〉MOV CX,10
MOV CX,SIZE BUF
﹦〉MOV CX,20
答案:没搞清楚要问什么。
如果是式子SIZE=TYPE×LENGTH,这是对的,其中TYPE返回的是类型数值,字节为1、字为2、双字为4,等等;LENGTH返回的是长度数值,其实就是是最外层DUP的数值,如果不是DUP,返回的就是1。
根据上面的法则,
BUFF DB 10DUP(?)
MOV CX,LENGTH BUFF
﹦〉MOV CX,10 对
MOV CX,SIZE BUFF
﹦〉MOV CX,20 不对,应该是 MOV CX,10 (因为BUFF是字节,所以TYPE=1,SIZE=TYPE×LENGTH=1*10=10)
其他:SIZE=TYPE*LENGTH
SIZE,TYPE,LENGTH是汇编程序数值返回运算符,还有OFFSET,SEG.它们加在变量或标号前,返回运算对象的某个参数值。
SIZE:变量包含单元数,运算符加在变量前,返回该变量包含的总字节数。它就等于变量包含单元数LENGTH变量类型TYPE的乘积。
BUFF DB 10DUP(?),它的单元数LENGTH就是10,变量类型TYPE=1(1字节)。SIZE就是10字节。
上一个:在汇编语言中。。BP是通用寄存器还是专用寄存器
下一个:用微机原理汇编语言制作一段万年历的程序