内容正文:
第四章 汇编语言程序设计方法
4.3 循环程序设计
《单片机技术与应用》 高教版 第二版 魏寿明
CONTENTS
目录
01
学习目标
02
新课引入
03
新课教学
04
师生互动
05
课堂练习
06
课堂小结
学习目标
CATALOGUE
一
掌握汇编语言的基本语法和指令集,包括数据类型、运算符、控制流语句等。
理解计算机内存模型和寻址方式,能够编写简单的内存操作程序。
了解循环程序设计的基本概念和原理,包括循环控制结构、循环变量、循环终止条件等。
学习目标
新课引入
CATALOGUE
二
计算1到10的累加和,通过循环程序实现。
案例一
找出100以内的所有素数,利用循环和判断实现。
案例二
打印九九乘法表,通过双层循环实现。
案例三
引入案例
问题一
问题二
问题三
问题四
引入问题
如何表示循环的开始和结束?
如何在循环中改变循环变量的值?
如何控制循环的次数?
如何退出循环?
LOOP、LOOPE、LOOPNE等,用于控制循环的执行。
循环控制指令
了解寄存器与内存之间的关系,以及如何在循环中读写寄存器与内存。
寄存器与内存操作
JCXZ、JECXZ等,用于在循环中进行条件判断。
条件判断指令
了解中断与异常的概念及其在循环程序设计中的应用。
中断与异常处理
引入新知识
新课教学
CATALOGUE
三
循环程序是一种能够重复执行某段代码的程序结构,通过设定循环条件和循环体,实现代码的多次执行。
定义
通过循环可以避免重复编写相同的代码,减少程序长度和复杂度。
提高程序执行效率
循环是许多算法的基础,如排序、查找等。
实现复杂算法
通过循环条件控制程序的执行流程,实现程序的灵活控制。
控制程序流程
循环程序定义及作用
通过计数器控制循环次数,适用于已知循环次数的情况。
计数循环
根据条件判断结果控制循环是否继续,适用于循环次数未知的情况。
条件循环
循环结构分类与特点
循环结构能够重复执行某段代码,直到满足退出条件。
重复性
通过设定循环条件和循环变量,可以精确控制循环的执行过程。
可控性
循环结构可以嵌套使用,实现更复杂的程序逻辑。
灵活性
循环结构分类与特点
使用计数器
在循环开始前设置一个计数器,每次循环执行后计数器减1,直到计数器为0时退出循环。
使用条件判断
在循环开始前设置一个条件,每次循环执行后判断条件是否满足,如果满足则继续循环,否则退出循环。
汇编语言中实现循环方法
简单程序和分支程序 一般执行 一 次。而在 一 些实际应用系统中,往往相似操作要重复很多 次,这种多次循环执行一串指令的程序结构称为循环程序结构。循环程序 一般由四个主要部分组成:
① 初始化部分:为循环程序做准备工作,包括规定循环次数、设置变量和地址指针初值等。
② 循环处理部分:循环程序中重复执行的内容是循环程序的核心部分。
循环程序的组成
③循环控制部分:判断循环是否结束,直到符合结束条件时,跳出循环为止。实现循环 控制部分的指令见表所示。
④ 循环修改部分:修改循环参数,为下次循环做准备。
循环程序的组成
指令 功能
CJNE A.direct.re 两数不相等转移
CJNEA,#data,rel 两数不相等转移
CJNE Rn,#data.re 两数不相等转移
CJNE @Ri.#data.re 两数不相等转移
DJNZ Rn,rel 寄存器内容减1不为0转税
DJNZdirect.re 直接寻址字节内容减1不为0转移
单重循环
01
只循环一次的循环称为单重循环。
02
循环程序中,控制循环次数的方式有多种:如果循环次数已知,常用 DJNZ 指令来控制循环,这种循环程序为“先执行,后判断”结构;
03
如果循环次数未知,可以按条件控制循环,常用条件转移指令来控制,这种循环程序为“先判断,后执行”
结构。
单重循环
01
“先执行,后判断”结构
在这种结构中,进入循环体后,先执行一次循环体后,再判断循环是否结束。对“先执行,后判断”结构而言,至少要执行一次循环体,如图所示。
单重循环
例 内部 RAM 的30H 单元开始存放一个数据
块,其长度为10,将数据块求和,要求将和存放入20H和21H 单元中。
注意:该数据块求和,运算时需要考虑CY。
单重循环
02
“先判断,后执行”结构
进入这种结构循环后,首先判断循环结束的条件,根据判断结果决定是否执行循环体,如 果一进入循环就满足循环结束条件,循环体将一次也不执行,即循环次数为0,如图所示。
单重循环
例 内部 RAM的21H 开始的单元中,以结束作标志,要求计算出该字符串的长度, 并将其存放在20H 单元中。程序如下:
遇到复杂问题时,采用单循环往往是不够的,还必须采用多重循环才能解决。所谓多重循 环是指在循环程序中还嵌套有其他循环。使用多重循环