第6章-1分支结构程序设计浅析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章分支结构程序;控制转移类指令;;1 无条件转移指令;JMP STAT(段内直接转移) JMP BX (段内间接转移) JMP FAR PRT ADD2(段间直接转移) JMP DWOD PTR[BX+ADDR3](段间间接转移) ;2 条件转移指令;(1)简单条件转移指令;;(2)无符号数条件转移指令;(3) 有符号数条件转移指令 ;6.1 比较/测试分支结构程序设计 ;图6.1 比较/测试分支结构的两种程序流程;例6.1 内存ADR单元开始存放两个带符号字数据,编制程序,若两数同号将FLAG单元置0,否则置全1。 问题分析: 判断两数是否同号,即判断两个数的最高位是否相同,若相同即为同号。判断的方法有两种: 第一种方法:先取出一个数,判断符号是否为正,若为正,再判断另一个数的符号是否正,也为正,则两数同号,否则为异号;若第一个数的符号为负,判断另一个数的符号是否为负,也为负,则两数同号,否则为异号。;图6.2 测试两数符号程序流程图 ; DSEG SEGMENT ADR DW 73A5H,924BH FLAG DB ? DSEG ENDS ;第二种方法:利用XOR指令,将两个数异或,异或结果的最高位状态为1,则说明两数异号,否则两数同号。异或结果的最高位状态反应到符号标志SF位上。如: ⊕ ⊕ ; DSEG SEGMENT ARG DW 7654H,8A32H FLAG DB ? DGEC ENDS CSEG SEGMENT ASSUME DS:DSEC,CS:CSEG START: MOV AX,DSEG MOV DS,AX MOV AX,ARG X0R AX,ARG+2 ;两数异或 MOV AL,0 ;同号标志 JNS LOAD ;同号 DEC AL ;异号标志 LOAD: MOV FLAG,AL ;存标志 MOV AH,4CH INT 21H CSEG ENDS END START;Even;在字符I/O时,常把第7位做为奇偶校验位,其意义在于字符在传输过程中,可能由于某种原因,产生数位传输错,通过设置奇偶校验位可以检查字符传输中是否出错。所谓字符代码的奇偶性系指代码中含1的个数是奇数还是偶数。例如,字符A的ASCII码为41H),其中含有2个1,即为偶性,要使之为奇性,则将最高位0变为1;同理字符C的ASCII码为43H ),其中含有3个1,即为奇性。把字符代码配制成奇校验,即使字符代码连同最高位共含有奇数个1;配制成偶校验,即使字符代码连同最高位共含有偶数个1。;图6.3 配奇校验位程序流程图;例6.3 设X为单字节带符号整数,且存于ARGX单元,计算结果Y存入RLT单元。 ;1:;*****EXAM6.3***** 2:SSEG SEGMENT STACK 3:STK DB 50DUP(0) 4:SSEG ENDS 5:DSEG SEGMENT 6:ARGX DB -5 7:RLT DB ? 8:DSEG ENDS 9:CSEG SEGMENT 10: ASSUME CS:CSEG,DS:DSEG 11: ASSUME SS:SSEG 12:BEGIN: MOV AX,DSEG 13: MOV DS,AX 14: MOV AX,SSEG 15: MOV SS,AX 16: MOV SP,SIZESTK;17: MOV AL,ARGX ;取X值 18: AND AL,AL ;置标

文档评论(0)

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

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档