选择和循环.精要.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文档。上传文档
查看更多
选择和循环.精要.ppt

4.1.1 无条件转移指令 转到label指定的目标地址处,执行那里的指令 目的地址label的位置有2种情形: 和JMP指令在同一个段,叫做段内转移,转移时 CPU只改变IP; 和JMP指令不在同一个段,叫做段间转移,转移时CPU既要更改IP又要更改CS, 目的地址label有两种表示方式: label是目标地址处指令的标号,叫做直接寻址 label是寄存器或内存单元,跳转目的地址在寄存器或内存中,叫做间接寻址 段内转移、直接寻址 JMP label 段内转移、间接寻址 JMP r16/m16 将16位寄存器或内存字单元内容?IP寄存器,CS内容保持不变。 段间转移、直接寻址 JMP far ptr label ;IP←label的偏移地址 ;CS←label的段地址 将标号所在段的段地址?CS,标号处指令的偏移地址?IP; CPU转移到指定代码段标号处执行 段间转移、间接寻址 JMP far ptr mem ;IP←[mem],CS←[mem+2] 用一个双字存储单元存储要跳转的目标地址。低位字送IP,高位字送CS 目标地址的范围 段内转移:不更改CS,只改变IP,又分: 短转移(short):转移范围在段内-128~+127字节 近转移(near):在当前代码段64KB范围内转移 段间转移——远转移(far) 更改CS和IP 从当前代码段跳到另一个代码段,可以在1MB范围跳转 目标地址是双字(16位偏移地址和16位段地址),叫做32位远指针 (3)根据单个标志位的条件转移指令 ⑴ JS和JNS: 利用符号标志SF,判断结果是正是负 ⑵ JO和JNO: 利用溢出标志OF,判断结果是否产生溢出 ⑶ JP/JPE和JNP/JPO: 利用奇偶标志PF,判断结果中“1”的个数 例: X、Y、Z均为有符号字节变量,将X、Y中绝对值较大的数存入Z。 mov al, x cmp al, 0 jge skip1 neg al skip1: mov bl, y cmp bl, 0 jge skip2 neg bl skip2: cmp al, bl 例: 在显示器以16进制形式显示al中的值。 将一个16进制数位(0~F)调整为对应ASCII码的方法: 方法1(基本选择): MOV DL, ? ;0~15 CMP DL, 9 JA ALPH ADD DL, 30H JMP DONE ALPH:ADD DL, 37H DONE: 写出该例题的源程序片段。 补充例题:求无/有符号数组中的最大值或者最小值。 3X-5, |x|=3 【例4-4】计算分段函数Y= 6 , |x|3 补充例题:求有符号字变量X、Y、Z中的极值。 (1)将最大值存入MAX (2)将最大值存入MAX,最小值存入MIN 练习: 1、统计成绩数组中各分数段的人数; 2、从键盘输入一个字符串,统计其中数字字符、字母字符和其它类型字符的个数; 3、求数组中的最大、最小值。 [例4-9] 在显示器以十六进制形式显示BX寄存器的内容 例4-9 算法 取出要显示的某4位,转换为对应的ASCII码,再调用DOS系统功能进行显示。 例4-9 程序 思考 例4-9采用的是大写字母A~F进行显示,若采用小写字符a ~ f 进行显示,程序如何改写? 1010 0011 1001 1110 ‘A39E’ 或 ‘a39e 小写a ~ f的ASCII码在61~6FH,比大写字母A~F的ACII码多20H,判断是字母的数字后,加27H即可。 也可以用查表的方法形成十六进制数位的ASCII码。(参见教材例[4.9]) [例题4-11] 从键盘以10进制格式输入一个无符号字节数(0~255)存入result,回车结束输入。 [例题4-12] 向显示器以10进制格式输出一个无符号字节数(0~255)。 [例题4-13]统计字变量var中二进制位‘1’的个数 方法1:计数控制的循环(已讲解) 方法2:条件控制的循环 有时循环的控制既需要次数控制,又需要条件控制(如等长字符串的比较),但通过设置辅助变

文档评论(0)

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

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

1亿VIP精品文档

相关文档