3-5控制指令分解.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 指令系统 程序控制指令 * INT指令的操作: 将FLAGS压入堆栈; 将INT指令下一条指令的地址压栈(即把CS和IP的内容压栈); 取中断服务程序入口地址送入CS和IP。 INT指令只影响IF和TF, 对其余标志位无影响 INT指令可用于调用系统服务程序,如INT 21H 第三章 指令系统 程序控制指令 * INT指令的操作例: INT 21H IPL IPH CSL CSH SP=1200 FLAGSL FLAGSH SP=11FA 执行INT 21H指令后 保护断点 堆栈 执行INT 21H指令前 第三章 指令系统 程序控制指令 * INT指令的操作例(续): 执行INT 21H指令后, CS=? IP=? 因为n=21H,所以n×4=84H。 下图中,(0:0084H)=2000H:1123H 所以: CS=2000H IP=1123H 0000:0084H 23H 11H 00H 20H IP CS 0000 : 21H×4 中断调用示例1 例1:显示一个字符串和接收一个字符串。 KEYBUF DB DUP (?) ME DB ‘INPUT YOUR PASSWORD’ DAI: MOV DX,OFFSET ME MOV AH,9 INT 21H KEYIN: MOV DX,OFFSET KEYBUF MOV AH,0AH INT 21H 中断调用示例2 例2:将中断处理程序进行装配 INTERSET: CLI MOV DX OFFSET MYPROG MOV AL,50H MOV AH,25H INT 21H 例3:把键盘输入的字符读到AL寄存器中 MOV AH,01 INT 21H 中断调用示例3 例4:把DL中的字符显示在屏幕上。 MOV DL,‘A’ MOV AH,02 INT 21H 中断调用示例4 例5 ,清除屏幕 CLEAR: MOV AH,6 MOV AL,0 MOV CH,0 MOV CL,0 MOV DH,24 MOV DL,79 MOV BH,7 INT 10H 中断调用示例5 例6:使光标定位在窗口的左下角 POS_CURSE: MOV AH,2 MOV DH,16 MOV DL,30 MOV BH,0 INT 10H 第三章 指令系统 程序控制指令 * INTO检查溢出标志OF,如果OF=1,则启动一个类型4的中断过程;如果OF=0,不做任何操作。 通常INTO指令安排在有符号数算术运算指令后面。如: IMUL DX INTO ;若溢出,则启动INT 4, 否则往下执行 MOV RESULT,AX MOV RESULT+2,DX …… (2)溢出中断INTO 第三章 指令系统 程序控制指令 * 用于从中断服务程序返回被中断的程序。IRET负责恢复断点(CS和IP)和恢复标志寄存器内容。 任何中断服务程序不管是外部中断引起的,还是内部中断引起的,最后都要用IRET返回。IRET指令执行的操作为: ?栈顶内容弹出到IP ?栈顶内容弹出到CS ?栈顶内容弹出到FLAG (3)中断返回指令IRET 第三章 指令系统 程序控制指令 * 3.2.6 处理器控制指令 1.标志操作指令 用来设置标志位的状态。 (1)CF设置指令 CLC 0→CF STC 1→CF CMC CF变反 (2)DF设置指令 CLD 0→DF (串操作的指针移动方向从低到高) STD 1→DF (串操作的指针移动方向从高到低) (3)IF设置指令 CLI 0→IF (禁止INTR中断) STI 1→IF (开放INTR中断) 第三章 指令系统 程序控制指令 * 执行HLT指令时,CPU进入暂停状态,设置该指令通常是为了等待中断。 外部中断(包括IF=1时的可屏蔽中断请求INTR及非屏蔽中断请求NMI)或复位信号可让CPU退出暂停状态。 HLT不影响标志位。 2. 外部同步指令 (1)暂停指令HLT (2)空操作指令NOP NOP指令不做任何实质性

文档评论(0)

希望之星 + 关注
实名认证
文档贡献者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档