微机原理课件L5章节.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
标准流程图符号 起始和终止框 执行框 判断框 连接框 一、顺序程序结构设计 例5.2 用查表的方法将一位十六进制数转换成与它相应的ASCⅡ码。 (1)明确任务,确定算法。 (2)绘流程图(图5-4) 变量中某个项的选取 二、分支结构程序设计 两种形式: IF_THEN_ELSE结构 CASE结构 同:某种确定条件下,靠条件转移指令执行多个分支中的 一个分支。 异:IF_THEN_ELSE结构可引出两个分支 CASE结构可引出多个分支 分支程序的结构形式 IF_THEN_ELES结构 CASE结构 例:设有一组(8个)选择项存于AL寄存器中,试根据AL寄存器中哪一位为1把程序分别转移到相应的分支 三、循环结构程序设计 两种形式: WHILE_DO结构 DO _UNTIL结构 WHILE_DO结构设计思想:当循环控制条件满足时,执行循环体程序,否则退出循环。 DO _UNTIL结构设计思想:先执行循环体程序,再判断循环控制条件是否满足,若不满足则执行循环体程序,否则退出循环。 循环程序的结构形式 例1:计算1+2+…+1000,并输出计算结果(十进制) 例3:对N个数按由大到小的次序排列 采用冒泡排序法: 从数组的第一个数开始,依次对相邻的两个数进行比较,若次序符合要求,则不进行任何操作;否则,将相比较的两数交换位置。 多重循环结构,共进行N-1遍比较就可完成排序任务。 COUNT1为外循环变量,COUNT2为内循环变量。 在程序设计中,可将具有一定功能的程序段看成为一个过程(相当于一个子程序)。它可以被别的程序调用(用CALL指令)或由JMP指令转移到此执行;也可以由程序顺序执行;也可以作为中断处理程序,在中断响应后转此执行。一个过程由伪指令PROC和ENDP来定义,其格式为 过程名 PROC[类型]  … 过程体 RET 过程名 ENDP 远过程调用时被调用过程必定不在本段内。例如,有两个程序段,其结构如下: CODE1 SEGMENT ASSUME CS:CODE1  … FARPROC RPOC FAR … RET FARPROC ENDP  … CALL FARPROC  … CODE1 ENDS CODE2 SEGMENT ASSUME CS:CODE2  … CALL FARPROC  … CALL NEARPROC  … NEARPROC PROC NEAR  … RET NEARPROC ENDP CODE2 ENDS 寄存器内容的保护和恢复 通常主程序和过程的设计是分开进行的,因而它们使用的寄存器往往会发生冲突。如果主程序中某寄存器的内容在调用过程后还要用,而被调用过程执行期间也要使用该寄存器,则在进入过程时,先将该寄存器的内容保护起来,称为保护现场;而从过程返回主程序前,再将这些寄存器的内容恢复,称为恢复现场。保护现场和恢复现场通常用堆栈压入指令和弹出指令来实现。 SUBRP PROC FAR PUSH AX PUSH BX

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档