王爽汇编 实验12编写0号中断处理程序
来源:互联网 发布:ios看图软件 编辑:程序博客网 时间:2024/05/16 07:35
ASSUME CS:codesg
codesg SEGMENT
start:
MOV AX,CS
MOV DS,AX ;程序段地址
MOV SI,OFFSET DIV_s
MOV AX,0
MOV ES,AX
MOV DI,0200H ;保持中断处理程序的内存地址
MOV CX,OFFSET DIV_ok - OFFSET DIV_s ;得到中断处理程序的长度
CLD ;正向传送
REP MOVSb
MOV AX,0
MOV ES,AX
MOV WORD PTR ES:[0*4],0200h
MOV WORD PTR ES:[0*4+2],0000h ;设置中断向量表
MOV AX,4c00h
INT 21h
DIV_s: JMP SHORT DIV_s1
DB "divide error!"
DIV_s1: MOV AX,0b800h
MOV ES,AX ;显存缓冲区
MOV DI,12*160+38*2 ;显存缓冲区大约中间位置
;25/2=12(取整行数)*160(每行的字节数)+80/2=40(这里取用38列)*2(每列字符所占2位,低位存放ASCII码.高位存放属性)
MOV AX,CS
MOV DS,AX ;当中断处理程序加载时,CS必然等于该处理程序的段地址0000:0200,
;而字符串"divide error!"的段地址也是它
MOV SI,202h ;JMP SHORT DIV_s1 占位2个机器码,所以偏移地址是0200+2
MOV CX,12 ;字符串"divide error!"的长度
DIV_s2: MOV AL,DS:[SI] ;读取字符串
MOV ES:[DI],AL ;显示字符串
INC SI
ADD DI,2 ;一个字符占两个字节,低位存放ASCII码.高位存放属性
LOOP DIV_s2
MOV AX,4c00h
INT 21h
DIV_ok: NOP
codesg ENDS
END start
- 王爽汇编 实验12编写0号中断处理程序
- 王爽 汇编 实验12 编写0号中断的处理程序
- 汇编语言 实验12 编写0号中断的处理程序
- 实验12 编写0号中断的处理程序
- 实验十二_编写0号中断处理程序
- 汇编语言实验:编写0号中断处理程序
- 王爽《汇编语言》实验12:编写0号中断的处理程序 解答
- 王爽《汇编语言》实验12——编写0号中断的处理程序
- 王爽 汇编语言 第三版 实验12 编写0号中断的处理程序
- 8086汇编0号中断处理程序
- 第十二章实验任务:编写0号中断的处理程序
- 编写0号中断的处理程序
- 汇编~~~~~~~~~中断处理程序
- 王爽汇编 实验13编写int 7cH中断例程(1)
- [Hb-XII] 编写0号中断的处理程序
- 【实战编程】编写0号中断处理程序
- 汇编0号中断程序模拟
- 汇编语言 第三版 王爽 实验12 编写0号终端的处理程序
- 一些常用的颜色值
- 存储过程学习三
- 写摘要
- Java 图片格式转换(包括bmp-->jpg)
- 查看/修改Linux时区和时间
- 王爽汇编 实验12编写0号中断处理程序
- Linux WEB服务器集群在电子商务中的应用
- .NET技术博客:牛人牛博强力推荐(持续更新)
- delphi阶乘递归算法一例
- Ubuntu下串口工具
- ET199加密方案——用户注册机制
- J2ME中的基础碰撞检测算法
- PKU1008
- sqlite建立inner join 查询