1 / 43
文档名称:

第06章(简化)方案课件.ppt

格式:ppt   大小:2,002KB   页数:43页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第06章(简化)方案课件.ppt

上传人:feng1964101 2022/7/5 文件大小:1.96 MB

下载得到文件列表

第06章(简化)方案课件.ppt

相关文档

文档介绍

文档介绍:*
*/41
第6章 微型计算机的程序设计
 程序设计步骤
 简单程序
 分支程序
 循环程序
 子程序
 查表程序<br****题
*
*/41
程序设计步骤
; 存和数到[54H]  
HLT   ; 暂停
*
*/41
【】将内存(10050)单元的内容拆成两段,每段4位,并将它们分别存入内存(10051)和(10052)单元。即(10050)单元中的低4位放入(10051)的低4位,(10050)单元中的高4位放入(10052)的低4位,而(10051)和(10052)的高4位均为零。
(1) 分析题目:这个题目提出的任务在十六进制显示及二、十进制计算中常遇到的. 现在假设内存(10050)中放着7AH,则题目要求就是把7AH拆成07H和0AH两部分,并把0AH放在(10051)单元,07H放在(10052)单元。
*
*/41
在拆字时,想取得一个数的前4位和后4位可以用移位指令的方法,也可以用逻辑与一个0F0H(二进制为11110000)和逻辑与一个0FH(二进制为00001111)的办法。
(2) 根据指令系统中含有的指令,先取出该数用逻辑指令与上一个 0FH,得到低4位,存入内存。再取出该数用移位指令逻辑右移SHR((c))4次,取得高4位,存入内存即可.
(c)
*
*/41
(3) 绘制程序流程图,。
(4) 内存空间分配:把7AH拆成07H和0AH两部分,。







*
*/41
内存分配示意图
10050H
7AH
7H
AH
0H
10051H
0H
10052H
拆开
AH
7AH
AH
7AH
AH
7AH
AH
7H
内存地址
内容
10050H
7AH
10051H
0AH
10052H
07H
表6-2 拆字程序的内存分配
*
*/41
(5)编制的程序如下:
MOV AX,1000H
MOV DS,AX ;DS=1000H
MOV SI,50H ;需拆字节的指针SI=50H
MOV AL,[SI] ;取一个字节到AL中
AND AL,0FH ;把AL的前4位清0
MOV [SI+1],AL ;把得到的后4位放到(10051)单元
MOV AL,[SI] ;再取出需拆字节放到AL中
MOV CL,4
SHR AL,CL ;逻辑右移四次,前4位补0
MOV [SI+2],AL ;放入(10052)单元
查看程序
*
*/41
[例3] 编程计算 1+2+3+4。
MOV AX ,0
ADD AX ,1
ADD AX ,2
ADD AX ,3
ADD AX ,4
初始化: AX 0
开始
AX AX+1
AX AX+2
结束
AX AX+3
AX AX+4
分析:需要有一个暂存空间存放累加和,初值设置为0,之后依次累加。
*
*/41
分支程序
分支程序是利用条件转移指令实现程序执行次序改变的一种程序结构形式,即当程序执行到某一指令后,根据某个条件是否满足,分别执行不同的指令序列。
一般来说,分支程序经常是先用比较指令或数据操作及位检测指令等来改变标志寄存器各个标志位。然后用条件转移指令进行分支。
分支程序执行完后可以立即结束,也可以转到公共点结束,如下图所示。
分支程序可以再分支。
程序框图:在绘制程序流程图时,需用菱形判断框,表示判定条件。在绘制好流程图编写助记符程序时,建议先按上下流程线写,写完上下流程线上的各框环节后,再写分支部分里的框框。
*
*/41
【】求AX累加器和BX寄存器中两个无符号数之差的绝对值,结果放在内存(2800)单元中。
(1) 分析题目:此题目中,AX累加器和BX寄存器中的数是不知道的。对两个不知大小的数相减并求绝对值,显然应该先解决哪一个值稍大些,然后再用大数减小数的方法,才可求得绝对值。
*
*/41
(2) 根据指令系统中的比较指令,编出判断大小的环节,即可解决问题,