寻址方式 | 含义 | 名称 | 常用格式举例 | 备注 |
---|---|---|---|---|
[idata] |
EA=idata;SA=(ds) | 直接寻址 | [idata] |
|
[bx] |
EA=(bx);SA=(ds) | 寄存器间接寻址 | [bx] |
[si][di][bp] 相同 |
[bx+idata] |
EA=(bx)+idata;SA=(ds) | 寄存器相对寻址 | 用于结构体:[bx].idata 用于数组:idata[si] idata[di] 用于二维数组[bx][idata] |
[bx] 可用[si][di][bp] 替换 |
[bx+si] |
EA=(bx)+(si);SA=(ds) | 基址变址寻址 | 用于二维数组:[bx][si] |
[bx] 可用[bp] 替换 [si] 可用[di] 替换 |
[bx+si+idata] |
EA=(bx)+(si)+idata;SA=(ds) | 相对基址变址寻址 | 用于表格(结构)中的数组项:[bx].idata[si] 用于二维数组:idata[bx][si] |
[bx] 可用[bp] 替换 [si] 可用[di] 替换 |
注意:[bx]
与[bp]
不可同时出现。当以[bp]
寄存器寻址时,SA默认为(ss)
在无寄存器指名处理数据长度时,用操作符X ptr
来指名内存单元的长度。
如:byte ptr
word ptr
div是除法指令,使用div做除法时应注意以下问题。
原文:https://www.cnblogs.com/1v7w/p/14423809.html