汇编经典教程第2节常用汇编指令
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
辅导教师郁金香:QQ 150330575
字符串存储指令 STOS
• 格式: STOS OPRD • 功能: 把AL(字节)或AX(字)中
的数据存储到DI为目的串地址 指针所寻址的存储器单元中去. 指针DI将根据DF的值进行自动 调整. • 说明:在VC的DEBUG版里经常 用来为局部变量空间写上 cccccccc指令
辅导教师郁金香:QQ 150330575
堆栈操作指令 PUSH和POP
• 格式: PUSH XXXX
•
POP XXXX
• 功能: 实现压入操作的指令是 PUSH指令;实现弹出操作的指
令是POP指令.
初级反汇编视频教程--啊冲
辅导教师郁金香:QQ 150330575
加减法操作add和sub指令
• 格式: ADD XXXX1,XXXX2 • 功能: 两数相加
• 格式: SUB XXXX1,XXXXX2 • 功能: 两个操作数的相减,即
从OPRD1中减去OPRD2,其结果 放在OPDR1中.
初级反汇编视频教程--啊冲
辅导教师郁金香:QQ 150330575
调用和返回函数CALL和RET(RETN)
• 过程调用指令 CALL • 格式: CALL XXXX • 功能: 过程调用指令
• 该指使用最频繁
初级反汇编视频教程--啊冲
辅导教师郁金香:QQ 150330575
逻辑异或运算XOR 逻辑或指令 OR
• 格式: XOR OPRD1,OPRD2
• 格式: OR OPRD1,OPRD2
• 功能: 实现两 个操作数按位 ‘异或’运算, 结果送至目的 操作数中.
• 功能: OR指令 完成对两个操 作数按位的 ‘或’运算,结 果送至目的操 作数中,本指令 可以进行字节 或字的‘或’ 运算.
第二节 常用汇编指令
• 说明:汇编语言也是一门语言, 其指令相当的多,非常丰富, 在此我只介绍几个常用的、简 单的汇编指令,让大家与我一 同入门。
• 其实在超多的计算机知识领域 里我和大家一样只是个学生而 已。
• 同学级别:有一点编程经验, 对反汇编感兴趣、零基础的朋 友。
初级反汇编视频教程--啊冲
跳转指令JXX
• JMP:无条件转移指令 • JG/JNLE: 大于/不小于等于时
转移 • JL/JNGE: 小于/不大于等于时
转移 • JGE/JNL: 大于等于/不小于时
转移 • JLE/JNG:小于等于/不大于时
转移 • JE/JZ :等于时转移
初级反汇编视频教程--啊冲
辅导教师郁金香:QQ 150330575
• 返回指令 RET
• 格式: RET
• 功能: 当调用的过程结束后实 现从过程返回至原调用程序的 下一条指令,本指令不影响标 志位.
初级反汇编视频教程--啊冲
辅导教师郁金香:QQ 150330575
数据传送MOV
• 格式: MOV XXXX1,XXXX2
• 功能: 本指令将一个源操作数 送到目的操作数中,即XXXX1<-XXXX2.
初级反汇编视频教程--啊冲
辅导教师郁金香:QQ 150330575
有效地址传送指令 LEA
• 格式: LEA OPRD1,OPRD2 • 功能: 将源操作数给出的有效
地址传送到指定的的寄存器中.
• 实际上,有时候lea用来做mov 同样的事情,比如赋值:
• Lea edi,[ebp-0cch]
初级反汇编视频教程--啊冲
初级反汇编视频教程--啊冲
辅导教师郁金香:QQ 150330575
比效指令 CMP(CoMPare)
• 格式: CMPቤተ መጻሕፍቲ ባይዱOPRD1,OPRD2
• 功能: 对两数进行相减,进行 比较.
• 说明:经常与跳转指令相配合 来形成循环或跳出操作
初级反汇编视频教程--啊冲
辅导教师郁金香:QQ 150330575