- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                计算机组成原理及汇编语言CAI教学课件作者教师版—张思发第六章汇编程序设计及高级汇编语言技术课件.pdf
                    第六章    汇编程序设计及高级汇编语言技术 
本章学习目标 
本章重点介绍程序设计的基本方法:顺序程序、分支程序、循环程序、子
程序以及宏汇编、重复汇编和条件汇编、结构与记录等高级编程技术。 
6.1  顺序程序设计 
一般说来,编制一个汇编语言程序的步骤如下: 
(1) 分析题意确定算法。这一步是能否编制出高质量程序的关键,因此不应该一拿到题
目就急于写程序,而是应该仔细地分析和理解题意,找出合理的算法及适当的数据结构。 
(2) 根据算法画出程序框图。这一点对初学者特别重要,这样做可以减少出错的可能
性。画图时可以从粗到细把算法逐步地具体化。 
(3) 根据框图编写程序。 
(4) 上机调试程序。任何程序必须经过调试才能检查出你的设计思想是否正确以及你的
程序是否符合你的设计思想。在调试程序的过程中应该善于利用机器提供的调试工具来进行
工作,你会发现它会给你提供很大的帮助。 
程序有顺序、循环、分支和子程序四种结构形式。下面分别进行介绍。 
顺序程序设计,又叫直接程序设计。它是相对于分支程序和循环程序设计而言的。因
此,可以说顺序程序是既不包含分支,又不包含循环的程序,顺序程序是从第一条指令开
始,按其自然顺序,一条指令一条指令地执行,在运行期间,CPU 既不跳过某些指令,也
不重复执行某些指令。一直执行到最后一条指令为止,此程序的任务也就完成了,前面我们
所举的例子,大多数是这种程序。汇编语言中的大部分指令,如数据传送指令、算术运算指
令、处理器控制指令、移位指令和逻辑运算指令,都可以用来构造顺序结构。 
例 6.1.1:从键盘键入 0 至 9 中任一自然数 X,求其立方值。 
求一个数的立方值可以利用乘法和查表方法来实现,
在本例中利用查表方法来实现。构造一个立方表,事先将
0 至 9 的立方存放在表中,求 0 至 9 的立方值可直接从表
中查出。表存储单元分配:字节变量 x 存放键入的自然数
x,字变量 xxx 中存放 x 的立方值。从表结构可知,x 的
立方值在表中的存放地址与 x 有如下对应关系: 
TAB  
 
 
 
 
            
0 的立方值  
1 的立方值  
2 的立方值  
… 
9 的立方值  
 
D
C
B
(TAB+2*x)=x 的立方值 
源程序如下: 
STACK SEGMENT STACK 
    DB 200 DUP(0) 
STACK ENDS 
DATA SEGMENT 
INPUT DB PLEASE INPUT X(0....9):$ 
TAB DW 0,1,8,27,64,125,216,343,512,729 X    DB ? 
XXX   DW ? 
ATA ENDS 
ODE SEGMENT 
 ASSUME CS:CODE,DS:DATA,SS:STACK 
EGIN:MOV AX, DATA 
                                       第六章      汇编程序设计及高级汇编语言技术                                       ·165· 
    MOV BL,  AL 
      MOV BH,  0 
MOV AX,  TAB[BX]  
      MOV XXX, AX 
      MOV AH,  4CH 
      INT 21H 
CODE ENDS 
END BEGIN 
 
      MOV DS, AX 
      MOV AH, 9 
      LEA DX, INPUT 
      INT 21H 
      MOV AH, 1   
      INT 21H   
AND AL, 0FH 
      MOV X,  AL 
ADD AL, AL 
6.2   分支程序设计 
6.2.1分支程序设计概述 
顺序程序设计是最基本的程序设计技术,但实际上在很多情况下,不单要求计算某个确
定的计算公式,而且要求根据变量变化的情况,从几个公式中选择一个进行计算,这时,对
变量所处的状态要进行判断,根据判断结果决定程序的流向,这就是分支程序设计技术。 
分支程序结构可以有两种形式,如图 6.2.1 所示。它们分别相当于高级语言中的 IF —
THEN—ELSE 语句和 CASE 语句,它们适用于要根据不同条件作不同处理的情况。IF—
THEN—ELSE 语句可以引出两个分支,CASE 语句则可以引出多个分支,不论哪一种形
式,它们的共同特点是:运行方向是向前的,在某一种确定条件下,只能执行多个分支中的
一个分支。 
 
图 6.2.1  分支程序结构图 
在 8086/8088 的程序中,指令执行的顺序由代码寄存器 CS 和指令指针 IP
                您可能关注的文档
- 计算机文化基础教学课件作者李淑华16-15奥运课件.ppt
- 计算机文化基础教学课件作者李淑华1P6-1课件.ppt
- 计算机文化基础教学课件作者李淑华1P6-2课件.ppt
- 计算机文化基础教学课件作者李淑华1P6-3课件.ppt
- 计算机文化基础教学课件作者李淑华1P6-4课件.ppt
- 计算机文化基础教学课件作者李淑华1P6-6录制旁白课件.ppt
- 计算机文化基础教学课件作者李淑华1P6-7制作数码相册课件.ppt
- 计算机文化基础教学课件作者李淑华1P6-8播放背景音乐课件.ppt
- 计算机文化基础教学课件作者李淑华1P6.5锄禾-3课件.ppt
- 计算机文化基础教学课件作者李淑华1第1章计算机基础知识课件.ppt
- 计算机组成原理及汇编语言CAI教学课件作者教师版—张思发第四章8086&8088寻址方式及指令系统课件.ppt
- 计算机组成原理及汇编语言CAI教学课件作者教师版—张思发第四章8086寻址方式及指令系统课件.pdf
- 计算机组成原理及汇编语言CAI教学课件作者教师版—张思发附录B调试程序DEBUG课件.pdf
- 计算机组成原理及汇编语言CAI教学课件作者教师版—张思发附录E8086指令系统课件.pdf
- 计算机组成原理及汇编语言教学课件作者第2版电子教案教学课件作者张思发目录课件.ppt
- 计算机组网技术实训教程--胡衍庆第一单元网络物理层的构建课件.ppt
- 计算机组网技术实训教程--胡衍庆第三单元课件.ppt
- 计算机组网技术实训教程--胡衍庆第二单元课件.ppt
- 计算机组网技术实训教程--胡衍庆第五单元网络应用软件的安装与使用课件.ppt
- 计算机组网技术实训教程--胡衍庆第六单元网络管理课件.ppt
 原创力文档
原创力文档 
                        

文档评论(0)