【经典】第三章 单片机指令系统 3-1 指令格式
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例1:MOV A,30H;A (30H)
A 65H
31H 7FH 30H 65H
例2:MOV PSW,#20H;PSW #20H PSW为直接寻址寄存器的符号地址。
思考题:直接寻址方式指令和立即寻址方式指令的形 式有什么不同?
三.寄存器寻址方式
以通用寄存器的内容为操作数的寻址方式。
例: MOV A,R0 ;AR0
rel————箭8位头带左符边号的的内偏容移被字箭节头,简右称边偏的移内量容。所代替。
DPTR——数据指针,可用作16位地址寄存器。 bit——内部RAM或专用寄存器中的直接寻址位。
3-2 指令寻址方式
3-2-1 寻址方式和操作数类型 二一、、操寻作址数方类式型
是位指(b指)─令中位确寻定址操区作中数的的一形位式二。进制数据 字节(B)─ 8位二进制数据 字(W)─ 16位双字节数据
E8H 7E 32H 75 40 64H
11101000 01111110 01110101 00110010 01000000
01100100
三. 指令描述符号介绍
在介绍指令之前,先把描述指令的一些符号的 意义作些介绍。
AR—n———累当加前器工。作寄存器区中的8个寄存器R.0~R7(n=0~7)。 BR—i———专当用前寄工存作器寄,存用器于区乘中法的和2个除工法作指寄令存中器。R.0、R1(i=0,1)。 Cdi—rec—t—进—位8标位志的或内进部位数位据,存或储布器尔单处元理中机的中地的址累。加器。 @#d—at—a—间—址包寄含存在器指或令基中址的寄8存位器常的数前。缀, 如@Ri,@DPTR。 /#—da—ta1位6—操—作包数含的在前指缀令,中表的示1对6位该常位数操。作数取反,如/bit。 ×ad—dr—16×—单—元16中位的目内的容地。址。 (×ad)d—r11——由—×11寻位址目的的单地元址中。的内容。
设指令执行前 A=20H,R0=40H,地址为40H存储器单
元内容如图。执行指令后,
R0 40H 41H 67H
A= 30H?,R0 = 40?H ,(40H)= 30?H
40H 30H
五.变址寻址方式 由基址寄存器PC或DPTR中内容加上偏移量之和形成
操作数的地址的寻址方式。偏移量由累加器A提供。
对位地址中的内容作位操作的寻址方式。它其实是 一种直接寻址方式。
例: MOV C,40H ;Cy(位地址40H)
设指令执行前 Cy=1,位地址40H存储器单元如上图, 执行指令后,Cy= 0?
七、相对寻址
以当前程序计数器PC的内容为基础,加指令给出的一 偏移量形成新的PC值的寻址方式。
例:SJMP 06H;PC PC+2+06H
3.操作数:指令操作对象。A包N括L_数_a据nd 、logic与逻辑运算 地址、寄存器名及约定符X号R。L__exclusive or异或运算
MUL__Multiply乘法
4.注释行:说明指令在程序R中R的__作rot用ate。right右循环
操作码和操作数是指令主S体JM。P__short jump短跳转
第三章 单片机指令系统
3-1 指令格式 3-2 指令寻址方式 3-3 MCS-51指令系统
3-1 指令格式
一. 汇编语言指令格式 [标号:]操作码 操作数1,操作数2[;注释]
例:LOOP: MOV A,#40H
;取参数
1.标号:指令的符号地址。MOV__move传送
2.操作码:指明指令功能。XCH__exchange交换
假设该指令在程序存储器2000H(即PC=2000H),
则执行指令后,
PC= 2?008H
程序的执行过程 如右图所示。
2000H SJMP 06H
PC 2000 2
+
பைடு நூலகம்
即:程序转移到
2008H处执行。
2008H
PC 2008
3-3 MCS-51指令系统
指令按功能可分为如下几类:
数据传送、算术运算类、逻辑运算、程序转移、子程 序调用及返回、位操作指令。
3-2-2 寻址方式 一.立即寻址方式
指令中给出实际操作数据(立即数)。
举例:
8位立即数: MOV A,#40H
;A40H
16位立即数: MOV DPTR,#2100H ;DPTR2100H
二.直接寻址方式 指令中直接给出操作数地址的寻址方式,能直接
寻址的存储空间为内部RAM和特殊功能寄存器(SFR)。
例: MOVC A,@A+DPTR ;A(A+DPTR)
设指令执行前 A=09H,DPTR=2000H,存储器单元内容
如图所示。执行指令后,A= 12?H
位寻址区 位地址号
DPTR= 2?000H
2280H08H 01108090H10 47H-40H
六.位寻址方式
2290H09H 1101120H111 4FH-48H
RET__return 子程序返回
二. 机器语言指令格式
操作码 [操作数1] [操作数2] 分为单字节、双字节和三字节指令。
指令中操作码和操作数是指令主体,称为指令可 执行部分,附录指令表中可查出对应指令代码。 举例:
汇编语言:
机器语言:
MOV A,R0 MOV R6,#32H MOV 40H,#64H
010010 0000
设指令执行前 A=20H,R0=40H, A
执行指令后,A= 40H ?,R0= 40H?
0100 0000
R0
四.寄存器间接寻址方式
以寄存器中内容为地址,以该地址中内容为操作数 的寻址方式。存放地址的寄存器称为间址寄存器或数 据指针,包括R0,R1,DPTR,SP等。
例: MOV A,@R0 ;A(R0)
指令格式: MOV 目的操作数,源操作数
寻址方式:立即寻址、直接寻址、寄存器寻址、寄存
器间址。
指令指机令器机码器:码:
MOV dAi,rR,nA ;(Ad←iRrn)←A
E8~FE5F dir
MOV dAi,rd,iRrne;ct(;diAr←)(←dRinrect) E5 d8i8r~ec8tF dir
3-3-1 数据传送指令
实现寄存器、存储器之间的数据传送。
一. 内部传送指令: 片内数据存储器数据传送。
二. 外部传送指令: 片外数据存储器数据传送。
三. 交换指令:
片内数据存储器数据传送。
四. 堆栈操作指令: 片内数据存储器数据传送。
五. 查表指令:
程序存储器数据传送。
一、内部传送指令:实现片内数据存储器中数据传送。