指令系统材料.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(1)转移指令 第2章 8086/8088指令系统 2.3 指令系统 间接标志转移指令 cmp ax,bx ;比较AX和BX jbe next mov wmax, ax ;若AX>BX,wmax←AX jmp done next: mov wmax,bx ;若AX≤BX,wmax←BX done: …… 2.3.5 程序控制指令 (1)转移指令 第2章 8086/8088指令系统 2.3 指令系统 间接标志转移指令 判断有符号数的大(Greater)、小(Less),需要组合OF、SF标志、并利用ZF标志确定相等与否 两数的大小分成4种关系,分别对应4条指令 JL(JNGE):目的操作数()源操作数 JNL(JGE):目的操作数(=)源操作数 JLE(JNG):目的操作数(=)源操作数 JNLE(JG):目的操作数()源操作数 2.3.5 程序控制指令 (1)转移指令 第2章 8086/8088指令系统 2.3 指令系统 JCXZ指令 格式: JCXZ label 功能:若CX寄存器为0,则转移到指令中label(短标号)所指定的地址处,否则将往下顺序执行,它不对CX寄存器进行自动减1的操作。 2.3.5 程序控制指令 MOV AH, 0FFH MOV AL, 0 CMP AH, AL JGE MOV DH, 0FFH JMP FIN JZ MOV DH, 1 JMP FIN ZERO: MOV DH, 0 FIN: INT 3 NON_NEG ZERO 当SF=OF时 当ZF=1时 NON_NEG: (1)转移指令 第2章 8086/8088指令系统 2.3 指令系统 2.3.5 程序控制指令 (2)循环控制指令 第2章 8086/8088指令系统 2.3 指令系统 循环控制指令是一组增强型的条件转移指令,用来控制一个程序段的重复执行,重复次数由CX寄存器中的内容决定。这类指令的长度均2个字节,第一字节是操作码,第二字节是8位位移量,转移的目标都是短标号,亦即对IP的修改范围都为-128~127。 2.3.5 程序控制指令 (2)循环控制指令 格式: LOOP label ;CX←CX-1 ;若CX≠0则跳转到label 功能:指令规定用CX作为计数器。执行LOOP时,先将CX=CX-1,如果CX≠0,则跳转到label处。 对标志位无影响。 第2章 8086/8088指令系统 2.3 指令系统 ①LOOP指令 2.3.5 程序控制指令 ①LOOP指令 (2)循环控制指令 第2章 8086/8088指令系统 2.3 指令系统 例题: 编程计算2∧12。 分析: 2∧12=2*2*2*2*2*2*2*2*2*2*2*2,若设(ax)=2,可计算: (ax)= (ax)*2*2*2*2*2*2*2*2*2*2*2,最后(ax)中为2∧12的值。N*2可用N+N 实现。 程序代码: assume cs:code code segment mov ax,2 mov cx,11 s: add ax,ax loop s mov ax,4c00h int 21h code ends end 2.3.5 程序控制指令 ①LOOP指令 (2)循环控制指令 第2章 8086/8088指令系统 2.3 指令系统 用cx和loop指令相配合实现循环功能的程序框架如下: mov cx,循环次数 s: 循环执行的程序段 loop s 2.3.5 程序控制指令 ①LOOP指令 (2)循环控制指令 第2章 8086/8088指令系统 2.3 指令系统 例题: 用加法计算123 x236 ,结果存在ax 中。 分析: 可用循环完成,将123加236次。可先设(ax)=0,然后循环做236次(ax)=(ax)+123。 程序代码 assume cs:code code

文档评论(0)

花仙子 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档