数组ARRAY定义如下ARRAY DW 1,2,3,4,5,6,7,8,9
ARYEND DW?
其中,ARYEND是计算数组长度而建立的符号地址,所需如下指令
MOV CX,(ARYEND-ARRAY)/2
汇编程序在汇编期间将计算出表达式的值而形成指令。
就上面的这些而言,有几个不懂的地方:
1:上面的ARRAY是指那定义了14个字节的数组的首地址吧?
2:ARYEND是什么作用啊?里面存储的是什么?他是地址吧?
3:CX的最终的内容是什么?
请高手帮忙解惑。
那是不是说:如果ARRAy的地址是1001H,那么ARTYEND的地址就是100EH,然后CX=(ARTYEND-ARRAY)/2=(100F-1001)/2=7 ?
追答是9,不是7。其他的理解都是对的
追问为什么是9啊??除出来不是7么??求解?
追答如果ARRAY的地址是1001H,那么ARYEND的地址就不应该是100EH,因为这是放不下1到9这九个数字的,而且你此时说的地址只是偏移地址,不是物理地址