题目如下:
有符号定义语句如下:
BUFF DB 1,2,3,'123'
EBUFF DB 0
L EQU EBUFF-BUFF
怎么样分析这道题?为什么L=6?
题目如下:
有符号定义语句如下:
BUFF DB 1,2,3,'123'
EBUFF DB 0
L EQU EBUFF-BUFF
怎么样分析这道题?为什么L=6?
BUFF DB 1,2,3,'123'
EBUFF DB 0
从BUFF开始分配了6个字节的存储空间
'123'这是db以字符串的形式来分配空间的,每个字符分别占据1个字节,共3字节
加上前面的1,2,3,所以一共是6字节
EBUFF DB 0
L EQU EBUFF-BUFF
EBUFF-BUFF是取得从BUFF到EBUFF之间的偏移量,BUFF之后有6个字节,所以EBUFF-BUFF=6,equ宏指令用来定义编译时常量,所以L=6
BUFF DB 1,2,3,'123'
EBUFF DB 0
执行后内存的情况是这样的:
0 1 2 3 4 5 6
1 2 3 31 32 33 0
EBUFF-BUFF是俩地址相减
也就是6-0.答案就是6咯。