汇编指令

  • mov dest, src

    • mov move的简称
    • 将src的内容赋值给dest,类似于dest = src
  • [地址值]
    • 中扩号 [ ]里面放的都是内存地址
    • 一个变量的地址值,是它所有字节地址中的最小值
  • word是2字节,dword是4字节(double word),qword是8字节(quad word)

  注意地址取值是向高位扩展,如 mov qword ptr [1128h], 3  ,实际上3被存储到[1128h][1129h][112Ah][112Bh]四个个字节中。

  四个字节如何存放3(CPU大小端模式,大部分是小端模式:高高低低,高地址放高字节,低地址放低字节):

1128h 00000011
1129h 00000000
112Ah 00000000
112Bh 00000000
  • call 函数地址

    • 调用函数
  • lea dest, [地址值]  指针标准汇编代码
    • load effect address 的简称
    • 直接将中括号中的地址值赋值给dest
    • lea eax , [1122h]    相当于  eax = 1122h
  • ret
    • 函数返回
  • xor op1, op2
    • 将op1和op2异或的结果赋值给op1,类似于op1 = op1 ^ op2
  • add op1, op2
    • 加法,op1 = op1 + op2
  • sub op1, op2
    • 减法,op1 = op1 - op2
  • inc op
    • 自增, op = op + 1
  • dec op
    • 自减, op = op - 1
  • jmp 内存地址
    • cpu跳转到该内存地址所在的汇编代码执行
    • j开头指令的一般都是跳转,大多是带条件的跳转

x64汇编——汇编指令的更多相关文章

  1. ARM汇编常用指令

    RAM汇编常用指令有MOV B BL LDR  STR

  2. 汇编 LEA 指令

    知识点:  LEA指令  &与LEA  OD里修改汇编代码 一.LEA指令格式 有效地址传送指令 LEA 格式: LEA 操作数A, 操作数B 功能: 将操作数B的有效地址传送到指定的的 ...

  3. 汇编 ADD指令

    知识点: 加法汇编指令ADD 一.加法指令 ADD(Addition) 格式 格式: ADD A,B //A=A+B; 功能: 两数相加 . OPRD1为任一通用寄存器或存储器操作数,可以是任意一个 ...

  4. 汇编-MOV指令

    知识点:  MOV指令  基址  内联汇编  把OD附加到资源管理器右键菜单 一.MOV指令 aaa=0x889977;//MOV DWORD PTR DS:[0x403018],0x8899 ...

  5. 汇编_指令_IRET

    IRET(interrupt return)中断返回,中断服务程序的最后一条指令.   汇编指令IRET [指令格式]IRET   [指令功能]IRET(interrupt return)中断返回,中 ...

  6. ARM汇编基础指令

    Cortex-A7 常用汇编指令 一.处理器内部数据传输指令 1.mov 将数据从一个寄存器拷贝到另外一个寄存器,或者将一个立即数传递到寄存器里面 MOV R0,R1 @将寄存器 R1 中的数据传递给 ...

  7. C语言中插入汇编nop指令

    工作过程中,有的时候需要打桩cycle,想在C语言中插入nop指令,可以采取的方法是 头文件中加入#inlude <stdio.h> 定义一个内联函数,然后调用这个函数,不过得测一下平台调 ...

  8. 汇编 循环位移指令 ROL, 循环位移指令 ROR

    知识点:  循环位移指令 ROL  循环位移指令 ROR 一.循环位移指令 ROL ROR int i=0x77886611;//01110111100010000110011000010001 ...

  9. 汇编 浮点指令FLD,FSTP,FADD与FPU寄存器

    知识点:  浮点数的存放方式  st0至st7  FLD,FST,FADD指令 一.浮点数的存放方式 00401000 /$ 55 PUSH EBP 00401001 |. 8BEC MOV E ...

  10. 汇编_指令_REP MOVESB 和 CLD

    先说说MOVSB(MOVe String Byte):即字符串传送指令,这条指令按字节传送数据.通过SI和DI这两个寄存器控制字符串的源地址和目标地址,比如DS:SI这段地址的N个字节复制到ES:DI ...

随机推荐

  1. [oeasy]python0 113_字符编码_VT100控制码_iso_8859_1_拉丁字符_latin

    拉丁字符 回忆上次内容 上次回顾了字型编码的进化过程 7-bit 的 点阵字库 终于让 字母.数字.标点 明确了字型     但是 7-bit 的 ascii中 没有法文字符的位置   ​   添加图 ...

  2. TCP和KCP协议

    TCP协议 KCP是一个快速可靠协议,能以比 TCP 浪费 10%-20% 的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果.纯算法实现,并不负责底层协议(如UDP)的收发 ...

  3. 【Hibernate】Re01 快速入门

    官网地址: http://hibernate.org/orm/releases/5.4/ 地址: https://bintray.com/hibernate/artifacts/hibernate-o ...

  4. JavaWeb入门到实战学习笔记

    了解,讲得并不是很好,很展开. 概念 动态web Web服务器 web服务器这节也是蜻蜓点水,引出tomcat而已 ASP(C#语言,微软) JSP PHP Java bootstrapclasslo ...

  5. NVIDIA机器人仿真项目 —— Isaac Gym - Preview Release

    地址: https://developer.nvidia.com/isaac-gym 过期代码库地址:(已不再维护的代码库,现已由isaac gym项目合并到isaac sim项目)(2022年开始停 ...

  6. python语言下的迷宫游戏的实现猜想

    由于本人是研究AI的,尤其是AI的强化学习方向,有时候就会对一些小游戏环境的实现有几分兴趣,因为刚看了有关reinforcement learning解决maze游戏的论文,于是就突发奇想的对这个ma ...

  7. 【转载】流形学习 (Manifold Learning) ——(学习笔记)

    第一篇:   摘抄自:https://zhuanlan.zhihu.com/p/54516805 从度量空间到拓扑空间 拓扑这门学科的一个方向涉及到去研究集合在"连续变形"下一些不 ...

  8. Apache DolphinScheduler中ZooKeeperCDH不兼容问题的解决方案

    背景 看到Apache DolphinScheduler社区群有很多用户反馈和讨论这块问题,针对不兼容的问题,不仅需要自己重新编译各一个新包,而且因为默认是使用zk-3.8的配置,所以会出现不兼容问题 ...

  9. ARM指令和Thumb指令的区别

    ARM处理器的工作状态 https://blog.csdn.net/itismine/article/details/4753701?depth_1-utm_source=distribute.pc_ ...

  10. 零基础学习人工智能—Python—Pytorch学习(五)

    前言 上文有一些文字打错了,已经进行了修正. 本文主要介绍训练模型和使用模型预测数据,本文使用了一些numpy与tensor的转换,忘记的可以第二课的基础一起看. 线性回归 结合numpy使用 首先使 ...