当前位置:
文档之家› 3-1 单片机指令常用的表示方式和寻址方式
3-1 单片机指令常用的表示方式和寻址方式
· · ·
rel是有符号的 8位二进制数, 用补码表示。 相对偏移在+ 127~-128字 节单元之间。
2000H+2H+28H
2000H SJMP 28H 2002H
· · ·
目的 地址
源地 址
转移指令本身字节数
第三章 MCS-51 单片机指令系统
学习目的 1.了解指令的形式,掌握MCS-51汇编语言指令的格 式。 2.了解掌握指令系统的分类,掌握MCS-51单片机指 令的寻址方式。 3.掌握指令系统中各指令的使用及应用 重点难点 1.寻址方式 2.指令系统
3-1 单片机指令常用的 表示方式和寻址方式
一 指令的表示方式 MCS-51单片机主要有两种指令形式: 机器语言指令 汇编语言指令。
速递快信
目的地
MOV A,#30H
30H
A
2. 寄存器寻址
寄存器寻址是指令中指定寄存器的内容作为操作 数的寻址方式。
目的地
寄存器
MOV A,R1
R0~R7 A B DPTR
3.直接寻址
• 直接寻址是指令直接给出操作数所在单元的地址的寻址方 式。指令中操作数部分给出直接地址,用direct表示。
目的地
变址间接寻址是将指令中基地址(基址寄存 器)和偏移量地址(变址寄存器)的内容相加形 成真正的操作数地址。
程序存储器 …. 1000H+30H 65H …. 1030H
PC DPTR
基址寄存器 1000H
变址寄存器 30H 65H
A
7.相对寻址
• 以当前的PC值加上指令 程序存储器 中给出的相对偏移量 rel 而形成转移目的地 址的寻址方式。 202AH
4.注释
注释不属于汇编语句的功能部分,它只 是对语句的说明。注释字段可以增加程序的 可读性,有助于编程人员的阅读和维护。注 释字段必须以分号“;”开头,长度不限可 以换行接着书写,但换行时应注意在开头使 用分号“;”。
二 指令的描述中经常用到一些特殊符号
Rn Ri direct #data: #data16 addr16: addr11 rel bit: / 工作寄存器R0~R7, 即n=0~7。 寄存器R0、 R1,即i=0、1。 8 位内部RAM单元的地址 指令中的8 位常数。 指令中的16位常数。 16位的目的地址 11位的目的地址 8位带符号的偏移量字节 内部数据RAM或SFR的可直接寻址位。 位操作数的前缀,表示对该位取反。
1.标号
标号是语句地址的标志符号,代表该语句指令代 码第一个字节的地址。 (1)标号由1~8个ASCII字符组成,且第一个字 符必须是字母,其余字符可以是字母、数字或其 他特定字符。 (2)不能使用该汇编语言已经定义了的符号作 为标号。如指令助记符、寄存器符号名称等。 (3)标号后必须跟冒号。
2.操作码
XXH
MOV A,3AH3AH
程序存储器 内部RAM … 操作码 …
PC
PC+1
11100101 00111010
3AH
39H
直接地址
100111111 …
A 10011111
4.位寻址
位寻址适用于可以进行单独位操作的指令,指令中直 接给出位地址寻找位操作数。参与操作的数据是1bit而不 是1B。位地址用bit表示,以区别字节地址direct。
• •
MOV A,#0AH ADD A,#14H
74H 0AH 24H 14H
8051汇编语言指令
• 指令组成:
操作码助记符 操作数
括号内的部分是可选项。 每个字段之间要用分隔符 分隔,可以用作分隔符的 符号有空格、冒号、逗号、 分号等。
指令格式:
[标号:]操作码[目的操作数][,源操作数];[注释] LOOP: MOV A, 3AH ; (A)←(3AH)
1.机器语言指令 用二进制代码表示的指令称为机器语言指令, 也称机器码。 例如:“累加器A加1”指令用二进制数表示时,是 “00000100”,在程序存储器中占用一个字节单元。
2.汇编语言指令
用容易记忆的缩写符号表示机器语言指令就 是汇编语言指令。 例如,“ A 加 B” 用英语写出来是“ Add B to A” , 缩写成“ADD A,B”。这个“ADD A,B”就是汇编语 言指令。MCS-51单片机的开发商约定:“ADD A,B” 与 25F0H 对应。我们将“ ADD” 缩写符号称为“助记 符”。 编写机器语言程序实质上就是用汇编语言编 写程序。 比较: 汇编语言指令 机器语言指令
操作码用于规定语句执行的操作。它是汇编 语句中唯一不能空缺的部分,也是语句的 核心,它用指令助记符表示。
3.操作数
操作数用于给指令的操作提供数据或地址。 在一条汇编语句中操作数可能是空缺的,也可能包 括一项,还可能包括两项或三项。当有多个操作数 时,各操作数间以逗号分隔。
(1)工作寄存器名。 (2)特殊功能寄存器名。 (3)标号名。 (4)常数。 (5)符号“$”,表示程序计数器PC的当前值。 (6)表达式。
(X )
((X)) ← <=>
X中的内容。
由 X寻址的单元中的内容。 表示数据的传送方向。 表示数据交换。
三 MCS-51指令系统的寻址方式
我的信在她 那!找信去!
①
注:找信是寻找信的“地 ② 址”!
寻址方式,就是指如 何找到存放被操作数 据的位置(地址)的 方法。
1.立即数寻址
立即数寻址是由指令直接给出操作数的寻址方式。 #为立即数的标识符。
程序存储器
PC PC+1 10100010 00110111 操 作 码 内部RAM位地址空间
37 36 35 34 33 26H 0
32
31 30
MOV C,37H
PSW
0 Cy
AC FO RSI RS0 OV
P
5.寄存器间接寻址
• 指令操作数的地址事先存放在某个寄存器中,由该 寄存器的内容指定操作数地址的寻址方式,称为寄 存器间接寻址,@为间接寻址指示符。
目的地
信在XXH中
XXH 可寻址内部 RAM128B、 外部RAM
寄存器
MOV A,@R1
R0、R1 DPTR
寻址DPTR
MOV A,@R0
程序存储器
…. 65H 11100110 操作码 …. ~ ~ …. 47H ~ ~ …. 47H A 内部RAM
PC
R0
65H
6.变址寻址(基址寄存器+变址寄存器 间接寻址)