- 53
- 0
- 约 26页
- 2017-03-31 发布于江苏
- 举报
微机原理微型计算机程序设计
【例1】延时程序,在实际应用中一般作为子程序调用,现在我们把延时1s的程序设计成子程序。 程序内容如下:(省略段的定义) DELAY1S: PUSHF PUSH BX PUSH CX MOV BX,3E8H ;1000D LP2: MOV CX,176H LP1: PUSHF ;无意义消耗时间 POPF ;无意义消耗时间 LOOP LP1;延时1ms DEC BX JNZ LP2;延时1s POP CX POP BX POPF RET 从上面的子程序我们可以看出:子程序中因为用到了BX,CX和标志寄存器,所以程序一开始就用了3条PUSH指令,把这些寄存器内容压进堆栈,以保护CPU的现场;而在返回前,它又用了3条POP指令(遵循“先入后出”的原则)把栈中内容弹回到寄存器中去。当然,这些保护现场和恢复现场的工作在主程序不怕丢失这些内容时,可以不用,或者放在主程序中解决,但一般来说,放在子程序中更妥当,也更通用些。 * * 第6章 微型计算机的程序设计 主要内容 程序设计步骤 简单程序(顺序结构) 分支程序(分支结构) 循环程序(循环结构) 子程序 6.1 程序设计步骤 汇编语言程序设计步骤: (1)分析问题:已知条件、要解决的问题、功能/性能要求等。 (2)建立数学模型:把问题数学化、公式化,便于计算机处理。 (3)确定算法:简单、速度快、精度高、代码量小、编程容易。 (4)绘制程序流程图:用箭头、框图、菱形图等表示程序结构。 (5)内存空间分配:为程序或数据分配内存空间。 (6)编制程序与静态检查:程序结构层次简单、清楚、易懂。 (7)程序调试:利用调试软件DEBUG进行调试。 特点:顺序执行每条指令,执行过程中不发生跳转。 6.2 简单程序(顺序结构) 和数高8位 10055H 和数低8位 10054H 加数高8位 10053H 加数低8位 10052H 被加数高8位 10051H 被加数低8位 10050H 内容 内存地址 【例6.1】用数据运算指令,对两个16位数做加法运算。这两个数从地址10050H开始连续存放,低位在低地址一端,结果放在这两个数之后。 例6.1的程序: MOV AX,1000H MOV DS,AX ; DS=1000H MOV SI,50H ; 被加数指针SI=50H MOV DI,52H ; 加数指针DI=52H MOV BX,54H ; 和的指针BX=54H CLC ; 清CF XOR AX,AX ; 清AX MOV AX,[SI] ; 取一个字到AX ADC AX,[DI] ; AX←AX+[DI]+CF MOV [BX],AX ; 存一个字到[BX] HLT ; 暂停 6.2 简单程序(顺序结构) 问题:该程序能否简化?如何简化? 简化的程序: MOV AX,1000H MOV DS,AX ; DS=1000H MOV AX,[50H] ; 取被加数到AX ADD AX,[52H] ; AX←被加数+加数 MOV [54H],AX ; 存和数到[54H] HLT ; 暂停 例题6.2:P139自学 6.2 简单程序(顺序结构) 6.3 分支程序 分支程序是利用条件转移指令实现程序执行次序改变的一种程序结构形式,即当程序执行到某一指令后,根据某个条件是否满足,分别执行不同的指令序列。 一般来说,分支程序经常是先用比较指令或数据操作及位检测指令等来改变标志寄存器各个标志位。然后用条件转移指令进行分支。 分支程序执行完后可以立即结束,也可以转到公共点结束,如下图所示。 分支程序可以再分支。 程序框图:在绘制程序流程图时,需用菱形判断框,表示判定条件。 6.3 分支程序 分支程序结构流程图(注意:判断出口处应注明Y/N) 【例6.3】求AX累加器 和BX寄存器中两个无符号数之差的绝对值,结果放在内存(2800H)单元中。 6.3 分支程序 是 否 问题:右边程序流程图是否有错误?如何改正?
您可能关注的文档
- 循环结构().ppt
- 循环结构do循环嵌套.ppt
- 循环结构VB程序设计.ppt
- 循环结构while.ppt
- 循环结构while2.ppt
- 循环结构与趋势图.ppt
- 循环结构及程序框图同步学案课件.ppt
- 循环结构框图(课时).ppt
- 循环结构程序小结.ppt
- 循环结构程序设计c.ppt
- 人教版数学三年级上册6.4 整理和复习-教学课件.pptx
- 人教版数学二年级下册2.1.4 练习二-教学课件.pptx
- 人教版数学四年级上册9.6 练习二十一-教学课件.pptx
- 2026年中考历史总复习第二部分专题探究专题五民主与法治建设.pptx
- 2026年中考历史总复习全国真题分类汇编专题38中外结合综合题(解析版).docx
- 2026年中考历史总复习第一部分教材知识梳理板块二中国近代史第四单元新民主主义革命的开始.pptx
- 2026年中考历史总复习第一部分教材知识梳理板块二中国近代史第八单元近代经济、社会生活与教育文化事业的发展.pptx
- 2026年中考历史总复习第二部分专题探究专题三中国共产党的光辉历程.pptx
- 2026年中考历史总复习全国真题分类汇编专题39观点论述题综合题(解析版).docx
- 2026年中考历史总复习第一部分教材知识梳理板块四世界古代史第三单元封建时代的欧洲.pptx
原创力文档

文档评论(0)