当前位置: 首页 > news >正文

汇编语言[王爽]-12 内中断

内中断的产生

来源及中断码

  1. 除法错误:0
  2. 单步执行:1
  3. 执行into指令:4
  4. 执行int n指令:n

中断向量表

Untitled

Untitled

中断过程

CPU收到中断信息后,根据中断向量表,跳转到相应的中断程序中处理中断,这一过程称为中断过程

  1. 从中断信息中取得中断向量码N
  2. 标志寄存器入栈(因为中断过程中要改变标志寄存器的值)
  3. 设置标志寄存器的第8位TF和第9位IF的值为0
  4. CS入栈
  5. IP入栈
  6. (IP)=(4N) ; (CS)=(4N+2)

更简洁的表示

1, 取得中断向量码N
2,pushf
3,TF=0,IF=0
4,push cs
5.push ip
6,(IP)=(N*4) ; (CS)=(N*4+2)

中断处理程序和iret指令

编写中断处理程序的步骤和子程序相似,下面是基本步骤:

  1. 保存用到的寄存器
  2. 处理中断
  3. 恢复用到的寄存器
  4. iret 返回

iret 指令用汇编语法描述为

pop ip
pop cs
popf

编写0号中断

目标:当发生除法错时,在屏幕显示“overflow!”,返回DOS

步骤:

  1. 编写可以显示“overflow!”的中断处理程序:do0
  2. 安装程序,将do0传送在内存0000:0200处
  3. 设置中断向量表,将do0的入口地址存储在中断向量表0号表项中

do0为什么存储在0000:0200处

Untitled

assume cs:codecode segment 
start:	;将中断例程复制到0000:0200h处mov ax,csmov ds,axmov si,offset do0mov ax,0mov es,axmov di,0200hmov cx,offset do0end-offset do0cldrep movsb;将中断例程的地址,添加到中断向量表mov ax,0mov es,axmov word ptr es:[0*4],0200hmov word ptr es:[0*4+2],0mov ax,1mov bl,0div blmov ax,4c00hint 21h;0号中断例程,显示字符串overflow!
do0:jmp short do0startdb 'overflow!'
do0start:mov ax,csmov ds,axmov si,202hmov ax,0b800hmov es,axmov di,12*160+36*2mov cx,9
s:	mov al,[si]mov es:[di],alinc siadd di,2loop smov ax,4c00hint 21h
do0end:nop
code ends
end start

Untitled

为什么此处的中断例程没有iret而是结束程序了?因为题目要求触发除法中断后直接返回DOS,而不是主程序

http://www.rkmt.cn/news/5251.html

相关文章:

  • 汇编语言[王爽]-01 基础知识
  • 贪心外套计数
  • PostgreSQL中级认证,PG证书官网查询
  • LLaMA-Adapter - 详解
  • 基于yolo12进行深度学习的机动车车牌检测
  • journald 持久化 + 限额脚本
  • 深入解析:PAT乙级_1125 子串与子列_Python_AC解法_含疑难点
  • 东南大学数据库课程06-Database Design
  • 东南大学数据库课程07-Distributed Database Systems
  • Xdebug安装与PhpStorm调试配置
  • 快速搞定Dify+Chrome MCP:打造能操作网页的AI助手
  • Unstable Twin - TryHackMe
  • 完整教程:从 WildCard 野卡到 gptplus.plus:一次解决 OpenAI 支付难题的实战复盘,轻松搞定Gpt充值
  • BOE(京东方)IPC电竞嘉年华盛典圆满收官 第三届无畏杯总决赛引领电竞生态发展热潮
  • 95.费解的开关
  • Spotify 音乐ML练习数据集含158 个特征,11
  • 最新药物数据集下载:来自Drugs
  • 400小时大规模南昌方言数据集助力方言保护、AI语音识别技术开发与文化传承研究,覆盖多样化场景与说话者,专业采集高质量音频与文本标注,支持深度学习、语音模型训练、方言教学工具及本地化智能语音交互应用
  • 350+张高清晰度冲积土、黑土、煤渣土、红土四类土壤类型图像资源 ,专为计算机视觉算法训练与地球科学研究设计,支持精准农业土壤识别、地质勘探辅助分析及环境监测应用,提升土壤分类模型准确性
  • 阶跃星辰开源Step-Video-T2V模型:300亿参数打造高保真视频生成新标杆
  • 多多报销小程序系统详解
  • 第0章 矿卡EBAZ4203爆改zynq开发板介绍和VIVADO的安装
  • 无痕检测是否注册iMessage服务,iMessages数据筛选,iMessage蓝号检测协议
  • Thundbird无法获取自签证书。
  • Gitee推出SBOM扫描功能:为开源供应链安全构筑数字防火墙
  • mysql连表查询,轻松掌握多表数据关联技巧
  • Qt-捕获摄像头画面
  • .NET驾驭Word之力:COM组件二次开发全攻略之连接Word与创建你的第一个自动化文档
  • 用户沉默之日,产品衰亡之时:逃离迭代中的“沉默陷阱”
  • 从工具到生态:现代Bug管理系统的平台化转型之路