程序控制和中断管理课件.pptx

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 程序控制和中断管理 ;§4.1 程序地址的产生 ;一、程序计数器(PC) ;一、程序计数器(PC) ;一、程序计数器(PC) ;一、程序计数器(PC) ;一、程序计数器(PC) ;一、程序计数器(PC) ;一、程序计数器(PC) ;一、程序计数器(PC) ;一、程序计数器(PC) ;二、堆栈;有两组访问堆栈的指令: 1)PUSH和POP: PUSH:把累加器(32位)的低半部分(低16位)拷贝到栈顶。 POP: 把栈顶的值拷贝到累加器的低半部分 2)PSHD和POPD: 当子程序或中断嵌套超过8级时,可利用这两条指令在数据存储区中建立一个堆栈。 即把堆栈区延伸到数据存储区。 PSHD dma ;将数据存储器中的值压入栈顶。 POPD dma ; 将栈项的值弹出到数据存储器。 ;每当一个数值压入栈顶 ,堆栈中每级的内容都下移一级,栈底(第8级)的内容则丢失。 PSHD dma ;弹出操作把堆栈中每一级的值都拷贝到较高的下一级。 操作与压入操作相反, POPD dma ;三、微堆栈(MSTACK);四、流水线操作 ;§4.2 转移、调用和返回 ;一、无条件指令;二、有条件指令; 条件的组合: 在条件指令的操作数中可以有多个条件。 注意:某些条件只有组合才是有意义的。 对于每一种组合,必须按如下规则从组1和组2中选择条件。 同一类的条件不能组合。 ;有条件指令 条件转移指令 BCND pma,cond1[,cond2[,…]] ;条件cond1,cond2都满足时转移。 例: BCND PGM1,LEQ, OV BANZ pma ;当前AR≠0时,转移。 条件调用指令 CC pma,cond1[,cond2[,…]] ;条件cond1,cond2都满足时调用。 例: CC 00BFh,LEQ, OV 条件返回指令 RETC cond1[,cond2[,…]] ;条件cond1,cond2都满足时返回。 ;§4.3 重复指令 ;§4.4 中断 中断是由软件或硬件产生一个信号,该信号引起CPU挂起主程序,并转而执行一个子程序,即中断服务子程序。;2) 中断优先级 硬件中断可能同时产生,CPU依据中断源的优先级顺序而执行相应的中断服务子程序。 C240X的硬件中断分为两级: CPU中断(8个)(核心级、一级) 外设中断 (46个),分别挂在CPU中断中 6个 可屏蔽中断之下。???二级) CPU中断优先级为 1RESET ;复位中断 2保留 3NMI ;不可屏蔽中断 4INT1 ;可屏蔽中断 5INT2 ;可屏蔽中断 6INT3 ;可屏蔽中断 7INT4 ;可屏蔽中断 8INT5 ;可屏蔽中断 9INT6 ;可屏蔽中断 ;3)可屏蔽中断与不可屏蔽中断;4)中断矢量 ;;5)中断操作步骤;二、可屏蔽中断 ;2.中断管理寄存器 两级中断管理: CPU中断寄存器 外设中断寄存器;●??CPU中断屏蔽寄存器(IMR)——地址0004h 向IMR中某位写0,则屏蔽相应的中断级,写1则使能该中断级。 ;2)外设中断寄存器: ;2)外设中断寄存器: ;2)外设中断寄存器: ;2)外设中断寄存器: ;3)外设中断控制寄存器(2个);3)外设中断控制寄存器(2个);3)外设中断控制寄存器(2个);3)外设中断控制寄存器(2个);3)外设中断控制寄存器(2个);3. 可屏蔽中断的响应流程;3. 可屏蔽中断的响应流程;例: 典型中断服务程序代码 假设:挂在INT2 之下的EVA 通用定时器1的周期中断 INT2的中断矢量为 0004h EVA 通用定时器1 周期中断的中断矢量(PIV)为 0027h (存放在PIVR) ;地址

文档评论(0)

zxf886 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档