在8086中,[ idata],[bx]表示内存单元时。可能是一个字节,也可能是一个字。

可能表示一个字节,也可能表示一个字。主要由指令中另一个计算对象决定。如al表示一个字节。ax就表示一个字。

这个区别主要体现在循环中,偏移地址的循环变量是加1还是加2,al是偏移地址加1,ax是偏移地址加2.

[idata],[bx]表示的是偏移地址。

[idata],[bx]是有区别的。在代码中mov ax [idata];会把[idata]看作idata,而不会看作地址。

                                            mov ax ds:[idata];会把[idata]看作偏移地址,段地址为ds。

 

                                            mov ax [bx];则把[bx]看作偏移地址,默认的段地址为ds.

posted on 2014-09-13 15:49  wanghj_dz  阅读(345)  评论(0编辑  收藏  举报

导航