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

这篇文章详细解释了汇编语言中SP、BP、SI和DI寄存器的作用。SP是栈顶指针,与SS配合用于栈操作;BP作为基址指针,常用于定位栈中元素;SI和DI是变址寄存器,分别与DS和ES配合确定数据地址,在串操作指令中具有自增、自减功能。
摘要由CSDN通过智能技术生成

这个很简单:

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具有自加和自减功能,

纯手打,望采纳!!!

汇编语言中"[]"的用法

"[]"的用法在"常见问题"已经有所说明,引用如下: 1.push dword ptr [024c1100] 压栈024c1100值的双字 2.cmp eax, ...

bx, bp, si, di寄存器的使用规则

首先,都可以单独使用. 另外,组合使用的情况下: 记住这张图片就行了=_= 意思就是,bx只能和si,di组合.bp只能和si,di组合.

汇编语言中PTR的含义(转载&a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值