第4章AT89S51汇编语言程序设计.ppt
《第4章AT89S51汇编语言程序设计.ppt》由会员分享,可在线阅读,更多相关《第4章AT89S51汇编语言程序设计.ppt(44页珍藏版)》请在优知文库上搜索。
1、第第4 4章章 AT89S51AT89S51汇编语言程序设计汇编语言程序设计2 4.1.2 4.1.2 汇编语言语句和格式汇编语言语句和格式 两种基本语句:两种基本语句:指令语句指令语句和和伪指令语句伪指令语句。(1 1)指令语句)指令语句 汇编语言汇编语言四分段四分段格式格式:START:MOV A,#00H ;0A MOV R1,#10 ;10R1 MOV R2,#00000011B ;03HR2LOOP:ADD A,R2 ;(A)+(R2)A DJNZ R1,LOOP ;R1减减1不为零,则跳不为零,则跳 LOOP处处 NOPHERE:SJMP HERE标号字段标号字段(LABLE)操作
2、码字段操作码字段(OPCODE)操作数字段操作数字段(OPRAND)注释字段注释字段(COMMENT)(2 2)伪指令语句)伪指令语句又又称为称为汇编程序控制命令汇编程序控制命令。没有相应的机器代码产生。没有相应的机器代码产生。伪指令具有控制汇编程序的输入伪指令具有控制汇编程序的输入/输出、定义数据和符号、条输出、定义数据和符号、条件汇编、分配存储空间等功能。件汇编、分配存储空间等功能。1ORG(ORiGin)汇编起始地址命令)汇编起始地址命令例如:例如:ORG2000HSTART:MOVA,#00H 在一源程序中,可多次用在一源程序中,可多次用ORG指令,规定不同程序段的起始地址指令,规定不
3、同程序段的起始地址。地址地址必须由小到大排列,且不能交叉必须由小到大排列,且不能交叉、重叠。重叠。2.2.END(END of Assembly)END(END of Assembly)汇编终止命令汇编终止命令源程序源程序结束标志结束标志,终止源程序的汇编工作。终止源程序的汇编工作。3 3EQUEQU(EQUateEQUate)标号赋值命令)标号赋值命令用于用于给标号赋值给标号赋值。赋值后,标号值在整个程序有效。赋值后,标号值在整个程序有效。例如:例如:TESTTESTEQU 2000HEQU 2000HTEST=2000HTEST=2000H,汇编时,凡是遇到,汇编时,凡是遇到TESTTES
4、T时,均以时,均以2000H2000H来代替。来代替。4DB(Define Byte)定义数据字节命令)定义数据字节命令在程序存储器单元中定义字节数据。例如:在程序存储器单元中定义字节数据。例如:ORG2000HDB30H,40H,24,C,B汇编后汇编后(2000H)=30H(2001H)=40H(2002H)=18H(十进制数十进制数24)(2003H)=43H(字符字符“C”的的ASCII码码)(2004H)=42H(字符字符“B”的的ASCII码码)十进制数十进制数自然转换成十六进制数,字母按自然转换成十六进制数,字母按ASCII码存储。码存储。6 5DW(Define Word)定义
5、数据字命令)定义数据字命令 在程序存储器单元中定义在程序存储器单元中定义16位的数据字。例如:位的数据字。例如:ORG 2000HDW 1246H,7BH,10汇编后(2000H)=12H;第1个字(2001H)=46H(2002H)=00H;第2个字(2003H)=7BH(2004H)=00H;第3个字(2005H)=0AHDBDB、DWDW和和DSDS命令命令只能对程序存储器有效,只能对程序存储器有效,不能对数据存储器不能对数据存储器使用。使用。6DS(Define Storage)定义存储区命令)定义存储区命令 NOP从指定地址开始,保留指定数目的字节单元作为存储区。从指定地址开始,保留
6、指定数目的字节单元作为存储区。例如:例如:TABEL:DS10 表示从表示从TABEL代表的地址开始,保留代表的地址开始,保留10个连续的地址单元。个连续的地址单元。例如例如:ORG2000HDS10 H表示从表示从2000H地址开始,保留地址开始,保留16个连续地址单元。个连续地址单元。7 7BIT BIT 位定义命令位定义命令用于给字符名称赋以位地址,位地址可以是绝对位地址,也可是用于给字符名称赋以位地址,位地址可以是绝对位地址,也可是符号地址。例如:符号地址。例如:QAQABIT P1.6BIT P1.6功能是把功能是把P1.6P1.6的位地址赋给变量的位地址赋给变量QAQA。4.2 4
7、.2 汇编语言源程序的汇编汇编语言源程序的汇编汇编可分为汇编可分为手工汇编手工汇编和和机器汇编机器汇编两类。两类。4.3 AT89S514.3 AT89S51汇编语言程序设计举例汇编语言程序设计举例4.3.1 4.3.1 子程序设计子程序设计优点:优点:程序结构简单,缩短程序设计时间,减少存储空间。程序结构简单,缩短程序设计时间,减少存储空间。1 1子程序的设计原则和应注意的问题子程序的设计原则和应注意的问题(1 1)子程序入口地址,前必须有标号。)子程序入口地址,前必须有标号。(2 2)主程序是通过调用指令来实现。有)主程序是通过调用指令来实现。有两条子程序调用指令。两条子程序调用指令。AC
8、ALL ACALL addr11addr11。addr11addr11指出了调用的目的地址,指出了调用的目的地址,PCPC中中1616位地位地址中的高址中的高5 5位不变,即只能在同一个位不变,即只能在同一个2KB2KB区内。区内。LCALL addr16LCALL addr16长调用指令长调用指令。(3 3)子程序结构中必须用到堆栈,用来进行断点和现场的保护。)子程序结构中必须用到堆栈,用来进行断点和现场的保护。(4 4)子程序返回主程序时,最后一条指令必须是)子程序返回主程序时,最后一条指令必须是RETRET指令。指令。(5 5)子程序可以嵌套,即主程序可以调用子程序,子程序又可)子程序可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AT89S51 汇编语言 程序设计