欢迎来到天天文库
浏览记录
ID:13145727
大小:291.50 KB
页数:79页
时间:2018-07-20
《汇编语言程序设计知识ppt培训课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章汇编语言程序设计知识计算机在完成一项工作时,必须按顺序执行各种操作。这些操作是程序设计人员用计算机所能接受的语言把解决问题的步骤事先描述好的,也就是事先编制好计算机程序,再由计算机去执行。汇编语言程序设计:要求设计人员对单片机的硬件结构有较详细的了解。编程时,对数据的存放、寄存器和工作单元的使用等要由设计者安排。4-2汇编语言源程序的编辑与汇编单片机的程序设计通常都是借助于微机实现的,即在微机上使用编辑软件编写源程序,使用交叉汇编程序对源程序进行汇编,然后采用串行通信方法,把汇编得到的目标程
2、序传送到单片机内,并进行程序调试和运行。汇编语言程序:用汇编语言编写的、完成特定功能的指令序列。汇编程序:能将汇编语言源程序转换成机器语言目标程序的系统软件。汇编语言程序到机器语言程序的转换过程称为汇编。1.手工汇编:人工查指令表汇编。用于设计短小程序或调试程序的场合。2.机器汇编:用汇编程序进行汇编。汇编的主要任务:1)确定程序中每条汇编语言指令的指令机器码。2)确定每条指令在存储器中的存放地址。3)提供错误信息。4)提供目标执行文件(*.OBJ/*.HEX)和列表文件(*.LST)。4.2.3
3、伪指令伪指令不是真正的指令,无对应的机器码,在汇编时不产生目标程序,只是用来对汇编过程进行某种控制。1、ORG汇编起始命令格式:ORG16位地址功能:规定该伪指令后面程序的汇编地址,即汇编后生成目标程序存放的起始地址。指令地址机器码源程序ORG2000H2000H7830MAIN:MOVR0,#30H2002HE6MOVA,@R0…ORG3000H3000H23DB23H,100,‘A’3001H643002H412、END汇编结束指令格式:END功能:通知汇编程序结束汇编。在END之后所有的汇编
4、指令均不予以处理。3、EQU赋值命令格式:字符名称EQU项(数或汇编符号)功能:把“项”赋给“字符名称”。注意:字符名称不等于标号(其后没有冒号);其中的项,可以是数,也可以是汇编符号。EQU赋值过的符号名可以用作数据地址、代码地址、位地址或一个立即数。可以是8位的,也可以是16位的。例1:AAEQUR1MOVA,AA;AA代表工作寄存器R1例2:A10EQU10DELYEQU07EBHMOVA,A10;A10作为片内的一个直接地址LCALLDELY;DELY作为一个16位子程序的入口地址4、DA
5、TA数据地址赋值命令格式:字符名称DATA表达式功能:与EQU类似,但有以下差别:(1)EQU定义的字符名必须先定义后使用,而DATA定义的字符名可以后定义先使用。(2)用EQU伪指令可以把一个汇编符号赋给一个名字,而DATA只能把数据赋给字符名。(3)DATA语句可以把一个表达式的值赋给字符名称,其中的表达式应是可求值的。DATA伪指令在程序中用来定义数据地址。5、DB定义字节命令格式:DB(项或项表)功能:通知汇编程序从当前ROM地址开始,保留一个字或字节串的存储单元,并存入DB后的数据。注意
6、:项或项表可以是一个字节、用逗号隔开的字节串或括在单引号中的ASCII字符串。例如:ORG2000HDB0A3HLIST:DB26H,03HSTR:DB‘ABC’┇经汇编后(2000H)=A3H(2001H)=26H(2002H)=03H(2003H)=41H(2004H)=42H(2005H)=43H(41H,42H,43H分别为A,B,C的ASCII码)6、DW定义字命令格式:DW16位数据项或项表功能:把DW后的16位数据项或项表从当前地址连续存放。每项数值为16位二进制数,高8位先放,低8
7、位后存放。DW用于定义一个地址表。例如:ORG1500HTABLE:DW7234H,8AH,10H┇经汇编后(1500H)=72H,(1501H)=34H,(1502H)=00H,(1503H)=8AH,(1504H)=00H,(1505H)=10H7、DS定义存储空间命令格式:DS表达式功能:在汇编时,从指定地址开始保留DS之后表达式的值所规定的存储单元以备后用。例如:ORG1000HDS08HDB30H,8AH汇编后:从1000H保留8个单元,然后从1008H按DB命令给内存赋值。即:(100
8、8H)=30H,(1009H)=8AH8、BIT位地址符号命令格式:字符名BIT位地址功能:把BIT后的位地址值赋给字符名。其中字符名不是标号,其后没有冒号,但字符名是必须的。例如:A1BITP1.0A2BIT02H汇编后:P1口第0位的位地址90H就赋给了A1,而A2的值则为02H。课堂练习:P8735答案:(1000H)=53H,(1001H)=54H,(1002H)=41H,(1003H)=52H,(1004H)=54H,(1005H)=12H,(1006H)=34H,(10
此文档下载收益归作者所有