- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《汇编语言》王爽讲稿_15_外中断
15.5 安装新的 int 9 中断例程 分析(续) : (4)新int 9中断例程的安装 这个问题在前面己经详细讨论过。 我们可将新的int 9中断例程安装在0:204 处。 完整的程序代码 15.5 安装新的 int 9 中断例程 这一章中,我们通过对键盘输入的处理,讲解了CPU 对外设输入的通常处理方法。 即: (1)外设的输入送入端口; (2)向CPU 发出外中断(可屏蔽中断)信息; (3)CPU检测到可屏蔽中断信息,如果IF=1,CPU在执行完当前指令后响应中断,执行相应的中断例程; (4)可在中断例程中实现对外设输入的处理。 15.5 安装新的 int 9 中断例程 端口和中断机制,是CPU 进行I/O的基础。 15.5 安装新的 int 9 中断例程 指令系统总结 我们对8086CPU 的指令系统进行一下总结。 读者若要详细了解8086 指令系统中的各个指令的用法 ,可以查看有关的指令手册。 8086CPU 提供以下几大类指令 15.5 安装新的 int 9 中断例程 1、数据传送指令 比如: mov、push、pop、pushf、popf、xchg等都是数据传送指令, 这些指令实现寄存器和内存、寄存器和寄存器之间的单个数据传送。 15.5 安装新的 int 9 中断例程 2、算术运算指令 比如: add、sub、adc、sbb、inc、dec、cmp、imul、idiv、aaa等都是算术运算指令, 这些指令实现寄存器和内存中的数据的算数运算。 它们的执行结果影响标志寄存器的:sf、zf、of、cf、pf、af位。 15.5 安装新的 int 9 中断例程 3、逻辑指令 比如: and、or、not、xor、test、shl、shr、sal、sar、rol、ror、rcl、rcr 等都是逻辑指令。 除了not指令外,它们的执行结果都影响标志寄存器的相关标志位。 15.5 安装新的 int 9 中断例程 4、转移指令 可以修改IP ,或同时修改CS 和IP 的指令统称为转移指令。 转移指令分为以下几类: (1)无条件转移指令,比如:jmp; (2)条件转移指令,比如:jcxz、je、jb、ja、jnb、jna等; (3)循环指令,比如:loop; (4)过程,比如:call、ret、retf; (5)中断,比如int、iret。 15.5 安装新的 int 9 中断例程 5、处理机控制指令这些指令对标志寄存器或其他处理机状态进行设置, 比如:cld、std、cli、sti、nop、clc、cmc、stc、hlt、wait、esc、lock等都是处理机控制指令。 15.5 安装新的 int 9 中断例程 6、串处理指令 这些指令对内存中的批量数据进行处理 比如:movsb、movsw、cmps、scas、lods、stos等。 若要使用这些指令方便地进行批量数据的处理,则需要和rep、repe、repne等前缀指令配合使用。 小结 15.4 编写int 9 中断例程 编程: 在屏幕中间依次显示 “a”~“z” ,并可以让人看清。在显示的过程中,按下Esc键后,改变显示的颜色。 我们先来看一下如何依次显示“a”~“z” 15.4 编写int 9 中断例程 assume cs:code code segment start: mov ax,0b800h mov es,ax mov ah,a s: mov es:[160*12+40*2],ah inc ah cmp ah,z jna s mov ax,4c00h int 21h code ends end start 依次显示”a”~”z” 15.4 编写int 9 中断例程 在上面的程序的执行过程中,我们无法看清屏幕上的显示。 因为一个字母刚显示到屏幕上,CPU执行几条指令后,就又变成了另一个字母,字母之间切换得太快,无法看清。 15.4 编写int 9 中断例程 我们应该在每显示一个字母后,延时一段时间,让人看清后,再显示下一个字母。 那么如何延时呢? 我们让CPU 执行一段时间的空循环。 15.4 编写int 9 中断例程 因为现在CPU 的速度都非常快,所以循环的次数一定要大,我们用两个16 位寄存器来存放32 位的循环次数。如下: mov dx,10h mov ax,0 s: sub ax,1 sbb dx,0 cmp ax,0
您可能关注的文档
最近下载
- 景观照明设施养护投标方案技术标.docx
- 广东省江门市第一中学2024-2025学年高一上学期第二次月考物理试题(含答案).pdf VIP
- 矿山机械与智能化技术 课件全套 马立峰 第1--8章 绪论---智慧矿山的关键技术及展望.pptx
- 卒中患者吞咽障碍护理规范.docx VIP
- 矿山机械与智能化技术 课件 第1章 绪论 .pptx
- 慎独班会课件PPT.pptx VIP
- DB11T2382-2024 建设工程施工消耗量标准.pdf VIP
- 混合精度稀疏矩阵加速计算脉动阵列架构及数据处理方法.pdf VIP
- 《商业模式》练习题及答案.docx VIP
- 人教版2024四年级上册英语 Unit 5 The weather and us A 第3课时 课件.pptx VIP
原创力文档


文档评论(0)