汇编里面的数组名什么时候是地址?什么时候是数组的第一个值?变量等标号呢?

直接寻址的例子里:
mov ax,array ;访问第0个元素,array代表数组的第一个值
代码段里:
mov ax array ;将array数组的地址给ax ,array代表数组的地址
ary_size dw $-array ;计算数组所占的字节数,array代表数组的地址
为什么?
变量和段名等标号也是这样吗?
请举几个例子,谢谢!

直接寻址的例子里:
mov ax,array ;访问第0个元素,array是数组第一个元素的地址
mov ax,array + 2 ;访问第1个元素,array是数组第一个元素的地址

代码段里:
mov ax array ;将array数组的地址给ax ,array代表数组的地址

错误,传送地址,应该是:
MOV BX, OFFSET array ;将array数组的(首)偏移地址给BX

ary_size dw $-array ;计算数组所占的字节数,array代表数组的首地址
对。追问

但是如果array是数组第一个元素的地址
mov ax,array
不是应该写成
mov ax,【array】吗?
O(∩_∩)O谢谢

追答

两者通用。
你可以试试看。

追问

哦,原来是这样,O(∩_∩)O
那是不是只有mov指令时,标号表示的地址暗含是带中括号【】的?
还有其他的指令也是这样的吗?

追答

还有其它?

你可以试试看。

温馨提示:答案为网友推荐,仅供参考
相似回答