--------------------------------
Author : ShawnDong
updateDate :2018.10.30
Blog : ShawnDong98.github.io
--------------------------------
汇编语言语句的种类和格式
- 汇编语言语句的种类
- 指令语句
- 伪指令语句:伪指令语句不由CPU执行, 只为汇编程序在汇编源程序时提供有关信息,如程序如何分段,有哪些逻辑段, 定义了哪些数据单元和数据, 内存单元如何分配等。
-
汇编语言语句的格式
MCS-51 汇编语言的四分段格式为: 标号字段 操作码 操作数字段 注释字段
操作数字段中美元$的使用:
$用于表示该转移指令操作码所在的地址。例如, 指令JNB F0, $与指令HERE:JNB F0,HERE是等价的。再如, HERE:SJMP HERE可写为:SJMP $。
- 伪指令
- 汇编起始地址命令ORG
- 汇编终止指令END
- 定义字节命令DB
ORG 2000H
DB 30H, 40H, 24, "C", "B"
汇编后,(2000H) = 30H, (2001H) = 40H, (2002H) = 18H(十进制数24), (2003H) = 43H(字符“C”的ASCII码), (2004H) = 42H(字符“B”的ASCII码)。
该组命令的功能是从指定单元开始定义(存储)若干个字节,十进制数自然数转换成十六进制数,字母按ASCII码存储。
- 定义数据字命令DW
ORG 2000H
DW 1246H, 7BH, 10
汇编后:(2000H)=12H, (2001H) = 46H; 第一个字:(2002H) = 00H, (2003H) = 7BH; 第二个字: (2004H) = 00H, (2005H) = 0AH。
DW的功能是从指定地址开始,在程序存储器的连续单元中定义16位的数据字
- 赋值命令EQU( = )
TEST EQU 2000H
类似宏定义
- 预留存储区域命令DS
ORG 1000H
TMP: DS 8
**DS的功能是从指定地址开始,定义一个存储区,以备源程序使用。存储区预留的存储单元由表达式的值决定。
- 赋值命令SET
MAX SET 2000
SET命令类似于EQU命令,不同的是SET指令定义过的符号可重复定义。
8.定义位地址命令BIT
X_ON BIT 60H;
X_OFF BIT P3.7;
BIT将一个位地址赋给指定的符号名,定义过的位符号名不能更改。
类似C51中的sbit
- 定义内部RAM的地址命令DATA
PORT1 DATA 40H
DATA用于将一个内部RAM的地址赋给指定的符号名。
- 定义外部RAM的地址命令XDATA
ORG 100H
DATE DB 5, 10
TIME XDATA DATE+5
XDATA用于将一个外部RAM的地址赋给指定的符号名
程序设计
XCH 是交换;MOV是赋值、覆盖。
CJNE: 比较前面两个数,如果不相等,则转移。
JC: 若(Cy)=1, 则转移。当高位输出(加法), 低位输入(减法),Cy = 1。
#0FFH: 当16进制的高位数大于9时,前面要加0。
- 利用程序设计一个5.5s的延时程序,给出主要程序结构,并给出该程序精确计时展开式。
指令周期:执行一条指令所需要的时间称为指令周期,它是以机器周期为单位的,指令不同,所需的机器周期也不同。
时钟周期:也称为振荡周期,一个时钟周期 =晶振的倒数。
MCS-51单片机的一个机器周期=6个状态周期=12个时钟周期。
MCS-51单片机的指令有单字节、双字节和三字节的,它们的指令周期不尽相同,一个单周期指令包含一个机器周期,即12个时钟周期
网友评论