数据处理的基本问题
在8086中,只有BX,BP,SI,DI可以放到[ ]中进行间接寻址。一般会有4种组合:
bx+si,bx+di,bp+si,bp+di
如果[]中使用寄存器bp,则表示段地址在ss中
绝大部分机器指令进行数据处理的指令分为3类:读取、写入、运算
处理的数据在三个地方出现:CPU内部、内存、端口
寻址方式总结:
直接寻址
寄存器间接寻址
寄存器相对寻址
基址变址寻址
相对基址变址寻址
------------------------------------------------------------------
如果没有寄存器的话,可以用 X PTR 指明内存长度
比如:mov word ptr ds[0],1
inc word ptr[bx]
PUSH只针对字操作,每次SP = SP -2
BX定位整个结构体,用idata定位结构体中的某个数据项,用SI定位数组项中的每个元素
----------------------------------------------------------------------------------------------
DIV指令
除数 被除数 商 余数
8位 16位(AX) AL AH
16位 32位(DX+AX) AX DX
格式:
div reg
div 内存单元
DUP:重复
db 3 dup(0)
在8086中,只有BX,BP,SI,DI可以放到[ ]中进行间接寻址。一般会有4种组合:
bx+si,bx+di,bp+si,bp+di
如果[]中使用寄存器bp,则表示段地址在ss中
绝大部分机器指令进行数据处理的指令分为3类:读取、写入、运算
处理的数据在三个地方出现:CPU内部、内存、端口
寻址方式总结:
直接寻址
寄存器间接寻址
寄存器相对寻址
基址变址寻址
相对基址变址寻址
------------------------------------------------------------------
如果没有寄存器的话,可以用 X PTR 指明内存长度
比如:mov word ptr ds[0],1
inc word ptr[bx]
PUSH只针对字操作,每次SP = SP -2
BX定位整个结构体,用idata定位结构体中的某个数据项,用SI定位数组项中的每个元素
----------------------------------------------------------------------------------------------
DIV指令
除数 被除数 商 余数
8位 16位(AX) AL AH
16位 32位(DX+AX) AX DX
格式:
div reg
div 内存单元
DUP:重复
db 3 dup(0)