汇编语言中,SP,BP ,SI,DI作用?

这个很简单:


sp:表示栈顶指针,指向栈顶地址.与SS相配合使用.ss为栈段.
bp:是基址指针,段地址默认在SS中.可以定位物理地址,比如:"mov ax,[bp+si+6]/mov ax,[bp+di+6].
DI:是目的变址寄存器.一般情况下与ds联用,来确定某个储存单元的地址.
SI:是源变址寄存器,默认段地址和DI一样,在DS中.和DS联用.
这四个寄存器,都是16位的,不可以分割为八位.

要注意,1,sp和bp段地址默认在SS中.2..sp指向栈顶元素地址.有自加和自减能力,而bp没有.但是bp可以定位栈中某个元素的物理地址.

DI和SI
这两个属于变址寄存器.可以和bx.bp联用,但是和bx连用时,段地址在DS中,和bp联用时,段地址在SS中.也可以单独使用,单独使用时,段地址默认在DS中,想要越段使用,加上段前缀即可.

在串指令操作中,si和ds联用,确定目标源地址,di和es(附加段寄存器)联用,确定传送的目的地址.说白了就是,分别寻址数据段和附加段.



在串指令中,si和di具有自加和自减功能,



纯手打,望采纳!!!

你可能感兴趣的:(汇编语言)