首页 > 编程语言 >x64汇编——汇编指令

x64汇编——汇编指令

时间:2024-05-13 21:56:48浏览次数:26  
标签:汇编 op1 op2 dest x64 地址 指令 字节 op

 

汇编指令

 

  • 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开头指令的一般都是跳转,大多是带条件的跳转

标签:汇编,op1,op2,dest,x64,地址,指令,字节,op
From: https://www.cnblogs.com/1873cy/p/18190021

相关文章

  • 用指令创建表
    #用指令创建表CREATETABLE`user`( idINT, `name`VARCHAR(255), `password`VARCHAR(255), `birthday`DATE) CHARACTERSETutf8COLLATEutf8_binENGINEINNODB;#CREATETABLE表的名字(比如table_name)#(#field1datatype,#field2datatype,#field3datatype,#里......
  • 汇编语言——寄存器
    寄存器程序的本质软件/程序的执行过程硬盘中程序或者软件打开后,会被装载到内存中,由CPU进行读取内存中的机器指令,再由CPU控制计算机进行相应操作CPU组成寄存器:信息存储运算器:信息处理控制器:控制其他器件进行工作寄存器与内存通常,CPU会先将内存中的数据存储到寄......
  • Git指令回顾
    Git指令回顾由于在Lab1到Lab3的操作中项目的版本结构都比较简单且并不涉及多人协作,实验者基本只使用比较常用的git指令(如:git项目库初始化,绑定github在线库,添加追踪文件,推送到github在线库等),并未对版本结构复杂的项目进行管理。这里对git的基本指令及较复杂版本管理指令做出回顾......
  • __asm__ __volatile__ GCC的内嵌汇编语法 AT&T汇编语言语法 AT&T ASM Syntax
    1Overview 开发一个OS,尽管绝大部分代码只需要用C/C++等高级语言就可以了,但至少和硬件相关部分的代码需要使用汇编语言,另外,由于启动部分的代码有大小限制,使用精练的汇编可以缩小目标代码的Size。另外,对于某些需要被经常调用的代码,使用汇编来写可以提高性能。所以我们必须了解汇......
  • linux常用指令
    ls -查看文件信息ls-al-查看目录下所有文件信息(前面有.的表示隐藏文件)mkdirxxx-创建一个目录touchxxx.txt-创建一个文件pwd-查看当前所在路径cdxxx/-切换路径cd..-切换至上一级目录cd/-切换至根目录cd~-切换至上一次打开的路径......
  • IDA Pro - 大名鼎鼎的交互式反汇编工具+SCons - 嵌入式项目里最常用的自动化构建工具
    1、libjpeg-广泛使用的JPEG编解码库libjpeg是一个完全用C语言编写的库,包含了被广泛使用的JPEG解码、JPEG编码和其他的JPEG功能的实现。这个库由独立JPEG工作组维护。项目源码:http://www.ijg.org/files/2、FatFs-面向小型嵌入式系统的FAT文件系统FatFs是日本的大......
  • 09. C语言内嵌汇编代码
    C语言函数内可以自定义一段汇编代码,在GCC编译器中使用asm或__asm__关键词定义一段汇编代码,并可选添加volatile关键字,表示不要让编译器优化这段汇编代码。内嵌汇编代码格式如下:__asm__(  "汇编代码"  :输出描述  :输入描述  :修改描述);汇编代码部分......
  • Kubernetes——K8s基础指令
    1、查看类命令#获取节点和服务版本信息kubectlgetnodes#获取节点和服务版本信息,并查看附加信息kubectlgetnodes-owide#获取pod信息,默认是default名称空间kubectlgetpod#获取pod信息,默认是default名称空间,并查看附加信息如:pod的IP及在哪个节点运行kubectlg......
  • Burp Suite Professional 2024.4 for Windows x64 - 领先的 Web 渗透测试软件
    BurpSuiteProfessional2024.4forWindowsx64-领先的Web渗透测试软件世界排名第一的Web渗透测试工具包请访问原文链接:BurpSuiteProfessional2024.4forWindowsx64-领先的Web渗透测试软件,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgBurpSuite......
  • Burp Suite Professional 2024.4 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件
    BurpSuiteProfessional2024.4formacOSx64&ARM64-领先的Web渗透测试软件世界排名第一的Web渗透测试工具包请访问原文链接:BurpSuiteProfessional2024.4formacOSx64&ARM64-领先的Web渗透测试软件,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org......