(划重点)汇编语言关键词和重要指令

本文详述了汇编语言中循环指令如loop、loope、loopne的使用,以及寄存器ESP和EBP的功能。ESP作为堆栈指针,常在PUSH和POP指令中涉及,而EBP则作为帧指针,用于存储函数执行环境。在函数调用过程中,EBP起到保护调用者帧指针的作用,并帮助访问参数和局部变量。
摘要由CSDN通过智能技术生成

主要记录一些不容易记但经常用到的汇编语言关键词和重要指令。

循环

loop 执行循环
loope和loopne就是比loop多了一个测试ZF标志位的东西
loope是只有在CX不等于0和ZF=1的情况下才执行循环
loopne是是只有在CX不等于0和ZF=0的情况下才执行循环

寄存器

ESP和EBP
ESP

ESP是扩展堆栈指针寄存器(Extended stack pointer),用于堆栈指针,存放着当前堆栈栈顶地址。ESP是SP的32位版本。堆栈是一段按照后进先出(LIFO)原则组织起来的连续存储区域。用于程序保存或恢复数据,或用于子程序调用及中断响应时保护与恢复现场。
一般情况下,对ESP有影响的指令,对ESP的操作都是隐式的,就是说ESP并不出现在指令操作数当中。
例如:
PUSH AX ; 累加器AX的内容压栈保存,(ESP)=(ESP)- 4
POP BX ; 堆栈内保存的累加器AX的内容弹出到BX寄存器中,(ESP)=(ESP)+ 4
使用PUSH、POP指令使用堆栈,要注意进出栈的匹配,否则将引起不可预期的后果。

ESP始终指向栈顶,用它只可访问栈顶,可以通过sub,push,call等指令改变ESP的值.

ESP为栈指针,用于指向栈的栈顶(下一个压入栈的活动记录的顶部),而EBP为帧指针,指向当前活动记录的底部。
当函数被调用的时候,执

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值