微机原理第02章指令系统.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文档。上传文档
查看更多
* 有一字符串放在以2000H单元为始地址的内存中,从中搜索串结束符$,若有,将串长度x放入2100H单元,若没有$, 2100H单元放入0FFH。 CLD MOV DI, 2000H MOV CX, 100 MOV AL, ‘$’ REPNE SCASB JZ DONE MOV AL, 0FFH JMP STO DONE: MOV BX,100 SUB BX, CX DEC BL MOV AL, BL STO: MOV [2100H], AL 不等继续比较 若相等,转向DONE 比较完毕CX=0,不等,设立标志 计算字符串长度 * 六、标志处理和CPU控制指令 标志处理指令 对PSW寄存器的某些位进行操作,有如下三种: 置位(SET):赋值1; 清除(CLEAR): 赋值0 取补(COMPLEMENT): 对当前值取反 * OF DF IF TF SF ZF AF PF CF 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 CLC ;CF=0 STC ;CF=1 CMC ; ?CF CLD ;DF=0 ,地址增量 STD ;DF=1,地址减量 CLI ;IF=0 ,中断屏蔽 STI ;IF=1 ,中断允许 * 2. 处理器暂停指令 HLT ( Processor Halt) 用软件的方法使CPU处于暂停状态,等待硬件中断,硬件中断响应时,使CPU退出暂停状态,执行中断服务子程序,中断返回后,CPU接着执行HLT的后续指令。 * 3. 空操作指令 NOP 执行该指令占一个指令周期,不影响任何操作,常用于精确定时。 DELAY: MOV CX, 1000 A1: MOV AX, 250 A2: DEC AX …… JNZ A2 DEC CX JNZ A1 延时4us ;延时1s NOP …… NOP * 1)段内间接转移: 格式:JMP WORD PTR OPRD 转移地址存放在内存单元中,转移指令后给出的是内存单元的地址。 格式:JMP OPRD ;OPRD为寄存器名 JMP BX ; (BX)?IP JMP WORD PTR[SI] ; [DS:SI+1][DS:SI]?IP DS:SI IP * 2)段间间接转移: 格式:JMP DWORD PTR OPRD 转移地址存放在内存单元中,一般用寄存器间接寻址。 JMP DWORD PTR [SI] ; DS:[SI+3][SI+2]?CS DS:[SI+1][SI]?IP DS:SI CS IP * 2、条件转移指令: 功能:根据条件来判断程序是否转移。 满足条件时程序转向指定位置执行, 否则,程序顺序执行。 (注意:此时程序出现分支) 只能转移到距当前指令 -128~127字节的范围内, 即一个字节的补码范围; JNZ LL 127 128 * 根据5个标志位来判断: JZ/JNZ JC/JNC JS/JNS JP/JNP JO/JNO 为1/0转移。 判断无符号数大小的指令: JA/JNBE JAE/JNB JB/JNAE JBE/JNA 判断有符号数大小的指令: JG/JNLE JGE/JNL JL/JNGE JLE/JNG JCXZ rel; 如CX中的值为0则转移,判断循环用 * 条件转移指令常用来进行判断,以实现程序分支: CMP AL, 0 JAE AL,NN MOV DL, 1 JMP DONE NN: MOV DL, 0 DONE: …… 程序执行完以后,若AL的值小于0则DL=1,反之则DL=0 。 * 下面程序段在什么情况下执行的结果是AL=0 BEGIN: IN AL, 5FH TEST AL, 80H JZ A1

文档评论(0)

duwen200621 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档