微型计算机原理与汇编语言 顺序分支

上传人:xzh****18 文档编号:50661687 上传时间:2018-08-09 格式:PPT 页数:10 大小:672.50KB
返回 下载 相关 举报
微型计算机原理与汇编语言 顺序分支_第1页
第1页 / 共10页
微型计算机原理与汇编语言 顺序分支_第2页
第2页 / 共10页
微型计算机原理与汇编语言 顺序分支_第3页
第3页 / 共10页
微型计算机原理与汇编语言 顺序分支_第4页
第4页 / 共10页
微型计算机原理与汇编语言 顺序分支_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《微型计算机原理与汇编语言 顺序分支》由会员分享,可在线阅读,更多相关《微型计算机原理与汇编语言 顺序分支(10页珍藏版)》请在金锄头文库上搜索。

1、第5章 汇编语言程序设计 5.6 汇编语言程序设计的基本方法通常,编制一个汇编语言源程序应按如下步骤进 行: 明确任务,确定算法。 绘制流程图。 根据流程图编写汇编语言程序。 上机调试程序。 程序的基本结构有四种:顺序结构、分支结构 、循环结构和子程序结构。第5章 汇编语言程序设计 5.6.1 顺序程序设计顺序结构也称线性结构,其特 点是其中的语句或结构被连续执行 。 顺序程序是最简单的,也是最 基本的一种程序结构。这种结构的 程序从开始到结尾一直是顺序执行 的,中途没有任何分支。从这种结 构的流程图来看,除了有一个起始 框,一个终止框外,就是若干执行 框,没有判断框。S1S2S3开始结束第5

2、章 汇编语言程序设计 例1求两个数的平均值。这两个数分别存放在X 单元和Y单元中,而平均值放在Z单元中。源程序编制如 下: DATA SEGMENT X DB 8CH Y DB 64H ZDB ? DATA ENDS STACKSEGMENT DW 20H DUP(0) TOP LABLE WORD STACKENDS第5章 汇编语言程序设计 CODE SEGMENT MAINPROC FAR ASSUME CS:CODE ASSUMEDS:DATA ASSUME SS:STACK START:PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX

3、MOV AX, STACK MOV SS, AX MOV SP, OFFSET TOP第5章 汇编语言程序设计 MOV AL, X ADD AL, Y MOV AH, 0 ADC AH, AH SHR AX, 1 MOV Z, AL RET MAINENDP CODEENDS END START第5章 汇编语言程序设计 5.6.2 分支程序设计 分支程序结构也称条件结构,通常是在两种或两 个以上的不同的操作中选择其中的一个,如下图所示 :分支是通过条件转移指令来实现的。分支结构有 一个共同点:运行方向总是向前的。条件S1S2条件SS1S2Sn条件NNYY第5章 汇编语言程序设计 例2 现有一符

4、号函数: 1 当X0时 Y= 0 当X=0时-1 当X0时 假定X为-25,且存放在VARX单元中,函数 值Y存放在VARY单元,试编写程序根据X的值 确定函数Y的值。 根据题意画出流程图如下:第5章 汇编语言程序设计 实现符号函数程序的流程图开始ALXAL0?Y-1结束AL0Y1Y0YYNN第5章 汇编语言程序设计 编写程序如下: DSEGSEGMENT VARXDB -25 VARYDB ? DSEGENDS CSEGSEGMENT ASSUME CS:CSEG,DS:DSEG START:MOV AX, DSEG MOV DS, AX MOV AL, VARX CMP AL, 0 JGE

5、 NEXT MOV AL, 0FFH JMP HALT第5章 汇编语言程序设计 NEXT:JE ZARE MOV AL, 1 JMP HALT ZARE:MOV AL, 0 HALT:MOV VARY, ALMOV AH, 4CH INT 21H CODE ENDS END STARTMOVDL, VARY MOV CL, 4 ROR DL, CL AND DL, 0FH CMPDL, 0AH JBNUM ADDDL, 7 NUM:ADD DL, 30H MOV AH, 2 INT 21H MOV DL, VARY AND DL, OFH CMPDL, 0AH JBNUB ADDDL, 7 NUB:ADD DL, 30H MOV AH, 2 INT 21H MOV DL, H MOV AH, 2 INT 21H

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 计算机原理

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号