计算机组成原理及汇编语言CAI教学课件作者教师版—张思发第六章汇编程序设计及高级汇编语言技术课件.pdfVIP

计算机组成原理及汇编语言CAI教学课件作者教师版—张思发第六章汇编程序设计及高级汇编语言技术课件.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档