4.6 基本结构程序设计.pptVIP

  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文档。上传文档
查看更多
4.6 基本结构程序设计

4.6 基本结构程序设计 程序设计步骤 1、分析问题 2、确定算法 3、画流程图,简单程序也可以不画流程图, 直接编程。 4、内存空间分配 5、编写程序 6、静态检查 7、上机调试 4.6 基本结构程序设计 1、顺序结构 顺序结构程序设计是没有分支,没有循环的直线运行程序,程序执行按照IP内容自动增加的顺序进行。 例:用数据运算指令对两个16位数做加法,这两个数从地址10050H开始连续存放,结果放在这两个数之后。 分析题目: 16位数相加,用加法指 令,本题可以不考虑进位问题。 确定算法: 8086加法指令可以做字操 作,可以用不带进位的加法指 令;若用带进位加法指令,事前先清除进位。 画流程图: 见右. 4.6 基本结构程序设计 内存空间分配: 内存地址 内容 10050H 被加数低8位 10051H 被加数高8位 10052H 加数低8位 10053H 加数高8位 10054H 和数低8位 10055H 和数低8位 4.6 基本结构程序设计 2、分支结构 分支程序的基本思想是根据逻辑判断的结果来形成程序的分支,如图,若A成立,则执行P1;否则执行P2。 4.6 基本结构程序设计 DATA SEGMENT XX DW 12 ;X存储单元 YY DW ? ;Y存储单元 DATA ENDS STACK SEGMENT STACK ‘STACK DB 100H DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK START: PUSH DS XOR AX, AX PUSH AX MOV AX,DATA MOV DS,AX MOV AX, XX ; AX [XX] 4.6 基本结构程序设计 CMP AX,0 ;X与0比较 JGE BIGPR ;X≥0,转BIGPR MOV YY,0FFFF ;X<0,(YY) -1 JMP EXIT ;退出 BIGPR: JE EQUPR ;X=0,转EQUPR MOV YY,1 ;X>0,(YY) 1 JMP EXIT EQUPR: MOV YY,0 ;X=0,(YY) 0 EXIT: MOV AX,YY ;将结果送AX RET MOV AX,4C00H INT 21H ;返回DOS下 CODE ENDS END START 例:比较两个无符号数的大小,把大数存入MAX单元 解:比较两个无符号数,可采用CF标志位来判断大小,程序如下: DATA SEGMENT SOURCE DB X1,X2 ;两个无符号数X1和X2 MAX DB ? ;保留存放大数的单元 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,SOURCE ;X1送AL CMP AL,SOURCE+1 ;X1-X2 JNC BRANCH ;若X1X2,转BRANCH MOV AL, SOURCE+1 ;否则,X2送AL BRANCH: MOV MAX,AL ;大数送MAX单元 MOV AX,4C00H INT 21H CODE ENDS END START 4.6 基本结构程序设计 3、循环结构 循环程序是经常遇到的程序结构,一个循环结构通常由以下几个部分组成: 循环初始化部分。一般要进行地址指针、循环次数及某标志的设置,相关寄存器的清零等操作。只有正确地进行了初始化设置, 循环程序才能正确运行,及时停止。 循环体。是要求重复执行的程序段部分,对应于要求重复执行的操作。 循环控制部分。由该部分修改并判断控制循环的条件是否满足。以决定是否继续循环。 循环结束部分。如保存循环运行结果等。 在循环程序设计中,循环控制常有以下几种: 计数法——当循环次数已知时,将循环次数送入CX寄存器

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档