问几个关于16位汇编的概念问题。
小弟自学汇编,许多烦恼,望各位能帮下我。
1、BUFF DB 7,6,'56',?
ARRAY DW 0,67H,7
BASUB EQU ARRAY-BUFF
问:BASUB的值是多少?它表示什么意义?
答案:5,表示变量BUFF所占有存储单元字节数。
为什么表示这个啊?
2、假设程序中的数据定义如下:
BUF1 DB 100 DUP('a')
BUF2 DW 1275,567,0C5H
BUF3 DB 20 DUP(?)
BUF4 DB 7,4,6,9,8
问题1:将BUF2的第三字节数据送入CL。
我写的是:MOV AX,567
MOV CL,AL
不知道这样写可以不?
它的答案是:MOV CL,BYTE PTR BUF2+2
为什么不是:MOV CL,BYTE PTR [BUF2+2],应该加中括号啊。
问题2:用伪指令写出BUF1和BUF2二者的总长度(字节数)。
答案:TLEN EQU BUF3-BUF1
我确实不知道为什么是这样。