汇编语言学习笔记(十二)内中断

《汇编语言》学习(十二)内中断 《汇编语言》第12章主要介绍8086CPU的内中断的机制,包括:4种类型的内中断、中断类型码(byte-256)、中断向量表(IVT)、中断过程、中断处理函数的基本模型和iret中断返回指令。文中以“除0”中断为例,演示了中断的处理过程和如何编写及安装中断处理函数。本文将以一张思维导图总结内中断的知识点,并给出文中的所有习题答案。 一、知识图谱 二、习题答案 检测点12.1 (1) 阅读详情
中断:是cpu处理外部突发事件的一个重要技术。
外部中断:可以屏蔽的中断(键盘中断、打印机中断等)
内部中断:因硬件的出错或运算出错等

根据中断类型码,定位中断处理程序,需要知道它的段地址和偏移地址
可以通过中断向量表找到中断处理程序的入口
中断向量表指定存放在内存地址0处
256*4=1024个字节(cs:ip)

在中断过程中,需要设置标志寄存器的TF和IF的值为0

中断过程如下:
获取中断类型码N
pushf
TF=0,IF=0
push cs
push ip
(ip)=(N*4) ,(cs)=(N*4+2)

常规的步骤:
1)保存用的的寄存器
2)处理中断
3)恢复用到的寄存器
4)用iret指令返回
iret:指令的功能用汇编语言描述:
pop ip
pop cs
popf

iret通常和硬件自动完成的中断过程配合使用
中断过程中,寄存器入栈顺序:标志寄存器、cs、ip
而iret出栈顺序:ip、cs、标志寄存器
执行后,cpu回到了执行中断处理程序前继续执行的程序

可以将do0放入0000:0200中;将do0的入口地址放入中断向量表中
某个代码段多长:
do0end: nop;do0end什么都不做,只是做个标号
offset do0end - offset do0
设置向量表:
mov ax,0
mov es,ax
mov word ptr es:[0*4],200h
mov word ptr es:[0*4+2],0

单步中断:
如果检测到标志寄存器TF位为1,则产生单步中断,引发中断过程。
不应该将ss:sp的设置分开
















汇编语言 第十二章 内中断 int指令 端口 外中断 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档。 阅读详情

相关推荐

汇编语言——第十二章(内中断)

当CPU执行完当前的任务的时候,收到来CPU外部或者内部发来的一种信息,转而不继续执行当前信息,而是立即对外部或者内部的信息进行处理,这样一种来自CPU外部或者内部的信息称为中断信息。中断的意思是指不再继续当前的任务执行下去,而是转而执行外部的或者内部的这个特殊信息。 中断信息可以来自CPU内部或者CPU外部,即内中断或外中断。本文主要介绍内中断。 12.1内中断的产生 以下...

69小石头的博客 793

汇编语言案例:编译处理0号中断

——王爽 《汇编语言(第3版)》实验12 清华大学出版社 案例: 改变0号中断程序的功能,重新编写一个0号中断程序,它的功能是在屏幕中间显示“overflow!”。 一、什么叫中断,什么叫0号中断? 任何一个通用CPU,可以在执行完当前正在执行的指令之后,检测到CPU外部发送过来的(外中断)或者内部产生的(内中断)一种特殊信息,并且可以对所接收的信息进行处理,这种特殊的信息,叫做中断信息。 什么情况的发生会产生中断信息? (1)除法溢出,比如,执行div指令产生的除法溢出。 (2)单步执行。 (3)执

weixin_43323027的博客 1753

Windows系统下Mamba环境配置实战:从零到编译成功

本文详细记录了在Windows系统下从零开始配置Mamba深度学习环境的完整实战过程。针对官方不直接支持Windows的难点,文章提供了关键解决方案,包括安装特定版本的Python、PyTorch与第三方Triton,以及修改源码以解决Windows编译器的兼容性问题,最终成功编译并运行Mamba-SSM。

weixin_28842269的博客 500

实验12 编写0号中断的处理程序

编写0号中断处理程序,使得在除法溢出时,在屏幕中间显示字符串'divide error!',然后返回dos。 前面讲到,内存0000:0000~0000:03FF,大小为1KB的空间是系统存放中断处理程序入口地址的中断向量表。8086支持256个中断,但是,实际上,系统要处理的中断事件远没有达到256个,所以在向量列表中,有许多单元是空的。 中断向量表睡觉哦PC系统中最重要的内存区,只用来存放...

流彩飞霞的专栏 1713

Mac本地部署OpenClaw:从零搭建企业级知识库AI助手

大语言模型(LLM)作为当前人工智能的核心技术,通过其强大的自然语言理解和生成能力,正在深刻改变信息交互方式。其原理是基于海量数据训练的深度神经网络,能够根据上下文预测并生成连贯文本。这一技术的核心价值在于,它能够作为智能中枢,理解和执行复杂指令,从而将通用AI能力转化为解决特定业务问题的生产力。在工程实践中,通过AI Agent框架(如OpenClaw)将LLM与外部工具和知识系统连接,是实现其价值的关键。这涉及到**本地部署**与**私有化**部署,以确保数据安全与成本可控。具体应用场景包括企业知识库问

weixin_33402252的博客 378

穿透鼠标实现后台点击,适用于任何窗口!【后台鼠标】【风雪】

也许你就是被这标题吸引来的,呵呵!好久没发帖了,勾引一下大家的胃口,当然有的人已经猜出原理了!既然来了,都要把原理学回家,不然就没意思了!很多游戏现在都不支持后台消息鼠标,要实现真的不是简单的,什么注入dll啊,什么hook俺也学不懂,那就简简单单另辟蹊径了下面来讲讲原理吧(下面的玩玩可以,用于实际不现实,俺也不藏了,看到这么多人回复,良心过意不去,呵呵)首先,将要点击的窗口上面覆盖的所有窗...

weixin_34129145的博客 1万+

王爽《汇编语言》第十二章 实验十二 题目解答

; 安装do0子程序,处理中断0; do0 子程序代替0号中断,在屏幕中间显示"overflow!! dyl"assume cs:codecode segmentstart: ; 用movsb安装do0 到0号中断向量 ; 配置好movsb要用到的源地址 ds:[si] 开始 mov ax, cs mov ds, ax mov si, offset do0  ; 目的地址 为 es:

一雨田的专栏 1752

【在 WSL2 GUI 中使用 pulseaudio 播放声音】

最近在搞一个Linux项目,由于WSL2中需要用到声音外放,无奈只能潜心研究。后来就使用了一种折中的方式替代,那就是pulseaudio。目前来讲WSL2对硬件外设的支持还是不太友好,关于USB的支持我之前在其他文章中已经论述过了,这里不讨论。1、Windows11别忘记打开声音2、可能有一定延迟,因为是通过网络传输的。3、效果的话只能见仁见智了,如果不能满足要求就安装一个实实在在的Ubuntu吧!

jiexijihe945的博客 4532

汇编语言(王爽)——实验十二 编写0号中断的处理程序

1、原题目 2、个人代码 安装0号中断中断处理程序 assume cs:code code segment start: ;do0安装程序 mov ax,0 mov es,ax mov di,200h;设置es:di指向目的地址 mov ax,cs mov ds,ax mov si,offset do0;设置ds:si指向源地址 mov cx,offset do0end-offset...

z2bns的博客 637

HotSpot G1 GC 的分区记账、SATB 并发标记与停顿目标调优解析

线上GC毛刺该调停顿目标、加大新生代还是换收集器?本文从HotSpot G1的设计出发,梳理分区与巨型对象、卡表与记忆集、写屏障与细化线程、停顿预测、SATB并发标记、自适应IHOP、混合回收规则及Full GC兜底,并注明JDK8至JDK27的版本差异。文中在JDK8与JDK17上实测:停顿目标从200ms降到20ms,伊甸区缩小四成、P99下降但仍超目标;巨型对象会反复触发又撤销并发标记;JDK17并行Full GC平均停顿约为JDK8的三成。最后给出日志解读、参数清单、调优流程与选型。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 170万+

手把手教你学Simulink——机器人力控场景实例:基于Simulink的永磁同步电机重力补偿力矩控制仿真

本文介绍了基于Simulink的机器人重力补偿力矩控制仿真方法。针对机器人悬停时电机发热、抖动等问题,提出通过前馈补偿重力转矩的解决方案。文章详细阐述了从机器人动力学建模、重力补偿计算、PMSM转矩控制到系统集成的完整实现流程,并以2-DOF机械臂为例验证了补偿效果。结果表明,重力补偿能显著降低电机电流和拖拽力,提高系统柔顺性。文中还提供了高级功能扩展方向,如参数辨识、摩擦补偿等,为实际工程应用提供了参考框架。

MHD0815的博客 154

汇编语言(王爽版)学习笔记 第十二章 内中断

文章目录前言12.1 内中断的产生12.2 中断处理程序12.3 中断向量表 前言 任何一个通用的CPU,比如8086,都具备一种能力,可以在执行完当前正在执行的指令之后,检测到从CPU外部发送过来的或内部产生的一种特殊信息,并且可以立即对所接受到的信息进行处理。这种特殊的信息,我们可以称其为:中断信息。中断的意思是指,CPU不再接着(刚执行完的指令)向下执行,而是转去处理这个特殊信息。 注意,我们这里所说的中断信息,是为了便于理解而采用的一种逻辑上的说法。它是对几个具有先后顺序的硬件操作所产生的时间的统一

Kni9hT's Blog 847

GJB 5000B二级-II实施基础

本文主要描述GJB 5000B二级II实施基础与GJB 5000A的变化情况,以及过程域各条款的实施要点

Abel的博客 2581

王爽《汇编语言》(第二版) 学习笔记 (第十二章 内中断)

<br />第十二章内中断<br />本章概述:<br />1.         任何一个通用的CPU,比如8086,都具备一种能力,可以在执行完当前正在执行的指令之后,检测到从CPU外部发送过来的或内部产生的一种特殊的信息,并且可以立即对所接收到的信息进行处理。这种特殊的信息,我们可以称其为:中断信息。<br />2.         中断的意思是指,CPU不再接着(刚执行完的指令)向下执行,而是转去处理这个特殊信息。<br />3.         中断信息是对几个具有先后顺序的硬件操作所产生的事件的统

lr2131的专栏 1296

四舵轮底盘运动学模型(源码)(四轮四独立转向)二

舵轮4转向活动范围 x 轴正半轴,x轴正方向为0弧度,左正右负, -M_PI/2 < 转向范围 < M_PI/2;移动底盘的正前方为x方向,左侧为y轴方向(遵循右手坐标系,右手大拇指指向天空为z轴方向,食指与中指垂直,食指指向小车正前方为x轴,中指指向为移动底盘y轴方向)转向:逆时针旋转角速度w为正,顺时针旋转角速度w为负。(遵循右手螺旋法则,右手握拳大拇指指向天空为旋转z轴方向,拳垂直于地面,4指方向即底盘转动的正方向)左前轮为1号轮,右前轮为2号轮,左后轮为3号轮,右后轮为4号轮。

苏凯的博客 528

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

汇编语言 第十二章-内中断

CPU的设计者必须在中断信息和其处理程序的入口地址之间建立某种联系,使得CPU根据中断信息可以找到要执行的处理程序。我们知道,中断信息中包含有标识中断源的类型码。根据CPU的设计,。比如CPU 根据中断类型码 4,就可以找到4号中断的处理程序。可随之而来的问题是,若要定位中断处理程序,需要知道它的段地址和偏移地址,而如何根据得到中断处理程序的段地址和偏移地址呢?这就要引入“”了。那么什么是中断向量表呢?中断向量表就是中断向量的列表。

2302_80490510的博客 1302

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

王爽 《汇编语言》 读书笔记 十二 内中断

第十二章 内中断 中断:cpu能接收到内部或外部的某种信息,cpu不再接着向下执行,而是转取处理这个特殊信息。 12.1 内中断的产生 cpu内部有下面情况发生将产生相应的中断信息。 1)除法错误,比如,执行div指令产生的除法溢出  (中断码 0) 2)单步执行 (1) 3)执行into指令 (4) 4)执行int指令 (int n) cpu通过中断类型码来识别中

sesiria的博客 870

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

汇编语言学习笔记(【汇编语言】小甲鱼零基础汇编)

汇编语言学习笔记(【汇编语言】小甲鱼零基础汇编) 目录 第〇章 课程资料 第一章 基础知识 第二章 寄存器(CPU工作原理) 第三章 寄存器(内存访问) 第四章 第一个程序 第五章 [BX]和loop指令 第六章 包含多个段的程序 第七章 更灵活定位内存地址 第八章 数据处理的两个基本问题 第九章 转移指令的原理 第十章 call和ret指令 第十一章 标志寄存器 第十二章 内中断 第十三章 int指令 第十四章 端口 第十五章 外中断 第十六章 直接定址表 第十七章 使用BIOS进入键盘输入和磁盘读写

inv1796915552的博客 3万+

王爽《汇编语言》学习笔记(第十一章、第十二章)

第11章、标志寄存器 CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理机,个数和结构都可能不同)具有以下3种作用。 (1)用来存储相关指令的某些执行结果; (2)用来为CPU执行相关指令提供行为依据; (3)用来控制CPU的相关工作方式。 这种特殊的寄存器在8086CPU中,被称为标志寄存器(flag)。 8086CPU的标志寄存器有16位,其中存储的信息通常被称为程序状态字(PSW-Program Status Word) flag寄存器是按位起作用的,它的每一位都有专门的含义,记录特定的信息。

qq_45698833的博客 574

《汇编语言》第十二章-内中断

任意 CPU 在执行完当前正在执行的指令后,会检测到从 CPU 外部发送过来的或内部产生的一种特殊信息,并且可以立即对所接受到的信息进行处理,这种特殊的信息称为中断信息。中断的含义:CPU 不再继续往下执行,而是转去处理这个特殊信息。当 CPU 内部发生下列情况时,将会产生中断信息:不同的情况需要不同的处理,因此 CPU 所接收到的中断信息中必须包含识别来源的编码。8086CPU 用称为中断类型码的数据来标识中断信息的来源。中断类型码为一个字节型数据,可以表示 256 种中断信息的来源。产生中断信息的事件,

XiaoLing 一直摆烂哇! 656

【汇编语言】13-内中断之int中断

本系列将讲解《汇编语言》一书,本节讲解【汇编语言】13-内中断之int中断。并通过篡改入栈的IP指令实现loop指令的复刻!

759

《汇编语言》第十二章 内中断

任何一个通用的CPU,都可以在执行完当前正在执行的指令之后,检测到从CPU外部发送过来或内部产生的一种特殊信息,并可以立刻对接收到的信息进行处理,这种特殊的指令,我们将其称为 中断信息,中断信息可以来自CPU内部和外部,本章主要讨论来自CPU内部的中断信息 中断信息要求CPU马上进行某种处理,并向所要进行的该种处理提供了必备参数的通知信息 中断的意思指,CPU不再接着刚执行完的指令向下执行,而是转去处理这个特殊信息 12.1 内中断的产生 12.2 中断处理程序 12.3 中断向量表 12.4 中断过程 1

weixin_43541094的博客 1301

王爽《汇编语言》学习笔记

文章目录一、基础知识1、基础概念2、存储器3、三种外部总线4、CPU对外设的控制5、内存地址空间二、寄存器1. 寄存器2. 8086CPU 给出物理地址的方法3. 段寄存器4. 字5. DS 和 [address]6. 栈(SS和SP)三、第一个程序1.汇编程序从写出到执行的过程2. 程序执行过程四、[BX] 和 loop指令1. [bx] 和 loop指令2. Debug和masm编译器对指令的不同处理3. loop 和 [bx] 的联合应用用一个16位寄存器来做中介。将内存单元中的8位数据赋值到一个16

ClimberCoding 4058

汇编语言学习第十二章-内中断

本博文系列参考自>第三版,作者:王爽 当CPU执行完当前的任务的时候,收到来CPU外部或者内部发来的一种信息,转而不继续执行当前信息,而是立即对外部或者内部的信息进行处理,这样一种来自CPU外部或者内部的信息称为中断信息。中断的意思是指不再继续当前的任务执行下去,而是转而执行外部的或者内部的这个特殊信息。 中断信息可以来自CPU内部或者CPU外部,即内中断或外中断。本文主要

vpoet 4004

《汇编语言》 第十二章 内中断

第12章 内中断 任何一个CPU,都具有一种能力,可以在执行完当前正在执行的指令后,监测到CPU外部发送过来的或者内部产生的一种特殊信息,并且可可以立即对所接收到的信息进行处理。这种特殊的信息,我们可以称其为:中断信息。 12.1 内中断的产生 当CPU内部有下面的情况发生的时候,将产生相应的中断信息, 除法错误,比如,执行div指令产生的除法溢出; 单步执行; 执行into指令; ...

OneTrianee的博客 560
上一篇: 汇编语言学习笔记(十一)标志寄存器
下一篇: 汇编语言学习笔记(十六)直接定址表
阳小良
博客等级 码龄17年 54粉丝 155原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值