汇编程序设计.ppt





《汇编程序设计.ppt》由会员分享,可在线阅读,更多相关《汇编程序设计.ppt(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4 4章章机械工业出版社同名教材机械工业出版社同名教材配套电子教案配套电子教案第第4 4章章 汇编语言程序设计汇编语言程序设计 8080C51C51汇编语言语句结构的基本格式汇编语言语句结构的基本格式 伪指令的功能和应用伪指令的功能和应用 汇编的概念汇编的概念 程序设计的步骤和基本方法程序设计的步骤和基本方法 顺序程序顺序程序 分支程序分支程序 循环程序循环程序 查表程序查表程序 散转程序散转程序本章要点本章要点标号:操作码标号:操作码 目的操作数,源操作数目的操作数,源操作数;注释;注释4-1 4-1 汇编语言程序设计基本概念汇编语言程序设计基本概念一一.汇编语言及其语句结构汇编语言及其
2、语句结构二二.伪指令伪指令 在汇编时起控制作用,自身并不产生机器在汇编时起控制作用,自身并不产生机器码,而仅是为汇编服务的一些指令,称为伪指码,而仅是为汇编服务的一些指令,称为伪指令。伪指令不属于令。伪指令不属于8080C51C51指令系统。指令系统。常用的伪指令有以下几种:常用的伪指令有以下几种:起始伪指令起始伪指令 ORG(Origin)ORG(Origin)功能:规定功能:规定ORGORG下面目标程序的起始地址。下面目标程序的起始地址。格式:格式:ORG 16ORG 16位位地址地址功能:将一个数据或特定的汇编符号赋予规定功能:将一个数据或特定的汇编符号赋予规定 的字符名称。的字符名称。
3、结束伪指令结束伪指令 ENDEND功能:汇编语言源程序的结束标志。功能:汇编语言源程序的结束标志。在在ENDEND后面的指令,汇编程序不再处理后面的指令,汇编程序不再处理。格式:格式:ENDEND 等值伪指令等值伪指令 EQUEQU(EquateEquate)格式:格式:字符名称字符名称 EQUEQU 数据或汇编符号数据或汇编符号 数据地址赋值伪指令数据地址赋值伪指令 DATADATA格式:格式:字符名称字符名称 DATADATA 表达式表达式功能:将数据地址或代码地址赋予规定的功能:将数据地址或代码地址赋予规定的 字符名称。字符名称。定义字节伪指令定义字节伪指令DBDB(Define Byt
4、eDefine Byte)格式:格式:DB 8DB 8位二进制数表位二进制数表功能:从指定的地址单元开始,定义若干功能:从指定的地址单元开始,定义若干 个个8 8位内存单元的数据。位内存单元的数据。数据与数据之间用数据与数据之间用“,”分割。分割。格式:格式:字符名称字符名称 BITBIT 位地址位地址 定义字伪指令定义字伪指令DWDW(Define WordDefine Word)格式:格式:DW 16DW 16位二进制数表位二进制数表功能:从指定的地址单元开始,定义功能:从指定的地址单元开始,定义 若干个若干个1616位数据。位数据。定义位地址伪指令定义位地址伪指令BITBIT功能:将位地
5、址赋予所规定的字符名称。功能:将位地址赋予所规定的字符名称。三三.汇编汇编 将汇编语言源程序转换为计算机所能识别将汇编语言源程序转换为计算机所能识别的机器语言代码程序的过程称为汇编。的机器语言代码程序的过程称为汇编。汇编可分为:汇编可分为:手工汇编手工汇编 计算机汇编计算机汇编 汇编和调试汇编和调试四四.程序设计的基本方法程序设计的基本方法编写程序要求:编写程序要求:不仅要完成规定的功能任务,而且还要求:不仅要完成规定的功能任务,而且还要求:执行速度快执行速度快、占用内存少占用内存少、条理清晰条理清晰、阅读方便阅读方便、便于移植便于移植、巧妙而实用巧妙而实用。一般应按以下几个步骤进行:一般应按
6、以下几个步骤进行:分析问题,确定算法或解题思路分析问题,确定算法或解题思路 画流程图画流程图 编写源程序编写源程序 顺序程序是指按顺序依次执行的程序,也顺序程序是指按顺序依次执行的程序,也称为简单程序或直线程序。称为简单程序或直线程序。顺序程序结构虽然比较简单,但也能完成顺序程序结构虽然比较简单,但也能完成一定的功能任务,是构成复杂程序的基础。一定的功能任务,是构成复杂程序的基础。第二节第二节 汇编语言程序设计举例汇编语言程序设计举例一一.顺序程序顺序程序CONT:MOVCONT:MOV A,R0 A,R0;读低读低8 8位位CPLCPL A A;取反取反ADDADD A,#1 A,#1;加加
7、1 1MOVMOV R2,A R2,A;存低存低8 8位位MOVMOV A,R1 A,R1;读高读高8 8位位CPLCPL A A;取反取反ADDCADDC A,#80H A,#80H;加进位及符号位加进位及符号位MOV R3,AMOV R3,A;存高存高8 8位位RETRET;【例】【例】已知已知1616位二进制负数存放在位二进制负数存放在R1R0R1R0中,中,试求其补码,并将结果存在试求其补码,并将结果存在R3R2R3R2中。中。解:二进制负数的求补方法可归结为解:二进制负数的求补方法可归结为“求反加求反加1 1”,符号,符号位不变。利用位不变。利用CPLCPL指令实现求反;加指令实现求
8、反;加1 1时,则应低时,则应低8 8位先加位先加1 1,高,高8 8位再加上低位的进位。注意这里不能用位再加上低位的进位。注意这里不能用INCINC指令,因指令,因为为INCINC指令不影响标志指令不影响标志位。位。程序如下:程序如下:根据不同条件转向不同的处理程序,根据不同条件转向不同的处理程序,这种结构的程序称为分支程序。这种结构的程序称为分支程序。8080C51C51指令系统中的指令系统中的条件转移指令条件转移指令、比较转移指令比较转移指令和和位转移指令位转移指令,可以实现分,可以实现分支程序。支程序。二二.分支程序分支程序 S0S0单独按下,单独按下,红灯亮红灯亮,其余灯其余灯灭;灭
9、;S1S1单独按下,单独按下,绿灯亮绿灯亮,其余其余灯灯灭;灭;其余情况,其余情况,黄灯亮。黄灯亮。【例】【例】已知电路如图已知电路如图4-54-5所示,要求实现:所示,要求实现:解:程序如下解:程序如下SGNL:ANL P1,#11100011BSGNL:ANL P1,#11100011B;红绿黄灯灭红绿黄灯灭 ORL P1,#00000011BORL P1,#00000011B;置置P1.0P1.0、P1.1P1.1输入态输入态,P1.5P1.5P1.7P1.7状态不变状态不变SL0:JNB P1.0,SL1SL0:JNB P1.0,SL1 ;P1.0=0,S0;P1.0=0,S0未按下未
10、按下,转判转判S1S1 JNB P1.1,RED JNB P1.1,RED ;P1.0=1,S0;P1.0=1,S0按下按下;且且P1.1=0,S1P1.1=0,S1未按下未按下,转红灯亮转红灯亮YELW:SETB P1.4YELW:SETB P1.4 ;黄灯亮黄灯亮 CLR P1.2CLR P1.2 ;红灯灭红灯灭 CLR P1.3CLR P1.3 ;绿灯灭绿灯灭 SJMP SL0SJMP SL0 ;转循环转循环SL1:JNB P1.1,YELWSL1:JNB P1.1,YELW ;P1.0=0,S0;P1.0=0,S0未按下未按下;P1.1=0,S1P1.1=0,S1未按下未按下,转黄灯亮
11、转黄灯亮GREN:SETB P1.3GREN:SETB P1.3 ;绿灯亮绿灯亮 CLR P1.2CLR P1.2 ;红灯灭红灯灭 CLR P1.4CLR P1.4 ;黄灯灭黄灯灭 SJMP SL0SJMP SL0 ;转循环转循环RED:SETB P1.2RED:SETB P1.2 ;红灯亮红灯亮 CLR P1.3CLR P1.3 ;绿灯灭绿灯灭 CLR P1.4CLR P1.4 ;黄灯灭黄灯灭 SJMP SL0SJMP SL0 ;转循环转循环 课堂练习题:课堂练习题:电路及灯亮灭要求同上述电路及灯亮灭要求同上述【例】【例】题,其中第题,其中第3 3、4 4两条指令两条指令JNB P1.0JN
12、B P1.0和和JNB P1.1JNB P1.1按下列要求修改,按下列要求修改,试重新编程。试重新编程。JBJBP1.0P1.0,JBJBP1.1P1.1,JBJBP1.0P1.0,JNB P1.1JNB P1.1,JNB P1.0JNB P1.0,JBJBP1.1P1.1,循环程序一般包括以下几个部分:循环程序一般包括以下几个部分:循环初值;循环初值;循环体;循环体;循环修改;循环修改;循环控制;循环控制;以上四部分可以有两种组织形式,以上四部分可以有两种组织形式,其结构如其结构如图图4-64-6所所示。示。三三.循环程序循环程序【例】【例】设设XiXi均为单字节数,并按顺序存放在以均为单字
13、节数,并按顺序存放在以5050H H为首为首地址的内地址的内RAMRAM存储单元中,数据长度(个数)存储单元中,数据长度(个数)N N存在存在R2R2中,试编程求和中,试编程求和S=XS=X1 1+X+X2 2+X+XN N,并将并将S S(双字节)双字节)存放在存放在R3R4R3R4中,(设中,(设S S6553665536)。)。解:程序如下:解:程序如下:SXN:MOV R2,#NSXN:MOV R2,#N ;置数据长度置数据长度(循环次数循环次数)MOV R3,#00H MOV R3,#00H;和单元和单元(高高8 8位位)清清0 0 MOV R4,#00H MOV R4,#00H;和
14、单元和单元(低低8 8位位)清清0 0 MOV R0,#50H MOV R0,#50H;求和数据区首址求和数据区首址LOOP:MOV A,R4LOOP:MOV A,R4 ;读前次低读前次低8 8位和位和 ADD A,R0ADD A,R0 ;低低8 8位累加位累加 MOV R4,AMOV R4,A ;存低存低8 8位和位和 CLR A CLR A ;ADDC A,R3 ADDC A,R3 ;高高8 8位加进位位加进位 MOV R3,A MOV R3,A ;存高存高8 8位和位和 INC R0 INC R0 ;指向下一数据指向下一数据 循环修改循环修改 DJNZ R2,LOOP DJNZ R2,L
15、OOP;判判N N个数据累加完否?个数据累加完否?循环控制循环控制 RET RET ;退出循环退出循环 退出循环退出循环 置置循循环环初初值值循循环环体体【例】编写延时例】编写延时1010msms子程序子程序,foscfosc=12MHz=12MHz。解解:foscfosc=12MHz=12MHz,一个机器周期为一个机器周期为1 1 s s。DY10ms:MOV R6,#20 DY10ms:MOV R6,#20 ;置外循环次数置外循环次数DLP1:MOV R7,#250 DLP1:MOV R7,#250;置内循环次数置内循环次数DLP2:DJNZ R7,DLP2 DLP2:DJNZ R7,DL
16、P2;2;2机周机周250=500250=500机周机周 DJNZ R6,DLP1 DJNZ R6,DLP1;500;500机周机周20=1000020=10000机周机周 RET RET ;说明:说明:MOVMOV Rn Rn指令为指令为1 1个机器周期个机器周期;DJNZDJNZ指令为指令为2 2个机器周期个机器周期;RETRET指令为指令为2 2个机器周期个机器周期;(2 2机周机周250)+1+2250)+1+220+1+220+1+21 1 s s/机周机周=10063=10063 s10mss10ms【课堂练习题】课堂练习题】按下列要求编写延时子程序:按下列要求编写延时子程序:延时
17、延时2 2msms,foscfosc=6MHz=6MHz;延时延时5 5msms,foscfosc=12MHz=12MHz;延时延时1010s s,foscfosc=12MHz=12MHz;设设8080C51C51单片机的单片机的P1P1口作为输出口,经驱动电路口作为输出口,经驱动电路7474LS240LS240(8(8反相三态缓冲反相三态缓冲/驱动器驱动器)接接8 8只发光二极管,如图只发光二极管,如图4-84-8所示。所示。当输出位为当输出位为“1 1”时,发光二极管点亮,输出位为时,发光二极管点亮,输出位为“0 0”时为时为暗。试编程实现:每个灯闪烁点亮暗。试编程实现:每个灯闪烁点亮10
18、10次,再转移到下一个灯次,再转移到下一个灯闪烁点亮闪烁点亮1010次,循环不止。次,循环不止。【例】【例】编制一个循环闪烁灯的程序。编制一个循环闪烁灯的程序。FLASH:MOV A,#01HFLASH:MOV A,#01H;置灯亮初值置灯亮初值FSH0:MOV R2,#0AHFSH0:MOV R2,#0AH;置闪烁次数置闪烁次数FLOP:MOV P1,AFLOP:MOV P1,A;点亮点亮 LCALL DY1sLCALL DY1s;延时延时1 1s s MOV P1,#00H MOV P1,#00H;熄灭熄灭 LCALL DY1sLCALL DY1s;延时延时1 1s s DJNZ R2,F
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编程序 设计

限制150内