当前位置: 首页 > news >正文

婚礼策划网站设计重庆关键词搜索排名

婚礼策划网站设计,重庆关键词搜索排名,网站的域名都有哪些问题,网站实名认证怎么做本系列博文参考《汇编语言》 作者王爽外中断和内中断的处理过程相似。只不过中断源的产生来自外部。 本章,可以说是端口和内中断的内容结合。 书上以键盘为例,讲解外部中断的处理过程。 1 PC机键盘的处理过程 键盘上的每一个键相当于一个开关&#xff0…
本系列博文参考《汇编语言》 作者王爽

外中断和内中断的处理过程相似。只不过中断源的产生来自外部。
本章,可以说是端口和内中断的内容结合。
书上以键盘为例,讲解外部中断的处理过程。


1 PC机键盘的处理过程

  • 键盘上的每一个键相当于一个开关,键盘中有一个芯片对键盘上的每一个键的开关状态进行扫描。
  • 按下一个键是,开关接通,该芯片就产生一个扫描码,扫描码说明了按下的键在键盘上的位置。扫描码被送入主板上的相关接口芯片的寄存器中,该寄存器的端口地址为60h。
  • 松开按下的键时,也产生一个扫描码,扫描码说明了松开的键在键盘上的位置。松开按键时产生的扫描码也被送入60h端口中。
  • 一般将按下一个键时产生的扫描码称为 通码,松开一个按键产生的扫描码称为 断码。扫描码长度为1个字节,通码 的第7位为0,断码的第7位为1,即:
  • 断码=通码+80h
    在这里插入图片描述整体思路,如下
    在这里插入图片描述至于,cpu如何得知端口有内容需要读取,如何读取,这涉及中断的查询,本次不讨论。(查询,中断,DMA)

2 实验
2.1 实验内容:
;安装一个新的int9中断例程
;功能: 在DOS下,按下“A”后,除非不在松开,如果松开,显示满屏幕的“A”,其他键照常处理。
2.1 实验思路:
实验要处理的是int9的中断函数。因为原理啊的int9中断涉及硬件细节,咱们把它保存到其他地方。新的int9,在原理啊的int9的功能上进行扩充。当使用到原理啊int9的时候,咱们在调用原来的int9。
2.3实验代码(注:由于采用emu8086,没有在实际的DOS中运行过程序,未知是否存在bug。)

;---------------------------------
;安装一个新的int9中断例程
;功能: 在DOS下,按下“A”后,除非不在松开,如果松开,显示满屏幕的“A”,其他键照常处理
;dacao 2019/5/8
;---------------------------------assume cs:codestack segmentdb 128 dup(0)
stack endscode segment ;初始化段
start: mov ax,stack mov ss,axmov sp,128;复制程序mov ax,cs    mov ds,axmov ax,0mov es,ax mov si,offset int9mov di,204hmov cx,offset int9end - offset int9cldrep movsb ;保存原来的int9中断地址到0200;修改向量表到新的int9(新的中断程序入口地址在0204)push es:[9*4]pop es:[200h]push es:[9*4+2]pop es:[202h]  ;内存不能到内存,借用一下栈cli   ;屏蔽外中断,防止此时键盘输入(cs:ip)同时设置mov word ptr es:[9*4],204hmov word ptr es:[9*4+2],0sti;在程序结束的时候恢复int9中断例程 ;;mov ax, 0  ;mov es, ax  ;cli  ;push ds:[0]  ;pop es:[9*4] ;push ds:[2]  ;pop es:[9*4+2] ;;sti  ;hltmov ax,4c00hint 21h;新的int9中断函数
int9:push axpush bxpush cxpush espush siin al,60h  ;从键盘的端口读入输入的字符pushfcall dword ptr cs:[200h] ;键盘按下,调用中断。键入我们现在新的int9中断,cs=0.(我们此时,去调用原来的中断)cmp al,1eh+80h  ;判断是否为A的断码jne int9ret  mov ax,0b800hmov es,axmov si,0mov cx,80*10 ;显示10行就好了。mov ah,'A'
s:  mov es:[si],ahadd si,2 loop s   int9ret:pop sipop espop cxpop bxpop axiret int9end:nopcode ends
end start    

注:
8086CPU 提供的设置IF的指令:
sti,设置IF=1;
cli,设置IF=0.

参考文章:
https://blog.csdn.net/madao1234/article/details/84609221
https://blog.csdn.net/include_heqile/article/details/81270423

http://www.lbrq.cn/news/2536615.html

相关文章:

  • 网站内容很少如何做seo门户网站怎么做
  • 太原网站优化怎么做优化器
  • 郑州专业公司网站制作公司今日头条指数查询
  • 导航网站头部代码今日新闻热点大事件
  • 网站备案号码seo教学
  • 成都十大设计工作室成都seo论坛
  • 全球疫情最新公布刷seo快速排名
  • 网站建设可以一次性进损益吗哪些网站可以免费推广
  • 秦时明月的个人网站怎么做网站收录排名
  • 为博彩做网站日入两万微信运营工具
  • 做视频图片博客网站有哪些百度推广关键词技巧定价
  • 淘宝实时优惠券网站怎么做的佛山网站建设公司哪家好
  • 苏州网页制作公司哪家好seo排名优化表格工具
  • 上海企业模板建站网站优化推广怎么做
  • 营销型网站建设的流程巨量数据官网
  • 站长工具seo综合查询adc山西seo排名
  • 九江做网站的大公司惠州seo代理商
  • 互动案例的网站北京网络推广公司
  • 做二手家电市场加什么网站可以网站推广方案策划
  • 网站开发集成软件百度问答入口
  • 帮黄色网站做推广seo优化软件
  • 可以做仿牌网站武汉seo推广优化
  • 网站学做糕点的课程企业qq下载
  • 织梦网站手机页怎么做百度知道网页入口
  • 网站链接怎么做参考文献武汉seo推广优化
  • 领动网站建设谷歌seo是什么职业
  • 黑色网站配色seo网站优化论文
  • 宁波网站建设服务服务商推56论坛
  • 网站如何做团购百度站内搜索
  • 杭州倍世康 做网站免费发链接的网站
  • 【MATLAB】(三)数据类型与运算符
  • DeepCompare文件深度对比软件:专业级文件对比操作全解析
  • Docker部署Nacos
  • LeetCode 53 - 最大子数组和
  • 数据结构第3问:什么是线性表?
  • GitPython02-Git使用方式