文档介绍:指令系统与汇编语言程序设计
指令和助记符
指令本身是一组二进制数代码,为了便于
记忆,将这些代码用具有一定含义的指令助记
符来表示,助记符一般采用英文单词的缩写。
例:
指令代码助记符功能
740A MOV A,#0AH 将十六进制数0AH放
入累加器A中
指令的字节数
一条指令由操作码和操作数组成。操作码
指明执行什么操作,例如数的传送、加法、减
法等。操作数则表示这条指令所完成的操作对
象,即是对谁进行操作。操作数可以是一个数,
或者是一个数所在的内存地址。指令由指令字
节组成,不同的指令,指令的字节数不相同。
有单字节指令、双字节指令和三字节指令。
寻址方式
1 寄存器寻址
2 直接寻址
3 立即寻址
4 寄存器间接寻址
5 变址寻址
6 相对寻址
7 位寻址
寄存器寻址
以通用寄存器的内容为操作数的寻址方式。
通用寄存器为A、B 、DPTR以及R0~R7 。
例:
CLR A ;A←0
INC DPTR ;DPTR←DPTR+1
ADD R5,# 20H ;R5←#20H+R5
直接寻址
指令中直接给出操作数地址的寻址方式,
能进行直接寻址的存储空间有SFR寄存器和内
部数据RAM。
例:
MOV PSW,# 20H ;PSW←#20H
MOV A,30H ;A←(30H)
立即寻址
指令中直接给出操作数的寻址方式。立即操
作数用前面加有#号的8位或16位数来表示。
例:
MOV A,# 60H ;A←#60H
MOV DPTR,# 3400H ;DPTR←#3400H
MOV 30H,# 40H ;30H单元←#40H
寄存器间接寻址
以寄存器中内容为地址,以该地址中内容为操
作数的寻址方式。间接寻址的存储器空间包括内
部数据RAM和外部数据RAM。能用于寄存器间接
寻址的寄存器有R0,R1和DPTR。在寄存器名称
前面加一个符号@来表示寄存器间接寻址。
例:
MOV A , ***@R0 ;A ←((R0))
MOVX ***@DPTR,A ;外部RAM(DPTR)←A
片内RAM
30H
R0
34H
A
30H
34H
MOV A ,***@R0 操作示意图
片外RAM
2000H
DPTR
30H
A
2000H
30H
MOVX ***@DPTR,A 操作示意图