MCS-51单片机的编程语言可以是汇编语言也可以是高级语言(如C语言),高级语言编程快捷,但程序长,占用存储空间大,执行慢;汇编语言产生的目标程序简短,占用存储空间小,执行快,能充分发挥计算机的硬件功能。无论是高级语言还是汇编语言,源程序都要转换成目标程序(机器语言)单片机才能执行。
汇编:将汇编语言源程序转换成机器语言目标程序的过程称为汇编。
汇编程序:能将汇编语言源程序转换成机器语言目标程序的系统软件称为汇编程序。
汇编的方法:汇编的方法有两种
1.手工汇编:
人工查指令表,查出程序中每条指令对应的机器代码。早期的计算机使用。
2.机器汇编:
用计算机中的汇编程序对用户源程序进行汇编。
用机器汇编要提供给汇编一些信息,遵循汇编程序的一些约定。这些由伪指令指定。
1)确定程序中每条汇编语言指令的指令机器码
2)确定每条指令在存储器中的存放地址
3)提供错误信息
4)提供目标执行文件(.OBJ/.HEX)和列表文件(*.LST)
地址 机器码 源程序
ORG 2000H
2000H 78 30 MAIN: MOV R0,#30H
2002H E6 MOV A,@R0
…
伪指令
一、汇编语言指令类型
- 机器指令:指令系统中的全部指令。每条机器指令都有对应的机器代码,可以被CPU执行。
- 伪指令: 汇编控制指令,没有指令代码,只用于汇编过程,为汇编程序提供汇编信息。
宏汇编功能:将需要反复多次执行的程序段定义成一个宏指令名(宏定义)。编程时,可在程序中使用宏指令名来替代被定义的程序段(宏调用)。
宏定义过程:
宏指令名 MACRO 形式参数
… ;被定义的程序段
ENDM
宏调用过程:
…
宏指令名 实际参数
…
宏指令名 实际参数
伪指令 常用伪指令及功能:
1.起始指令 ORG nn
功能:定义程序或数据块的起始地址。指示此语句后面的程序或数据块以nn为起始地址,连续存放在程序存储器中。
指令地址 机器码 源程序
ORG 2000H
2000H 78 30 MAIN: MOV R0,#30H
2002H E6 MOV A,@R0
…
ORG 3000H
3000H 23 TAB: DB 23H,100&#