汇编语言中xor指令_常用的汇编指令

原标题:常用的汇编指令

来源:爱达人编程达人

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

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卷,第三章和第四章介绍的是汇编指令,

你可能感兴趣的:(汇编语言中xor指令)