4-3分支结构程序设计.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微型计算机原理及应用 第4章 汇编语言程序设计 4.4 汇编语言程序设计基础 4.4.3 分支程序 * * 结构程序设计   程序的每个部分都由有限结构结合中的单元组成,并且只有单一的入口和单一的出口。 基本结构有:顺序结构(线性结构) 选择结构(分支结构) 循环结构 三种结构可以任意组合和嵌套构成复杂的程序。 程序的基本结构 顺序程序:一种无分支的程序, CPU从第一条指令开始依次执行每一条指令,直到最后一条指令。 特点:指令顺序执行,无分支、无循环、无转移  顺序程序 4.4.2 顺序程序 ※[例4-11] 对于三个无符号数编写S=86H*34H-21H。 DATA SEGMENT MUN DB 86H,34H,21H RESULT DW ? DATA ENDS CODE  SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA  MOV DS,AX  LEA SI,MUN       LEA DI,RESULT       MOV AL,[SI] START S1 S2 S3 结束     MOV BL,[SI+1] MUL BL     MOV BL,[SI+2]     MOV BH,0     SUB AX,BX         MOV [DI],AX     MOV AH,4CH     INT  21H CODE ENDS     END START [例4-12] 内存自TABLE开始的连续16个单元中存放着0-15的平方值,查表求DATA中任意数X(0≤X≤15)的平方值,并将结果放RESULT中。 程序: DSEG SEGMENT TABLE  DB 0,1,4,9,16,25,36,49,64,81, 100,121,144,169,196,225 ;定义平方表 DATA DB ? RESULT DB ? DSEG  ENDS SSEG SEGMENT STACK ‘STACK’ DB 100 DUP(?) SSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG,SS:SSEG   BEGIN: MOV AX,DSEG ;初始化数据段 MOV DS,AX MOV AX,SSEG ;初始化堆栈段 MOV SS,AX ; LEA BX,TABLE ;置数据指针 MOV AH,0 ; MOV AL,DATA ;取待查数 ADD BX,AX ;查表 MOV AL,[BX] ; MOV RESULT,AL ;平方数存RESULT单元 MOV AH,4CH INT 21H CSEG ENDS END BEGIN 分支程序是利用条件转移指令,使程序执行到某一指令后,就有一个分叉,根据条件是否满足,来改变程序执行的顺序。 条件1 条件2 分支程序段2 分支程序段3 结束 是 否 否 分支程序段1 是 结束 条件转移指令是某些标志位的状态来决定转移的。条件转移指令全部是段内转移(SHORT)。 指令的格式: JC Label; CF=1 有进位转移 JNC Label ; CF=0 无进位转移 JZ/JE Label ; ZF=1 结果为“0”或相等转移 JNZ/JNE Label ;ZF=0,结果不为“0”或不相等转移。 无条件转移 JMP LABEL  条件转移指令 例1:写一个实现把一位十六进制数转化为对应ASCII码的程序。 分析命题 确定算法 十六进制数码与ASCII对应的关系: 46H 45H 44H 43H 42H 33H 32H 31H 30H F E D C B ……… 3 2 1 0 这种对应关系可表示为一个分段函数: Y X+30H(0=X=9) X+37H(0A=X=0FH) 分析命题 确定算法 画流程图 开始 取十六进制数 X+30H 0=X=9 Y N 0A=X=0FH X+37H 结束 Y N 例:写一个实现把一位十六进制数转化为对应ASCII码的程序。

文档评论(0)

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

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

1亿VIP精品文档

相关文档