• 除法错误:0执行div指令产生除法溢出
  • 单步执行:1
  • 执行into指令:4
  • 执行int n指令,立即数n为中断类型码

  • CPU接到中断信息:执行中断处理程序
  • 中断信息和入口地址联系:中断向量表共1024个字节256个中断
  • 每个入口地址占四个字节,放IP共2个字节和CS共2个字节
  • 中断类型码和入口地址的映射关系
(IP) = (N * 4)
(CS) = (N * 4 + 2)

  • 0号中断
assume cs:code
code segment
start:
mov ax,8
mov bx,0
div bx
mov ah,4ch
int 21h
code ends
end start
  • 中断所在的位置
  • 观察INT 21H,计算得0000:0084

  • 中断过程由CPU硬件自动完成
  • 由中断类型码找到中断向量并由它设置CS和IP
  1. 从中断信息取得中断类型码
  2. 标志寄存器的值入栈——中断过程要改变标志寄存器的值,需要保护
  3. 设置标志寄存器TF和IF为0
  4. CS内容入栈
  5. IP内容入栈
  6. 从中断向量表读取中断处理程序的入口地址,设置IP和CS
取得中断类型码N
pushf
TF = 0 IF = 0
push CS
push IP
(IP) = (N * 4),(CS) = (N * 4 + 2)
  • CPU随时可能检测中断信息,所以中断程序常驻内存(一直存储在内存的某段空间中)
  • 中断处理程序的入口地址,即中断向量,必须存储在中断向量表的表项中
    (0000:0000 - 0000:03FF)

8086的内中断典型如int 21h的分析相关推荐

  1. INT 21H中断大全

    中断INT 21H : 1.字符功能调用类(Character-Oriented Function)******************************************** 01H.0 ...

  2. 系统功能调用DOS中断INT 21H功能包单字符输入01单字符输出02字符串输入0a字符串输出09

    微机原理与接口技术39讲 BIOS和DOS系统调用 BIOS更加底层,可以直接使用DOS DOS软中断INT 21H 调用步骤 单字符输入 按下回车退出 assume cs:codecode segm ...

  3. 汇编语言随笔(10)-内中断及实验12(返回到dos的中断处理程序)

    不同类型内中断的区分-中断类型码 8086cpu中在下面4种情况下会产生内中断:(1),除法错误 (如之前提到的除法溢出)      (2),单步执行      (3),执行into指令      ( ...

  4. 内中断---汇编学习笔记

    内中断 "中断信息"是要求CPU马上进行某种处理,并向所要进行的该种处理提供了必备的参数的通知信息. 12.1 内中断的产生 当CPU内部有下面的情况发生的时候,将产生相应的中断信 ...

  5. 【汇编语言】王爽 - 内中断复习

    0 前言 基于王爽<汇编语言>和Coursera的<计算机组成>课程. 1 中断分类 CPU在执行指令的过程中,产生了一个异常/中断,因为CPU只能同时执行一条指令,所以需要暂 ...

  6. 汇编语言笔记(四):内中断

    汇编语言笔记:内中断 章节目录 概念 中断过程 示例: 0 号中断处理 作者能力有限, 如果您在阅读过程中发现任何错误, 还请您务必联系本人,指出错误, 避免后来读者再学习错误的知识.谢谢! 概念 中 ...

  7. 内中断,外中断,软中断,硬中断,异常,陷阱

    不管是内中断,外中断,软中断还是硬中断都是按照中断源来划分的. 一.外中断 狭义上的中断(interruption)指的就是外中断. 指来自CPU执行指令以外的事件的发生,希望处理机能够向设备发下一个 ...

  8. 【汇编】 INT 21H 命令

    INT 21H是指令自动转入中断子程序的入口 上面这句话很难理解吧,相信很多新手都看不懂在说什么. 下面我来举个例子: 以8086 CPU的汇编为例,输出一个字符串,就要使用如下指令: MOV AH, ...

  9. 使用emu8086学习汇编 int 21h 指令

    INT 21H是DOS的中断调用,根据AH的值执行不同的功能: 在emu8086看一下: 单独输入一条指令: 进入仿真: 看一下程序代码,也就是用户程序,是存储在内存地址的01000.01001: R ...

最新文章

  1. Oracle按照时间统计总结
  2. 2.2 物理层传输介质
  3. 页面加载后如何使JavaScript执行?
  4. 发布本人汉化最后一个CommunityServer的版本,blog名称也改为 Asp.net源码交流中心...
  5. java缓存技术选型,重难点整理
  6. Matlab | Matlab从入门到放弃(6)——数组
  7. VS 2005竟然会突然失踪
  8. 360极速模式和兼容模式对页面的影响
  9. docker-compose参数介绍
  10. MATLAB矩阵的算术运算
  11. CNN_TensorFlow图像分类代码
  12. 重大网络教育计算机基础章节答案,网络教育计算机基础1答案
  13. linux 磁盘管理三部曲——(1)磁盘结构,认识分区
  14. win10PE安装到硬盘
  15. # 图书馆网上销售系统(c#+sql server)
  16. echarts的用法
  17. 《企业管理学》管理理论的产生于发展知识点总结
  18. Java学习方法——类的构造方法
  19. Physics-informed neural networks: A deep learning framework论文笔记
  20. Ext.TabPanel学习

热门文章

  1. Vue 新手引导标签
  2. java jshelllink_02--Java Jshell的使用 最适合入门的Java教程
  3. 【深度优先搜索】计蒜客:置换的玩笑
  4. linux atom编码设置,Ubuntu中Atom编辑器显示中文乱码的处理方法
  5. matlab矩阵作分钟平均,提高matlab运行速度和节省空间的心得合集(ZT)
  6. jquery 全国 三联 地址选择
  7. C#字典类型转URL参数字符串
  8. nginx防盗链功能
  9. Sublime Text3搭建go运行环境
  10. keepass+onedrive打造密码管理器