实验十五_安装新的int 9中断例程
来源:互联网 发布:谷歌翻译 mac 编辑:程序博客网 时间:2024/05/18 00:42
安装一个新的int 9中断例程,功能:在DOS下,按下“A”键后,除非不在松开, 如果松开,就显示满屏幕的“A”;其他的键照常处理。
提示:按下一个键时产生的扫描码称为通码,松开一个键产生的扫描码称为断码。
断码 = 通码 + 80h。
可以用在屏幕中间显示一个字符来替代满屏‘A’这样的功能,如果实现了
一个字符的显示,说明程序(除了满屏‘A’部分)其他地方基本上正确
(不一定完全正确,原因很多),这样在把满屏显示‘A’这样的功能添加上
去,完善起程序。
assume cs:code code segment start: mov ax,cs mov ds,ax mov si,offset int9;ds:si指向源地址 mov ax,0 mov es,ax mov di,204h;es:di指向目的地址 mov cx,offset int9end - offset int9 cld rep movsb mov ax,es:[9*4] mov es:[200h],ax mov ax,es:[9*4+2] mov es:[202h],ax cli mov word ptr es:[9*4],204h mov word ptr es:[9*4+2],0 sti mov ax,4c00h int 21h ;--------------------------------------------------------------------------- int9: push ax push es in al,60h pushf call dword ptr cs:[200h] cmp al,9EH;9EH是'A'的断码 jne int9ret mov ax,0b800h mov es,ax mov cx,2000 mov di,0 int9_s: mov byte ptr es:[di],'A' mov byte ptr es:[di+1],0CH;高亮红 add di,2 loop int9_s int9ret:pop es pop ax iret int9end:nop code ends end start -------------------------------------------------------------------- 总结:首先搭建框架: int9中断例程安装 保存原来的int 9中断例程 设置中断向量表 int9 int9end:nop心得:为了便于程序的调试,写程序时可以先把功能简化,就上述程序来说
可以用在屏幕中间显示一个字符来替代满屏‘A’这样的功能,如果实现了
一个字符的显示,说明程序(除了满屏‘A’部分)其他地方基本上正确
(不一定完全正确,原因很多),这样在把满屏显示‘A’这样的功能添加上
去,完善起程序。
0 0
- 实验十五_安装新的int 9中断例程
- 实验15:安装新的int 9中断例程
- 汇编实验15:安装新的int 9中断例程
- 实验15 安装新的int 9中断例程
- 王爽《汇编语言》实验15:安装新的int 9中断例程 解答
- 王爽《汇编语言》实验15——安装新的INT 9中断例程
- 王爽 汇编语言 第三版 实验15 安装新的int 9中断例程
- [Hb-XV] 安装新的int 9中断例程
- 王爽 汇编 实验15:安装新的int9中断例程
- 实验十三_编写、应用中断例程_ 1
- 实验十三_编写、应用中断例程_ 3
- 实验十六_编写包含多个功能子程序的中断例程
- INT9h 中断例程的安装
- 实验十三_编写、应用中断例程_2 & 总结
- 汇编,编写并安装int 7ch中断例程,功能为完成loop指令的功能
- 编写并安装int 7ch中断例程,功能为显示一个用0结束的字符串,中断例程安装在0:200处
- 王爽 汇编 实验16 增加键盘中断调用int 7ch中断例程
- int 10h中断例程
- 拥有尊严 (愿与君共勉)
- 史上最强视频网站真实地址解析
- iis6+php 环境搭建
- POJ-3613-Cow Relays
- 20060113-Synthesizing images using simple equations
- 实验十五_安装新的int 9中断例程
- 经典算法之计数排序
- 快速排序算法
- 选择沉默(愿与君共勉)
- 02-05正则表达式进阶_展开串
- 1009.二叉搜索树
- Java访问修饰符
- 一个想了好几天的问题——关于8086cpu自己编写9号中断不能单步的问题
- 02-06加密与解密_设计程序