汇编语言 王爽 第二版 实验15
来源:互联网 发布:淘宝介入后对卖家影响 编辑:程序博客网 时间:2024/05/01 04:09
实验15 安装新的int 9中断例程
功能:
在DOS下,按下“A”键后,除非不再松开,如果松开,就显示满屏幕的“A”,其他的按键照常处理。
提示:
“A”的通码为1EH,断码为9EH。
断码 = 通码 + 80H
程序分析:
按下按键,发生中断时,只要“A”按键不松开,就陷入死循环;
“A”键一旦松开,就开始向满屏幕上显示“A”。
代码:
assume cs:code stack segment db 128 dup (0)stack endscode segmentstart: mov ax,stack mov ss,ax mov sp,128 push cs push ds mov si,offset int9 mov ax,0 mov es,ax mov di,204h mov cx,offset int9end - offset9 cld rep movsb ; 转存BIOS 9号中断例程的入口地址到0:200 push es:[9*4] pop es:[200h] push es:[9*4+2] pop es:[202h] ; 设置BIOS的9号中断例程的入口地址为0:204 cli mov word ptr es:[9*4],204h mov word ptr es:[9*4+2],0h sti mov ax,4c00h int 21hint9: push ax push es push di push cx in al,60h pushf call dword ptr cs:[200h] cmp al,1Eh jne int9ret ; 如果按下“A”后,没有松开,就一直死循环 ; 松开之后就执行屏幕输出s: in al,60h cmp al,9Eh jne s ; 向满屏幕上输出“A” mov ax,0b800h mov es,ax mov di,0 mov cx,2000s0: mov byte ptr es:[di],’A’ add di,2 loop s0int9ret:pop cx pop di pop es pop ax iretint9end:nopcode endsend start
0 0
- 汇编语言 王爽 第二版 实验15
- 汇编语言 王爽 第二版 实验16
- 王爽 《汇编语言第二版》 实验五 (2)第四问
- 王爽 汇编语言第二版 实验8 代码详细分析
- 王爽 《汇编语言》 实验 15
- 王爽《汇编语言》第二版
- 王爽 汇编语言 第二版 实验七 寻址方式在结构化数据访问中的使用 源码
- 王爽 汇编语言第二版 实验9 根据材料编程 代码及分析
- 王爽 汇编语言第二版 实验9 根据材料编程 代码及分析
- 王爽汇编语言第二版实验4(整理)
- 12、王爽《汇编语言》笔记_实验15
- 王爽《汇编语言》(第3版) 实验七
- 王爽《汇编语言》(第三版)实验8解析
- 汇编语言 第三版 王爽 实验四
- 汇编语言 王爽(第三版)实验十一
- 汇编语言 王爽(第三版)实验十三
- 汇编语言 王爽(第三版)实验十五
- 汇编语言 王爽(第三版)实验十六
- ASP.NET 链接MySQL数据库
- 归并排序空间复杂度O(1)的实现
- HDU 1222 Wolf and Rabbit(gcd)
- 实现360手机助手TabHost的波纹效果
- cocos2d-x基础——基本代码框架
- 汇编语言 王爽 第二版 实验15
- 分布式之RPC的协议以及错误处理
- ubuntu 分卷
- Jsp到数据库中文乱码解决方法
- js如何判断客户端类型
- springmvc mybatis 基于全注解事务配置注意事项
- 并不能ac jsoi2009
- 算法:特殊二维数组查询key值是否存在
- VARCHAR2的简单说明