美文网首页从汇编到C++
3.汇编-常用汇编指令

3.汇编-常用汇编指令

作者: Asura_Luo | 来源:发表于2018-05-04 02:53 被阅读0次

3.汇编-常用汇编指令

1. MOV指令(赋值)

含义:前者被后者赋值
exp:

MOV EAX,0xFFFFFFFF

此时 EAX = 0xFFFFFFFF

指令格式:

  1. MOV r/m8,r8
  2. MOV r/m16,r16
  3. MOV r/m32,r32
  4. MOV r8,r/m8
  5. MOV r16,r/m16
  6. MOV r32,r/m/32
  7. MOV r8,imm8
  8. MOV r16,imm16
  9. MOV r32,imm32

r - 通用寄存器
m - 内存
imm - 立即数
r8 - 8位通用寄存器
m8 - 8位内存
imm8 - 8位立即数

2. ADD指令(加法)

含义:前者与后者相加,结果赋值给前者

MOV AL,00000000
ADD AL,00000001

此时 AL=00000001=0x01

指令格式:

  1. ADD r/m8,imm8
  2. ADD r/m16,imm16
  3. ADD r/m32,imm32
  4. ADD r/m16,imm8
  5. ADD r/m32,imm8
  6. ADD r/m8,r8
  7. ADD r/m16,r16
  8. ADD r/m32,r32
  9. ADD r8,r/m8
  10. ADD r16,r/m16
  11. ADD r32,r/m32

3.SUB指令(减法)

含义:前者减去后者,结果赋值给前者

MOV AL,00000002
SUB AL,00000001

此时 AL=00000001=0x01

指令格式:

  1. SUB r/m8 ,imm8
  2. SUB r/m16,imm16
  3. SUB r/m32,imm32
  4. SUB r/m16,imm8
  5. SUB r/m32,imm8
  6. SUB r/m8,r8
  7. SUB r/m16,r16
  8. SUB r/m32,r32
  9. SUB r8,r/m8
  10. SUB r16,r/m16
  11. SUB r32,r/m32

4.AND指令(与运算,两个都为1 结果为1,否则为0)

含义:前者与后者与运算,结果赋值给前者

MOV AL,00000000
AND AL,00000001

此时 AL=00000000=0x00

指令格式:

  1. AND r/m8 ,imm8
  2. AND r/m16,imm16
  3. AND r/m32,imm32
  4. AND r/m16,imm8
  5. AND r/m32,imm8
  6. AND r/m8,r8
  7. AND r/m16,r16
  8. AND r/m32,r32
  9. AND r8,r/m8
  10. AND r16,r/m16
  11. AND r32,r/m32

5.OR指令(或运算,两个都为0时结果为0 否则为1)

含义:前者与后者或运算,结果赋值给前者

MOV AL,00000000
OR AL,00000001

此时 AL=00000001=0x01

指令格式:

  1. OR r/m8 ,imm8
  2. OR r/m16,imm16
  3. OR r/m32,imm32
  4. OR r/m16,imm8
  5. OR r/m32,imm8
  6. OR r/m8,r8
  7. OR r/m16,r16
  8. OR r/m32,r32
  9. OR r8,r/m8
  10. OR r16,r/m16
  11. OR r32,r/m32

6.XOR指令(异或运算,两个相同时为0 否则为1)

含义:前者与后者进行异或运算,结果赋值给前者

MOV AL,00000000
XOR AL,00000001

此时 AL=00000001=0x01

指令格式:

  1. XOR r/m8 ,imm8
  2. XOR r/m16,imm16
  3. XOR r/m32,imm32
  4. XOR r/m16,imm8
  5. XOR r/m32,imm8
  6. XOR r/m8,r8
  7. XOR r/m16,r16
  8. XOR r/m32,r32
  9. XOR r8,r/m8
  10. XOR r16,r/m16
  11. XOR r32,r/m32

7.NOT指令(取反)

含义:

MOV AL,00000000
NOT AL

此时 AL=11111111=0xff

指令格式

  1. NOT r/m8
  2. NOT r/m16
  3. NOT r/m32

相关文章

  • 3.汇编-常用汇编指令

    3.汇编-常用汇编指令 1. MOV指令(赋值) 含义:前者被后者赋值exp: 此时 EAX = 0xFFFFFF...

  • 2.8 常用的汇编指令

    2.8 常用的汇编指令 本节必须掌握的知识点: 汇编指令 多动手实验,知道每个指令的功能 在此节之前汇编课程主要讲...

  • ARM 64 常见汇编指令

    ARM64常用的汇编指令 运算指令 程序跳转指令

  • 逆向笔记(三)-汇编指令

    汇编指令 针对汇编来说,汇编指令是必须了解的,而且汇编中汇编指令比较多,但是每一个汇编指令对应的机器码是固定不变的...

  • 16位汇编简记

    汇编: 汇编即是机器指令助记符,机器指令让cpu工作。像是mov、jmp、jcxz等汇编指令都有对应的机器指令。有...

  • <<汇编语言>>第1章笔记

    第一章 基础知识 汇编语言基本概念 汇编指令是机器指令便于记忆的书写格式,通过编译器把汇编指令对应到机器指令,汇编...

  • 汇编程序基础

    汇编程序基础 一、汇编程序基本结构 二、汇编指令 1.汇编指令基本结构 三、伪指令 1.段定义 2.数据定义 数据...

  • 学习汇编--写一个完整的汇编(一)

    汇编指令 汇编有两类指令组成汇编指令如move,add,sub等,有对应的机器指令,可以被编译为机器指令最终被CP...

  • 2,程序的机器级表示

    一, 编译使用命令 1, 汇编命令 2, intel 汇编指令 3, 反编译 命令 二, 汇编指令 1, mov...

  • 逆向学习 持续更新中

    什么是汇编 机器指令能被计算机直接识别 汇编指令需要通过编译器转为机器指令 汇编指令和机器指令的差别在于指令的表示...

网友评论

    本文标题:3.汇编-常用汇编指令

    本文链接:https://www.haomeiwen.com/subject/izyrrftx.html