汇编常用指令(持续更新)

这篇具有很好参考价值的文章主要介绍了汇编常用指令(持续更新)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

    • 逻辑与指令:
      • and dest,src将目标与源做与操作
      • or dest,src将目标与源做或操作
      • add 加得数的值超出范围即会溢出
      • inc 汇编语言中的自增指令,相当于++
      • div指令
        • 不会给出被除数
        • 切记提前在默认的寄存器中设置好被除数,且默认寄存器不做别的用处
      • dup设置内存空间,与db、dw、dd等数据定义伪指令配合使用,进行数据的重复
      • nop的机器码占一个字节,器占位作用,为空
      • jmp指令——无条件转移
        • 可以只修改IP,也可以同时修改CS和IP
        • 需给出信息
          • 转移的目的地址
          • 转移的距离
          • 短转移 jmp short 标号
            • 功能:(ip)=(ip)+八位位移
            • 原理

            •   注意位移的范围,避免转移位移超界
          • 近转移 jmp near ptr 标号
            • 相比于短转移仅是将八位位移转变为16位位移
            • 指明了相对于当前IP的转移位移
          • 远转移 jmp far ptr 标号
            • 指明了跳转到的目的地址,即包含了标号的段地址cs和偏移地址IP
          • jmp 16位寄存器
            • IP =(16位寄存器)
          • 转移地址在内存中的jmp指令
      • jcxz 有条件转移指令(短转移)
        • jcxz 标号(包含转移的位移)
          • (cx)= 0,则转移到标号处执行
          • (cx)!= 0,什么都不做
      • loop循环
        •  
        • CX存放循环次数
      • call指令和ret指令
        • call 标号
          • 可以跳转到指定的位置,相当于C语言中的go语句
          • 调用子程序
          • call far ptr 标号
            • 实现段间转移
            • 操作
          • call 16位寄存器
          • call word ptr 内存单元地址
          • call dword ptr 内存单元地址
            • 高地址放段地址,低地址放偏移地址
        • ret指令
          • 与call指令相结合,在call跳转到指定位置执行语句后,加上ret即会返回到call指令的下一条语句
          • 相当于pop IP
          • 也可单独使用
        • retf:用栈中数据修改CS和IP的内容
          • 相当于pop IP pop CS
      • mul 指令做乘法
        • 被乘数同样默认存放
        • 格式
          • mul 寄存器
          • mul 内存单元
        • 乘法指令
      • adc-带进位加法指令
        • 利用了CF上记录的进位值
        • adc 操作对象1,操作对象2
          • 功能: 操作对象1=操作对象1+操作对象2+CF
      • sbb-带借位减法指令
        • sbb 操作对象1,操作对象2
          • 功能: 操作对象1=操作对象1-操作对象2-CF
      • cmp 比较指令
        • cmp 操作对象1,操作对象2
        • 功能:计算操作对象1-操作对象2
        • 会影响标志寄存器的值,并不在操作对象中储存,不保存结果
        • 当为有符号数时,还要记住将SF与OF结合判断结果
      • 条件转移指令(一般与可以影响标志寄存器的指令一起使用)
      • 指令缩写含义

        • 形式:jxxx 标号

          • 根据单个标志位
          • 根据无符号数比较结果
        • 实质就是修改IP
      • rep指令(常和串传送指令搭配使用)
        • 根据cx的值,重复执行后面的指令
      • 移位指令
        • 移动位数大于1时,必须用cl
        • 逻辑左移 shl 寄存器 移位大小,最高位移至CF,后面补零
        • 循环左移 rol 寄存器 移位大小
        • 逻辑右移 shr opr,cnt
        • 循环右移 ror opr,cnt
        • 算术左移 sal opr,cnt
        • 算术右移 sar opr,cnt 最高位不会发生变化
        • 带进位循环左移 rcl opr,cnt
        • 带进位循环右移 rcr opr,cnt
    •  

文章来源地址https://www.toymoban.com/news/detail-747860.html

到了这里,关于汇编常用指令(持续更新)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C/C++中的逻辑运算与汇编指令的交互

    ​​​https://pan.quark.cn/s/ac291414101c​​​ 逻辑操作是编程中的基础,它们在C/C++中广泛使用,并在底层汇编语言中由专门的指令对应执行。本文将通过探讨C/C++中的逻辑或运算(​ ​||​ ​)和逻辑非运算(​ ​!​ ​),以及它们如何转换为汇编指令来阐明两者之间的关系。 逻辑

    2024年04月28日
    浏览(25)
  • 【汇编】32位汇编常用的指令

    目录 1、普通指令        mov:传送字或字节        add:加法        sub:减法        inc:加1        dec:减1         and:与运算,都为1才为1        or:或运算,都为0才为0        xor:异或运算,多用于加密解密,相同为0不同为1        not:按位取反,单目运算

    2024年02月02日
    浏览(37)
  • 【ARM系列】ARM常用汇编指令

    在调试芯片启动代码或者分析ARM core运行流程的过程中,尝尝需要对照软件代码的反汇编文件进行分析,因此有必要掌握一些常用的arm汇编指令。 指令格式:MOV{条件}{S} 目的寄存器,源操作数 指令含义:将源操作数赋值给目的寄存器。源操作数可以是寄存器,立即数或带移位

    2024年02月04日
    浏览(38)
  • ARM汇编寄存器和常用指令详解

    对于32位及其以下的ARM处理器来说,函数调用规则如下: 父函数与子函数的入口参数以此通过 R0~R3 这4个寄存器传递。 父函数在调用子函数前先将子函数入口参数存入 R0~R3 寄存器中,若只有一个入口参数则使用 R0 寄存器传递,若有2个入口参数则使用 R0 和 R1 寄存器传递,以

    2024年02月03日
    浏览(50)
  • ARM64 寄存器、常用汇编指令收集

    ARM64 有34个寄存器,包括31个通用寄存器、SP、PC、CPSR。 寄存器 位数 描述 x0-x30 64bit 通用寄存器,如果有需要可以当做32bit使用:WO-W30 FP(x29) 64bit 保存栈帧地址(栈底指针) LR(x30) 64bit 通常称X30为程序链接寄存器,保存子程序结束后需要执行的下一条指令 SP 64bit 保存栈指针,使用

    2023年04月20日
    浏览(40)
  • Midjourney绘图指令,每天一幅画,持续更新

    Midjourney绘图指令:缤纷奇妙的天空之旅              :Midjourney、绘图指令、天空之旅、插图、女孩、彩色奇装异服、头发、眼睛、质量、技巧、白云、蓝天、鱼、服装、花边、褶边、闪闪发光、星星、水滴、效果、惊艳、生动、有趣。 指令:((masterpiece)),(((best qua

    2024年02月16日
    浏览(47)
  • 电气领域相关数据(目标检测,分类图像数据及负荷预测,持续更新)

    可下载版,持续更新 1. 电力设备红外图像与可见光图像配准数据集(103对图像,绝缘套管)    下载地址:电力设备红外图像与可见光图像配准数据集(103对图像) 2.变电站红外图像数据集(电压电流互感器,VOC标签,889张) 下载地址: 变电站红外图像数据集(电压电流

    2024年02月07日
    浏览(61)
  • 人工智能TensorFlow PyTorch物体分类和目标检测合集【持续更新】

    1. 基于TensorFlow2.3.0的花卉识别 基于TensorFlow2.3.0的花卉识别Android APP设计_基于安卓的花卉识别_lilihewo的博客-CSDN博客 2. 基于TensorFlow2.3.0的垃圾分类 基于TensorFlow2.3.0的垃圾分类Android APP设计_def model_load(img_shape=(224, 224, 3)_lilihewo的博客-CSDN博客   3. 基于TensorFlow2.3.0的果蔬识别系统的

    2024年02月09日
    浏览(58)
  • python常用函数(持续更新)

    abs是 absolute 的缩写,它会返回数字的绝对值。 any()函数用于判断给定的可迭代参数是否全部为False。如全为False则返回False;如有一个为True,则返回True。 eval()函数用来执行一个字符串表达式,并返回表达式的值。其语法格式如下图所示: python2.5版本之前,我们使用的是老式

    2024年02月07日
    浏览(41)
  • 常用的一些蓝图(持续更新)

    Apply Damage Apply Damage : 对指定的actor应用伤害。 Add Mapping Context Add Mapping Context : 添加控制映射上下文。 Add Movement Input Add Movement Input :沿着给定的由 ScaleValue 改变大小后的世界方向向量(通常是标准化的)添加移动输入。 Add Actor World Rotation Add Actor World Rotation : Bind Event to On Rea

    2024年02月15日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包