二、分支结构 指程序中具有转移指令,可根据转移 条件决定是转移还是继续执行下一条指 令 Z=1? Z=0 转分支 Z=1? PV=1? C=0? 转分支2 转分支1 C=0? 转分支2 转分支4 转分支3转分支2 转分支1 转分支3 转分支4 几种分支结构程序的框图
二、分支结构: 指程序中具有转移指令,可根据转移 条件决定是转移还是继续执行下一条指 令。 几种分支结构程序的框图
三、循环结构 循环结构由四个环节组成 1.初始化部分:对循环体中参加操作的有关 参数、地址等赋以初始值,并指定循环结束条 件 2循环体部分:指每次循环都需要重复执行 的程序段 3修改初始值:每次循环结束都要对初始值 进行修改,特别是判断结束条件的参数,每经 次循环后都要作相应的修改,以便决定是否 结束循环 4结束判断部分:检查结束条件是否满足 若条件满足停止循环,否则返回继续执行循环 体
三、循环结构 循环结构由四个环节组成。 1.初始化部分:对循环体中参加操作的有关 参数、地址等赋以初始值,并指定循环结束条 件。 2.循环体部分:指每次循环都需要重复执行 的程序段。 3.修改初始值:每次循环结束都要对初始值 进行修改,特别是判断结束条件的参数,每经 一次循环后都要作相应的修改,以便决定是否 结束循环。 4.结束判断部分:检查结束条件是否满足, 若条件满足停止循环,否则返回继续执行循环 体
循环结构框性图 入口 入口 图中每执行一次循环 初始化 体后,都要检查结束条 初始化 件是否满足,若条件满 循环体 修改初值 足停止循环,否则返回 修改初值 继续执行循环体 循环体 右边两图区别是先检 循环 结束否? 循环 查循环是否结束后修改 结束否? 初值,还是先修改初值 Y 后检查循环是否结束 出口) 出口
循环结构框图 图中每执行一次循环 体后,都要检查结束条 件是否满足,若条件满 足停止循环,否则返回 继续执行循环体。 右边两图区别是先检 查循环是否结束后修改 初值,还是先修改初值 后检查循环是否结束
顺灰序结构的程序举例 例3-1将地址为2000H、2001H、2002H的片外数据存储单元的内容, 分别传送到2002H、203H、2004H存储单元中去 ORG O000H JMP 1000H ORG 1000H Mov DPTR #2002H MOVX A,@DPTR MOV DPTR, #2004H MOVX @DPTR. A MOVX ODPTRA MOV DPTR, #2001H MoV DPTR #2000 MOVX A@DPTR MOVX A, @DPTR MOv DPTR #2003H MOV DPTR.#2002H MOVX ODPTR A SJMP S
顺序结构的程序举例 例3-1 将地址为2000H 、2001H、2002H的片外数据存储单元的内容, 分别传送到2002H、2003H、2004H存储单元中去。 ORG 0000H LJMP 1000H ORG 1000H MOV DPTR,#2002H MOVX A,@DPTR MOV DPTR,#2004H MOVX @DPTR,A MOV DPTR,#2001H MOVX A,@DPTR MOV DPTR,#2003H MOVX @DPTR,A MOV DPTR,#2000H MOVX A,@DPTR MOV DPTR,#2002H MOVX @DPTR,A SJMP $
分支结构的程序举例 例3-2有甲乙两数存于41H和42H存储单元,运算符号的 ASCI码存于40H单元,编写一根据40H的符号,对甲乙两数 进行相应运算的程序;井将运算结果存于43H单元。 ORG 0000H LJMP 0100H ORG 0100 Mov A 40H CJNE A,#2BH, MINUS MINUS: CJNE A,#2DH, ERR PLUS: MOV A 41H CLR C ADd A 42H MOV A 41H MOV 43H. A SUBB A 42H SJMP CLOSE MOV 43H. A SJMP CLOSE ER: Mov 43H #OFFH CLOSE: SMP S
分支结构的程序举例 例3-2 有甲乙两数存于41H和42H存储单元,运算符号的 ASCII码存于40H单元,编写一根据40H的符号,对甲乙两数 进行相应运算的程序;井将运算结果存于43H单元。 ORG 0000H LJMP 0100H ORG 0100 MOV A,40H CJNE A,#2BH,MINUS PLUS: MOV A,41H ADD A,42H MOV 43H,A SJMP CLOSE MINUS:CJNE A,#2DH,ERR CLR C MOV A,41H SUBB A,42H MOV 43H,A SJMP CLOSE ERR: MOV 43H,#0FFH CLOSE:SJMP $