汇编三

作者: Flonger | 来源:发表于2017-07-17 21:12 被阅读23次

完整的汇编指令:####

  • 汇编由两种指令组成

    1.汇编指令
    如mov、add、sub等
    有对应的机器指令,可以被编译为机器指令,最终被CPU执行

    2.伪指令
    如assume、 segment、ends、end等
    没有对应的机器指令,由编译器解析,最终不被CPU执行

    3.注释由分号开头

E67F5A83-5347-40D9-AF82-9B4A3DF40070.png

伪指令 - segment,ends,end

  • segment和ends的作用是定义一个段,segment代表一个段的开始,ends代表一个段的结束,使用格式为
    段名 segment :
    段名 ends
  • 一个有意义的汇编程序中,至少要有一个段作为代码段存放代码
  • assume
    将用作代码段的code段和CPU中的cs寄存器关联起来
  • end
    编译器遇到end时,就结束对源程序的编译
此时CPU并不能停下来

中断

此时可以停止
  • 中断是由于软件或者硬件的信号,是CPU暂停当前任务,转而执行另一端子程序。
  • 中断的分类
    • 硬中断(外中断),由外部设备(比如网卡、硬盘)随机引发的,比如当网卡收到数据包的时候,就会发出一个中断
  • 软中断(内中断),由执行中断指令产生的,可以通过程序控制触发

  • 可以通过指令int n产生中断
  • n是中断码,内存中有一张中断向量表,用来存放中断码对应中断处理程序的入口地址

  • CPU在接收到中断信号后,暂停当前正在执行的程序,跳转到中断码对应的中断向量表地址处,去执行中断处理程序

  • 常见中断

  • int 10h用于执行BIOS中断

  • int 3是“断点中断”,用于调试程序

  • int 21h用于执行DOS系统功能调用,AH寄存器存储功能号

以上

相关文章

  • <安全攻防之汇编基础>

    &关于汇编基础请点击 <汇编一> <汇编二> <汇编三> <汇编四> <汇编五> <汇编六> <汇编七> <汇编八...

  • (二) LLDB理解汇编

    1. 汇编寄存器调用约定 1.1 汇编101 看看下面的汇编片段: 在这段汇编代码中有三个操作码pushq、sub...

  • 汇编(三)

    8086的寻址方式 CPU访问内存单元时,要给出内存单元的地址,所有的内存单元都有唯一的地址,叫做物理地址 808...

  • 汇编三

    完整的汇编指令:#### 汇编由两种指令组成1.汇编指令如mov、add、sub等有对应的机器指令,可以被编译为机...

  • 汇编(三)

    8086的寻址方式 CPU访问内存单元时,要给出内存单元的地址,所有的内存单元都有唯一的地址,叫做物理地址 808...

  • 汇编(三)

    一. 8086的寻址方式 CPU访问内存单元是,要给出内存单元的地址,所有的内存单元都有唯一的地址,叫做物理地址 ...

  • 汇编(三)

    1.函数的局部变量 定义一个局部变量c,断点查看汇编中c的存储调用 2.函数的嵌套调用 定义2个函数,funcA中...

  • 汇编(三)

    一. 函数的参数 1.1 多个参数创建空工程001--Demo,编写代码如下 test方法调用处打断点,运行工程断...

  • 汇编程序基础

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

  • 提高代码执行效率的几个小技巧

    前言 目录 一、方法参数限制 二、反汇编 switch case & if else 三、C 中写汇编代码 四、 ...

网友评论

      本文标题:汇编三

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