NJUPT 微机 中断系统 日时钟中断之替换1CH实现字符串动态显示
来源:互联网 发布:淘宝乐高回力车 编辑:程序博客网 时间:2024/05/16 10:02
原理:
系统的8254的0号定时计数器会引发日时钟中断。
0号定时计数器每隔55ms向8259A IR0端提一次日时钟中断请求。
CPU响应之后转入08H中断服务程序,并在其中执行软件中断1CH。
所以,我们可以置换1CH的终端服务子程序,来实现系统每隔55ms执行08H的时候执行我们定义的1CH子程序。
要求:
1.每隔一定时间,显示字符串。书上的是显示黑白字符串,这里用bios调用显示彩色。
重点:
1.掌握中断向量的置换(用前保存、写入、用完恢复)
2.掌握用户中断(service)的设计(怎么样实现固定时间显示 和 彩色显示)
;njupt 3th experiment:show the character string dynamicly.486data segment use16;mesg db 'Hello,njupt!',0DH,0AH,'$'mesg db 'Hello,njupt!'ll equ $-mesgold1c dd ?icount db 18;延迟的时间 18*55 大约是1s count db 10data endscode segment use16assume cs:code,ds:databeg:mov ax,datamov ds,axclicall read1ccall write1cstiscan:cmp count,0jnz scancall resetmov ah,4chint 21hservice procpushapush dsmov ax,data;--mov ds,axmov es,axdec icountjnz exitmov icount,5 ;在这里修改每次显示延迟的时间 5*55msdec count;mov ah,9;原始的是用9号调用ds:dx指向要显示的字符串;如果要显示彩色字符串,用bios调用即可 13h显示字符串;lea dx,mesgmov ax,1301hmov bh,0mov bl,01001111Bmov cx,LLmov dh,10sub dh,count; 行数mov dl,0hlea bp,mesgint 10h;int 21hexit:pop dspopairetservice endp;------------------------read1c procmov ax,351chint 21hmov word ptr old1c,bxmov word ptr old1c+2,esretread1c endp;----------------------------write1c procpush dsmov ax,codemov ds,axmov dx,offset servicemov ax,251chint 21hpop dsretwrite1c endp;-------------------------reset procmov dx,word ptr old1cmov ds,word ptr old1c+2mov ax,251chint 21hretreset endpcode endsend beg
效果:
0 0
- NJUPT 微机 中断系统 日时钟中断之替换1CH实现字符串动态显示
- 汇编基于PC机的8254日时钟中断的字符串动态显示——时:分:秒
- 汇编中断知识之INT 1CH
- 汇编中断知识之INT 1CH
- 南邮微机实验(基于中断的动态显示)
- Linux之时钟中断
- Linux之时钟中断
- 第9章 中断和动态时钟显示
- 利用windows 1ch 提供用户中断 自制时钟 并能正常运行DOS程序
- Linux中断处理之时钟中断--X86
- 时钟中断(1)
- 微机个人笔记-中断
- 自己编写int 7ch中断实现loop指令在屏幕显示80个!
- 【中断异常】时钟中断
- 时钟三:用内部中断实现时钟
- 时钟中断
- 编写并安装int 7ch中断例程,功能为显示一个用0结束的字符串,中断例程安装在0:200处
- 微机原理实验二之8259A中断控制器
- C++标准库中队列的应用
- JAVA正则表达式语法大全
- mysql无法启动ERROR! MySQL is running but PID file could not be found ?
- hibernate一对多
- 《统计学习方法》学习笔记(三)——K近邻法
- NJUPT 微机 中断系统 日时钟中断之替换1CH实现字符串动态显示
- 如果你是IT技术人员,请思考这15个问题
- 分享自己的一些android util 源文件
- 1085. Perfect Sequence
- iOS9下App Store新应用提审攻略
- Android 蓝牙BLE (蓝牙成长之路)1
- 千万级到10亿+的疯涨,搜狗商业平台服务化体系实践之路
- samba简单配置
- ScrollView拉到尽头时出现阴影的解决方法