汇编语⾔中,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联⽤.
sp文这四个寄存器,都是16位的,不可以分割为⼋位.
要注意,1,sp和bp段地址默认在SS中.2..sp指向栈顶元素地址.有⾃加和⾃减能⼒,⽽bp没有.但是bp可以定位栈中某个元素的物理地址.
DI和SI
这两个属于变址寄存器.可以和bx.bp联⽤,但是和bx连⽤时,段地址在DS中,和bp联⽤时,段地址在SS中.也可以单独使⽤,单独使⽤时,段地址默认在DS中,想要越段使⽤,加上段前缀即可.在串指令操作中,
si和ds联⽤,确定⽬标源地址,di和es(附加段寄存器)联⽤,确定传送的⽬的地址.说⽩了就是,分别寻址数据段和附加段.
在串指令中,si和di具有⾃加和⾃减功能,
纯⼿打,望采纳!!!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论