第三章大学生复习资料ppt课件.ppt
《第三章大学生复习资料ppt课件.ppt》由会员分享,可在线阅读,更多相关《第三章大学生复习资料ppt课件.ppt(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、伪指令伪指令 汇编语言程序设计汇编语言程序设计MCS-51程序设计举例程序设计举例一 汇编程序的伪指令 (真真)指令指令:告诉告诉计算机计算机如何操作以及做何种操作如何操作以及做何种操作伪指令:伪指令:伪指令不进行具体的操作,亦即它不像伪指令不进行具体的操作,亦即它不像机器指令那样是在程序运行期间由计算机来执行机器指令那样是在程序运行期间由计算机来执行的,而是在汇编程序对源程序汇编期间由汇编程的,而是在汇编程序对源程序汇编期间由汇编程序处理的操作。序处理的操作。伪指令仅在汇编过程中起控制作用不产生伪指令仅在汇编过程中起控制作用不产生可执行可执行目标代码,又称为软指令目标代码,又称为软指令 1、
2、起点指令、起点指令 ORG格式:格式:ORG H功能:功能:给程序给程序起始地址起始地址或数据块的或数据块的起始地址起始地址赋值赋值例:例:用法:用法:一般出现在每段源程序或数据块的开始一般出现在每段源程序或数据块的开始一个源程序可多次出现一个源程序可多次出现ORG指令指令ORG 8000HSTART:MOV A,#74H ;源程序的起始地址源程序的起始地址为为8000H首地址首地址首地址首地址ASM51程序中一定要写!程序中一定要写!2、结束命令、结束命令 END格式:格式:END功能:汇编程序结束标志功能:汇编程序结束标志附在一个源程序的结尾附在一个源程序的结尾 一个源程序只能出现一次一个
3、源程序只能出现一次END指令指令3、定义字节命令、定义字节命令 DB格式:格式:功能:功能:标号:标号:DB 字节常数或字符串字节常数或字符串 (8 8位位)从指定的地址单元开始,定义若干个从指定的地址单元开始,定义若干个8位位内存单元的数据。汇编程序把内存单元的数据。汇编程序把DB定义的定义的字节数据依次存入字节数据依次存入标号开始标号开始的存储单元的存储单元用法:用法:有定义的内存单元有定义的内存单元地址地址项或项表项或项表ASM51程序中一定要写!程序中一定要写!例:例:ORG 8000HTAB: DB 45H,73,5,ATAB1:DB 101B伪指令伪指令ORG 定义了定义了TAB的
4、起始地址为的起始地址为8000H,伪指令伪指令DB定义了定义了8000H8003单元的内容依次为:单元的内容依次为:(8000H)= 45H(8001H)= 49H(8002H)= 35H(8003H)= 41H(8004H)= 05HTABTAB1(1) 由由 ORG定义定义(2) 跟在其他源程序之后跟在其他源程序之后4、定义字命令、定义字命令DW格式:格式:功能:功能:标号:标号:DW 字或字表字或字表从指定的地址单元开始,定义若干个从指定的地址单元开始,定义若干个16位位内存单元的数据。内存单元的数据。例:例:ORG 8000HTAB:DW 7234H,8AH,10(8000H)= 72
5、H(8001H)= 34H(8002H)= 00H(8003H)= 8AH(8005H)= 0AH汇编后:汇编后:(8004H)= 00H注意:因为注意:因为16位需占位需占用用2个字节,所以高个字节,所以高8位先存入,低位先存入,低8位后位后存入,不足存入,不足16位,以位,以0填充。填充。5、定义空间命令、定义空间命令 DS格式:格式:功能:功能:标号:标号:DS 数据或字符数据或字符及及表达式表达式例:例:(8008H)=30H(8009H)=8AH从指定单元地址开始,保留若干个内存从指定单元地址开始,保留若干个内存空间备用空间备用ORG 8000HDS 08HDB 30H,8AH即:即
6、:8000H8007H单元保留备用单元保留备用定义空定义空间间6、等值命令、等值命令 EQU格式:格式:字符名称字符名称 EQU 数据或汇编符号数据或汇编符号功能:功能:将一个数据或汇编符号赋予一个指定的将一个数据或汇编符号赋予一个指定的字符名称字符名称例:例:ORG 8000H AA EQU R6MOV A,AA;AA与与R6等值等值;A (R6)例例: : A10 EQU 10DELY EQU 07EBH MOV A,A10 LCALL DELY;A10 = 10;DELY = 07EBH;转向入口地址;转向入口地址 07EBH使用使用EQU指令,须先赋值后使用,不能反之指令,须先赋值后使
7、用,不能反之7、数据地址赋值等值命令、数据地址赋值等值命令 DATA格式:格式:字符名称字符名称 DATA 数据或表达式数据或表达式功能:功能:此命令把数据此命令把数据/ /代码地址赋予规定的字符名称。代码地址赋予规定的字符名称。定义的字符名称可先使用后定义定义的字符名称可先使用后定义INDEXJ DATA 8389HORG 8000HINDEXJ DATA 8096H LJMP INDEXJENDORG 8000H LJMP 8096HEND;INDEXJ这个字符名称的地址为这个字符名称的地址为8389H例:例:等等价价于于 EQU与与 DATA的区别的区别(1) DATA与与EQU相似,但
8、相似,但DATA定义的字符名称定义的字符名称, 可先使用后定义可先使用后定义 ,EQU则不能则不能(2) EQU指令可把汇编符号赋给字符名称,指令可把汇编符号赋给字符名称, DATA则不能则不能 (3) DATA可把表达式的值赋给字符名称,可把表达式的值赋给字符名称, EQU则不能则不能 DATA常在程序中定义数据地址常在程序中定义数据地址EQU常在程序中定义字符数据常在程序中定义字符数据 8、位地址符号命令、位地址符号命令 BIT格式:格式:字符名称字符名称 BIT 位地址位地址功能:功能:把位地址赋予指定的字符名称把位地址赋予指定的字符名称 A1 BIT P1.0A2 BIT P2.0例:
9、例:;P1.0, P2.0赋予位地址字符名称赋予位地址字符名称 A1、A2,在编程时可以直接把,在编程时可以直接把 A1、A2 当成位地址使用当成位地址使用9、#HIGH(常数或数据表达式)(常数或数据表达式) #LOW(常数或数据表达式)(常数或数据表达式) 功能:功能:#HIGH伪指令用于取目标代码的高字节,而伪指令用于取目标代码的高字节,而#LOW伪指令用于取目标代码的低字节。在给伪指令用于取目标代码的低字节。在给定时定时/计数器赋初值时,该伪指令经常使用。计数器赋初值时,该伪指令经常使用。 例如:MOV TH0, #HIGH(5000) MOV TL0, #LOW(5000) 第一条指
10、令将数据5000(16进制为1388H)的高字节取出并送入TH0中,第二条指令将数据5000的低字节取出并送入TL0中 程序段执行后,(TH0)= 13H,(TL0)= 88H。二二 汇编语言程序设计汇编语言程序设计一、汇编语言程序设计的一般步骤一、汇编语言程序设计的一般步骤 分析课题分析课题 确定算法确定算法 画流程图画流程图 编写程序编写程序 上机调试上机调试二、程序结构二、程序结构 按程序的走向可以将程序分成按程序的走向可以将程序分成4种结构:种结构: 简单程序简单程序 分支程序分支程序 循环程序循环程序 子程序子程序一、汇编语言程序设计的一般步骤一、汇编语言程序设计的一般步骤 分析课题
11、分析课题 确定算法确定算法 画流程图画流程图 编写程序编写程序 上机调试上机调试二、程序结构二、程序结构当接到程序设计的任务后,首先对任务进行详尽的分析,搞清楚已知的数据和想要得到的结果,程序应该完成何种的功能。一、汇编语言程序设计的一般步骤一、汇编语言程序设计的一般步骤 分析课题分析课题 确定算法确定算法 画流程图画流程图 编写程序编写程序 上机调试上机调试二、程序结构二、程序结构 根据实际问题的要求和指令系统的特点,确定解决问题的具体步骤。根据任务要求,对不同的计算方法进行比较,选择最适宜的算法。 一、汇编语言程序设计的一般步骤一、汇编语言程序设计的一般步骤 分析课题分析课题 确定算法确定
12、算法 画流程图画流程图 编写程序编写程序 上机调试上机调试二、程序结构二、程序结构将解决问题的具体步骤用一种约定的几何图形、指向线和必要的文字说明描述出来的图形。一、汇编语言程序设计的一般步骤一、汇编语言程序设计的一般步骤 分析课题分析课题 确定算法确定算法 画流程图画流程图 编写程序编写程序 上机调试上机调试二、程序结构二、程序结构 经过上述各步骤后,解决问题的思路已经非常清楚,所以接下来就可以按流程图的顺序对每一个功能框选用合适的指令编写出汇编语言程序。 一、汇编语言程序设计的一般步骤一、汇编语言程序设计的一般步骤 分析课题分析课题 确定算法确定算法 画流程图画流程图 编写程序编写程序 上
13、机调试上机调试二、程序结构二、程序结构在应用程序的设计中,几乎没有一个程序只经过一次编写就完全成功的,所以必须经过上机调试。 一、汇编语言程序设计的一般步骤一、汇编语言程序设计的一般步骤 分析课题分析课题 确定算法确定算法 画流程图画流程图 编写程序编写程序 上机调试上机调试二、程序结构二、程序结构 按程序的走向可以将程序分成按程序的走向可以将程序分成4种结构:种结构: 简单程序简单程序 分支程序分支程序 循环程序循环程序 子程序子程序简单程序简单程序 简单程序是指一种无分支的直接程序,即CPU从第一条指令开始依次依次执行每一条指令,直到最后一条指令。 这种程序虽然比较简单,但也能完成一定的功
14、能,并且往往也是构成复杂程序的基础。拆字程序 拼字程序 求和程序 拆字程序拆字程序 例:例:将30H单元中存放的一个两位的BCD拆开并存入31H单 元和32H单元,高字节存入32H单元。 解解 : 分析命题分析命题确定算法确定算法画流程图画流程图编写程序编写程序上机调试上机调试32H31H30H89H09H08H分别屏蔽高4位与低4位,再将高4位交换MOV A,30H ANL A,#0F0HSWAP AMOV 32H,AMOV 31H,30HANL 31H,#0FHSJMP $开始将30H单元的内容送A将A中高、低4位交换将A中内容存入32H单元屏蔽30H单元内容的高4位屏蔽A中内容的低4位将
15、30H单元内容存入31H单元结束拼字程序拼字程序 例:例:将30H和31H单元中存放的2个一字节BCD码组合成一个2位的BCD码存入32H单元,31H单元中的数为低4位。 解解 : 分析命题分析命题确定算法确定算法画流程图画流程图编写程序编写程序上机调试上机调试32H31H30H04H07H47H将30H单元的高4与低4交换,再与31H单元相或 MOV A,30HSWAP AORL A,31HMOV 32H,ASJMP $开始将30H单元的内容送A将A中高、低4位交换将A中内容与31H单元内容相或将A中内容存入32H单元结束MOV A,30HADD A,32HMOV 40H,AMOV A,31
16、HADDC A,33HMOV 41H,AMOV A,#00HADDC A,#0MOV 42H,ASJMP $求和程序求和程序 例:例:设2个16位二进制数存于以30H为首址的连续单元中,求二者的和,并将和存于以40H为首址的区域。(低字节在前) 解解 : 分析命题分析命题确定算法确定算法画流程图画流程图编写程序编写程序上机调试上机调试(30H)+(32H)送40H单元;(31H)+(33H)+Cy送41H单元; Cy+0送42H单元开始(30H)+(32H)送40H单元 (31H)+(33H)+Cy送41H单元Cy+0送42H单元结束分支程序分支程序 分支程序就是条件分支程序,即根据不同的条件
17、,执行不同的程序段。在编写分支程序时,关键是如何判断分支的条件。在MCS-51中可以直接用来判断分支条件的指令不是很多,只有累加器为零(或不为零)、比较条件转移指令CJNE等,但它还提供位条件转移指令,如JC,JB等。把这些指令结合在一起使用,就可以完成各种各样的条件判断,如正负判断、溢出判断、大小判断等。分段函数 符号函数 比较大小 例:例:设变量X存放于30H单元,函数值Y存放在31H单元。试按照下式的要求给Y赋值。 解解 : Y= 分析命题分析命题确定算法确定算法画流程图画流程图编写程序编写程序上机调试上机调试开始将30H单元的内容送A结束符号函数符号函数010001XXXA=0?将0送
18、31H单元A 0?将1送31H单元将-1送31H单元VARDATA30HFUNCDATA31H MOV A,VAR JZ COMP JNB ACC.7,POSI MOV A,#0FFH SJMP COMPPOSI: MOV A,#1COMP: MOV FUNC,A SJMP $YNYN例:例:两个无符号数分别存于ONE和TWO单元,试比较它们的大小,将较大者存人MAX单元。若两数相等则任存入一个即可。 解解 :分析命题分析命题确定算法确定算法画流程图画流程图编写程序编写程序上机调试上机调试开始将ONE单元的内容送A结束比较大小比较大小A TWO将TWO单元内容送MAX单元MOV A,ONECJ
19、NEA, TWO,NEXT1NEXT1: JC NEXT2 MOV MAX,ONESJMP $NEXT2: MOV MAX,TWO SJMP $YN将ONE单元内容送MAX单元循环程序循环程序 一、循环程序的应用场合一、循环程序的应用场合二、循环程序的组成二、循环程序的组成三、循环程序举例三、循环程序举例字符串长度 数组清0 循环程序循环程序 一、循环程序的应用场合一、循环程序的应用场合分段函数 符号函数 比较大小 在程序执行时,往往同样的一组操作要重复许多次。当然可以采用简单程序,重复使用同样的指令来完成,但若使用循环程序,重复执行同一条指令许多次来完成重复操作,就可大大减化程序。例如:例如
20、:要使00H7FH单元的内容清0。方法1:用128条赋值指令完成。方法2:只用一条赋值指令,并使之执行128次,每次执行时操作数亦作每次执行时操作数亦作相应的变化相应的变化以完成规定的操作。方法1:MOV 00H,#0 MOV 01H,#0 MOV 7FH,#0方法2: MOV R0,#128 CLR AUP:MOV R0,A DEC R0 CJNE R0,#00H,UP SJMP $循环程序循环程序 一、循环程序的应用场合一、循环程序的应用场合二、循环程序的组成二、循环程序的组成循环程序一般由四部分组成: 置循环初值置循环初值 循环体循环体 循环修改部分循环修改部分 循环控制部分循环控制部分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 大学生 复习资料 ppt 课件
限制150内