华东交通大学 单片机微机原理及应用基础教程第3章 汇编语言及其程序设计.ppt
文本预览下载声明
第3章 汇编语言及其程序设计;3.1 汇编语言及其指令格式 ;指令与指令系统
MCS-51的指令系统分为:
(1)数据传送类(29条)
(2)算术运算类(24条)
(3)逻辑运算类(24条)
(4)控制转移类(17条)
(5)位操作类(17条)
共111条指令;例如:MOV P1,#0FFH; 在MCS-51指令中,一般指令主要由操作码、目的操作数、源操作数组成。
(1)操作码指明执行什么性质和类型的操作。例如,数的传送、加法、减法等。
(2)目的操作数指定操作结果存放的地址。
(3)源操作数指明操作的对象或者是操作数所在的地址。;指令格式;3.1.3 汇编语言指令表常用符号说明;3.2 寻址方式;寻址方式分类;3.2.1 立即寻址 ;; 能进行直接寻址的存储空间有SFR寄存器和内部数据RAM。
例如:
MOV PSW,#20H;(PSW)←20H
PSW为直接寻址寄存器的符号地址
MOV A,40H ;(A)←(40H)
40H为直接给出的内部RAM的地址
;A;3.2.4 寄存器间接寻址;MOV A,@R0 执行示意图; 寄存器间接寻址:以寄存器中内容为地址,以该地址中内容为操作数的寻址方式。
间接寻址的存储器空间包括内部数据RAM和外部数据RAM。
能用于寄存器间接寻址的寄存器有R0,R1,DPTR ,SP。SP仅用于堆栈操作。;3.2.5 变址寻址 ;3.2.6 相对寻址 ;相对寻址;200AH;3.2.7 位寻址;3.3 单片机汇编语言指令体系 ;3.3.1 数据传送类指令;直接地址
direct;1.以A为目的操作数
MOV A,Rn ;(A)←(Rn)
MOV A,direct ;(A)←(direct)
MOV A,@Ri ;(A)←((Ri))
MOV A,#data ;(A)← #data;2.以Rn为目的操作数
MOV Rn,A ;(Rn) ← (A)
MOV Rn,direct ;(Rn) ←(direct)
MOV Rn,#data ;(Rn) ← #data;3.以直接地址为目的操作数
MOV direct,A ; (direct) ← (A)
MOV direct,Rn ; (direct) ← (Rn)
MOV direct2,direct1 ; (direct2)←(direct1)
MOV direct,@Ri ; (direct) ← ((Ri))
MOV direct,#data ; (direct) ← #data;4.以间接地址为目的操作数
MOV @Ri,A ;(Ri) ← (A)
MOV @Ri,direct ;(Ri) ←(direct)
MOV @Ri,#data ;(Ri) ← #data
例如:设(30H)=6FH,R1=40H,
执行:MOV @R1,30H
结果:(40H)=6FH。;5.以DPTR为目的操作数
MOV DPTR,#data16 ;(DPTR)← #data16
例如: 执行 MOV DPTR,#2000H
结果:(DPTR)= 2000H。 ;例:(30H)=40H,(40H)=10H,(P1)=0CAH
执行:
MOV R0,#30H
MOV A,@R0
MOV R1,A
MOV 30H,@R1
MOV @R1,P1
MOV P2,P1
问: (30H)=? (40H)=? (P1)=? (P2)=?
(R1)=? (R2)=? (A)=?;二、访问外部数据存储器的指令 ;例: 已知外部RAM (0203H)=0FFH,执行:
MOV DPTR,#0203H
MOVX A,@DPTR
MOV 30H,A
MOV A,#00H
MOVX @DPTR,A
问:(1)程序功能
(2)(DPTR)=?
(A)=?
(30H)=?
; MOV P2,#02H
MOV R0,#03H
MOVX A,@R0
MOV 30H,A
显示全部