可能表示一个字节,也可能表示一个字。主要由指令中另一个计算对象决定。如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.