2.8常用的汇编指令

2019-02-15 00:33

2.8 常用的汇编指令

本节必须掌握的知识点:

汇编指令

多动手实验,知道每个指令的功能

在此节之前汇编课程主要讲了两个问题,第一个问题是数据可以存哪?内存和寄存器。第二个问题是这些数据是如何存放的?我们了介绍了两种模式:一个是小端存储,一个是大端存储。如果要处理数据,我们就要使用汇编指令。什么是汇编指令哪?在介绍汇编指令之前需要把它是什么搞清楚。

2.8.1【汇编指令】

汇编指令是汇编语言中使用的一些操作符和助记符,还包括一些伪指令(如assume,end)。用于告诉【汇编程序】如何执行【汇编指令】,它既不控制机器的操作也不被汇编编成机器代码,只能被汇编程序所识别并指导汇编如何执行。如图2-8-1所示,用黑色框框选出来的,就是汇编区域,一行组合在一起就是汇编指令。

本节介绍MOV、LEA、ADD、SUB 、AND、 OR、 XOR、 NOT和XCHG指令。

【MOV指令】

图2-8-1黑色框选区域中,有MOV DWORD PTR SS:[ESP+8],EBX;这条指令无非就是将EBX的数据移动到[ESP+8]对应的内存地址中去,大家可以反复操作观察。到目前为止,我们已经接触了MOV指令。现在回顾一下MOV指令,MOV指令用于数据移动,既然是移动,那么目的操作数的作用应该相当于一个“容器”,必须是具有大小范围的内存单元或寄存器;源操

作数也可以是和目的操作数具有相同数据宽度的通用寄存器和内存单元,也可以是立即数。移动的指令只影响目的操作数的内容,不改变源操作数的内容。具体的指令格式如下:

1. MOV r/m8,r8 (r 通用寄存器) 2. MOV r/m16,r16 (m代表内存)

3. MOV r/m32,r32 (imm 代表立即数)

4. MOV r8,r/m8 (r8 代表8位通用寄存器) 5. MOV r16,r/m16 (m8 代表8位内存) 6. MOV r32,r/m32 (imm8 代表8位立即数) 7. MOV r8, imm8 8. MOV r16, imm16

9. MOV r32, imm32

【这些格式来源于Intel的白皮书,如果想了解MOV或其他汇编指令有哪些形式和用法可以查询Intel白皮书第2卷,第三章和第四章介绍的是汇编指令,所有的Intel的指令都在这里,虽然Intel和AMD是不同的CPU,但是它们都遵循的是80X86架构,绝大多数的指令是一样的。】 【LEA指令】

介绍了MOV指令,看图2-8-1中有LEA指令,LEA指令和MOV指令一样是移动数据,但是与MOV不同的是,它移动的是“[ ]”里面的内容,例如:LEA EAX,[ECX]中,执行这条指令相当于MOV EAX,ECX。而MOV EAX,[ECX]是把“[ ]”里面的值当成是内存地址编号,取地址里面的内容。

我们将MOV EAX,ECX,LEA EAX,[ECX]在软件中编写观察。

第一步:输入指令,如图2-8-2所示,当前EAX存储的数据为0x002D2BA2,ECA存储的数据为0x00000000。

第二步:按F8一次观察,如图2-8-3所示。

第三步:由于EAX和ECX存储的数据都一样,我们改ECX存储的数据,更改为0x11111111。 选中ECX存储的数据0x00000000,右键弹出对话框,选择Modify,弹出对话框如图2-8-4所示,在黑色框选部分修改成0x11111111,如图2-8-5所示。

第四步:按F8观察,如图2-8-6对比这两条指令是否做着同样的工作。

经过实验表明,两个指令干了同一件事。自己动手实验完成下面例题并观察EAX与EDX里面的数据是否相同,总结这些指令都做了什么。

例:

MOV ECX,0x0012FF80 【0x0012FF80,该内存地址是已经申请过的,所以只要堆栈窗口中出现的内存地址,都可以使用】 MOV EAX,DWORD PTR DS:[ECX] LEA EDX,DWORD PTR DS:[ECX] LEA指令格式如下: 1、LEA r16,m16 2、LEA r32,m32

LEA指令它的源操作数只能是内存,目标操作数就只能是寄存器,不能操作8位数。 【ADD指令】

ADD表示“加”,“ADD 目标操作数,源操作数”:目标操作数+源操作数的结果保存在目标操作数中,举例说明ADD EAX,0x00000004,我们在软件中观察EAX的变化。

第一步:输入指令,为了方便观察我们手动更改EAX寄存器的数据,更改为:0x00000000,如图2-8-7所示。

第二步:按F8观察,EAX存储的数据的变化,如图2-8-8所示。

F8单步执行完,我们看到了EAX存储的数据发生了变化,变为了EAX原本存储的数据+0x00000004的数据。这就是ADD指令的大致做的工作。

ADD指令格式如下:


2.8常用的汇编指令.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:信息技术应用能力的分析报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: