博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
中断处理程序
阅读量:6849 次
发布时间:2019-06-26

本文共 1367 字,大约阅读时间需要 4 分钟。

中断处理程序的编写方法和子程序的比较相似,下面是常规的步骤:

1)保存用到的寄存器

2)处理中断

3)恢复用到的寄存器

4)用iret指令返回。

 

编程处理0号中断(除法错误)

1)编写可以显示"overflow!"的中断处理程序: do0;

2)将do0送入内存0000:2000处;

3)将do0的入口地址0000:0200存储在中断向量表0号表项中。

 

assume cs:codecode segmentstart:                  mov ax, cs                  mov ds, ax                  mov si, offset do0                  mov ax, 0                  mov es, ax                  mov di,200h                  mov cx, offset do0end-offset do0                  cld                  rep  movsb                  mov ax, 0                                 ;设置中断向量表                  mov es, ax                  mov word ptr es:[0*4], 200h                  mov word ptr es:[0*4+2],0                  mov ax,4c00h                  int 21hdo0:                   jmp short do0start                   db  "overflow!"do0start:                   mov ax, cs                   mov ds, ax                   mov si, 202h                          mov ax, 0b800h                   mov es, ax                   mov di, 12*160+36*2       ;设置es:di指向显存空间的中间位置                   mov cx, 9s:                    mov al, [si]                    mov es:[di], al                    inc si                    add di, 2                    loop s                    mov ax, 4c00h                    int 21hdo0end:                     nopcode endsend start

 

转载于:https://www.cnblogs.com/gkp307/p/9946672.html

你可能感兴趣的文章
redis常用命令及结构
查看>>
Ubuntu下访问Windows中Postgresql
查看>>
mfc模态对话框
查看>>
DirectX 读书笔记(14) Cube mapping之SkyBox[转]
查看>>
移动端web开发初探之Vuejs的简单实战
查看>>
Team Project Proposal for ASE Course---query suggestion by 3D tag cloud
查看>>
IDEA2016.3搭建Struts2+Hibernate+Spring项目环境
查看>>
多线程(一)线程创建的三种方式
查看>>
HDU-4310 Hero 贪心Or动态规划
查看>>
linux软件管理 YUM命令
查看>>
windows下memcache安装及配置
查看>>
第一次作业人工智能
查看>>
labeled LDA,Hierarchically Supervised LDA
查看>>
JavaScript 捕获按键
查看>>
记录Javascript数组的方法参考
查看>>
截图软件
查看>>
关于抽奖概率的问题
查看>>
《鸟哥的私房菜阅读摘要》——linux的简介和计算机基础
查看>>
hql语句的case when then else end问题
查看>>
CF786E ALT
查看>>