单片机汇编语言指令查表.docx
- 文档编号:30728344
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:24
- 大小:21.64KB
单片机汇编语言指令查表.docx
《单片机汇编语言指令查表.docx》由会员分享,可在线阅读,更多相关《单片机汇编语言指令查表.docx(24页珍藏版)》请在冰豆网上搜索。
单片机汇编语言指令查表
目录
表1寻址方式与相应的寻址空间2
1.1数据传送指令MOV2
1.2程序存储器取数据指令MOVX,MOVC3
1.3数据交换指令XCH,XCHD,SWAP3
1.4逻辑运算指令ANL,ORL(按位进行)4
续表1.4逻辑运算指令XRLCLRCPLRLRLCRRRRC(按位进行)5
1.5控制转移指令LJMPAJMPSJMPJMPJZJNZCJNE6
续表1.5控制转移指令DJNZLCALLACALLRETRETINOP7
1.6布尔处理(位操作)指令CLRSETBCPLANLORL8
续表1.6布尔处理(位操作)指令JCJNCJBJNBJBC9
1.7堆栈操作指令PUSHPOP10
2.MCS-51系列单片机算术运算指令表ADDADDCSUBBINCDECMULDIVDA10
表1寻址方式与相应的寻址空间
方式
利用的变量
使用的空间
寄存器
R0∽R7,A,B,CY,DPTR
直接寻址
direct
片内RAM低128字节特殊功能寄存器SFR
寄存器间址
@Ro,@R1SP@R0,@R1,@DPTR
片内RAM片外RAM
立即数
#data
程序存储器
基址加变址
@A+PC@A+DPTR
程序存储器
相对寻址
PC+rel
程序存储器
位寻址
bit
片内RAM的20H∽2FH部分SFR
目的操作数
汇编指令
机器码
功能
字节数
机器周期
A累加器
立即数送A
MOVA,#data
74Hdata
data传至A
2
1
内部RAM或SFR内容送A
MOVA,direct
E5Hdirect
(direct)传至A
2
1
寄存器内容送A
MOVA,Rn(n=0∽7)
E8H∽EFH11101rrr
(Rn)传至A
1
1
内部RAM内容送A
MOVA,@Ri(i=0,1)
1110011i
((Ri))传至A
1
1
Direct
内部RAM或SFR
立即数送内部RAM或SFR
MOVdirect,#data
75Hdirectdata
data传至direct
3
2
内部RAM和SFR直接直接传送
MOVdirect,direct
85Hdirectdirect
(direct)传至direct
3
2
累加器内容送内部RAM或SFR
MOVdirect,A
F5Hdirect
(A)传至direct
2
1
寄存器内容送内部RAM或SFR
MOVdirect,Rn(n=0∽7)
10001rrrdirect
(Rn)传至direct
2
2
内部RAM内容送内部RAM或SFR
MOVdirect,@Ri(i=0,1)
1000011idirect
((Ri))传至direct
2
2
Rn寄存器
立即数送寄存器
MOVRn,#data(n=0∽7)
01111rrrdata
data传至Rn
2
1
内部RAM或SFR内容送寄存器
MOVRn,direct(n=0∽7)
10101rrrdirect
(direct)传至Rn
2
2
累加器内容送寄存器
MOVRn,A(n=0∽7)
11111rrr
(A)传至Rn
1
2
@Ri内部RAM
立即数送内部RAM
MOV@Ri,#data(i=0,1)
0111011idata
data传至(Ri)
2
1
内部RAM或SFR内容送内部RAM
MOV@Ri,direct(i=0,1)
1010011idirect
(direct)传至(Ri)
2
2
累加器内容送内部RAM
MOV@Ri,A(i=0,1)
1111011i
(A)传至(Ri)
1
1
DPTR
16位立即数传送指令
MOVDPTR,#data16
90HdataHdataL
data16传至DPTR
3
2
1.1数据传送指令MOV
1.2程序存储器取数据指令MOVX,MOVC
目的操作数
汇编指令
机器码
功能
字节数
机器周期
A
外部数据存储器内容送A
MOVXA,@Ri(i=0,1)
E2HE3H
((Ri))传至A
1
2
A
外部数据存储器内容送A
MOVXA,@DPTR
E0H
((DPTR))传至A
1
2
@Ri
累加器内容送外部数据存储器
MOVX@Ri,A(i=0,1)
F2H,F3H
A传至(Ri)
1
2
DPTR
累加器内容送外部数据存储器
MOVX@DPTR,A
F0H
A传至(DPTR)
1
2
A
以PC为基址寄存器加变址寻址
MOVCA,@A+PC
83H
((A)+(PC))传至A
1
2
A
以DPTR为基址寄存器加变址寻址
MOVCA,@A+DPTR
93H
((A)+(DPTR))传至A
1
2
1.3数据交换指令XCH,XCHD,SWAP
目的操作数
指令
机器码
功能
字节数
机器周期
A
内部RAM或SFR内容与累加器内容互换
XCHA,direct
C5Hdirect
(A)←(direct)
2
1
A
寄存器内容与累加器内容互换
XCHA,Rn(n=1-7)
11001rrr
(A)←(Rn)
1
1
A
内部RAM内容与累加器内容互换
XCHA,@Ri(i=0,1)
1100011i
(A)←((Ri))
1
1
A
内部RAM低4位内容与累加器低4位内容互换
XCHDA,@Ri(i=0,1)
1101011i
(A)0∽3←((Ri))0∽3
1
1
A
累加器高4位与低4位交换
SWAPA
C4H
(A)0∽3←(A)4∽7
1
1
1.4逻辑运算指令ANL,ORL(按位进行)
目的操作数
指令
机器码
功能
字节数
机器周期
逻辑与ANL
A内容∧立即数
ANLA,#data
54H
A←(A)∧#data
2
1
A内容∧内部RAM或SFR
当direct为端口地址P0∽P3时,操作数由端口锁存器读入。
ANLA,direct
55H
A←(A)∧(direct)
2
1
A内容∧寄存器内容
ANLA,Rn(n=0∽7)
58H∽5FH
A←(A)∧(Rn)
1
1
A内容∧内部RAM
ANLA,@Ri(i=0,1)
56H,57H
A←(A)∧((Ri))
1
1
内部RAM或SFR内容∧A内容
当direct为端口地址P0∽P3时,这是一条“读-修改-写”指令,可用累加器A随时修改端口锁存器内容。
ANLdirect,A
52H
direct←(direct)∧(A)
2
1
内部RAM或SFR内容∧立即数
当direct为端口地址P0∽P3时,这是一条“读-修改-写”指令,可令立即数修改端口锁存器内容。
ANLdirect,#data
53H
direct←(direct)∧#data
3
2
逻辑或ORL
A内容∨立即数
ORLA,#data
44H
A←(A)∨#data
2
1
A内容∨内部RAM或SFR
ORLA,direct
45H
A←(A)∨(direct)
2
1
A内容∨寄存器内容
ORLA,Rn(n=0∽7)
48H∽4FH
A←(A)∨(Rn)
1
1
A内容∨内部RAM
ORLA,@Ri(i=0,1)
46H,47H
A←(A)∨((Ri))
1
1
内部RAM或SFR内容∨A内容
当direct为端口地址P0∽P3时,则为“读-修改-写”指令。
ORLdirect,A
42H
direct←(direct)∨(A)
2
1
内部RAM或SFR内容∨立即数
当direct为端口地址P0∽P3时,则为“读-修改-写”指令。
ORLdirect,#data
43H
direct←(direct)∨#data
3
2
续表1.4逻辑运算指令XRLCLRCPLRLRLCRRRRC(按位进行)
目的操作数
指令
机器码
功能
字节数
机器周期
逻辑异或XRL
A内容⊕立即数
XRLA,#data
64H
A←(A)⊕#data
2
1
A内容⊕内部RAM或SFR
XRLA,direct
65H
A←(A)⊕(direct)
2
1
A内容⊕寄存器内容
XRLA,Rn(n=0∽7)
68H∽6FH
A←(A)⊕(Rn)
1
1
A内容⊕内部RAM
XRLA,@Ri(i=0,1)
66H,67H
A←(A)⊕((Ri))
1
1
内部RAM或SFR内容⊕A内容
当direct为端口地址P0∽P3时,这是一条“读-修改-写”指令。
XRLdirect,A
62H
direct←(direct)⊕(A)
2
1
内部RAM或SFR内容⊕立即数
当direct为端口地址P0∽P3时,这是一条“读-修改-写”指令。
XRLdirect,#data
63H
direct←(direct)⊕#data
3
2
累加器A清零
CLRA
E4H
A←00H
1
1
累加器内容按位取反
CPLA
F4H
A←(A的反码)
1
1
移位指令
A内容循环左移一位
RLA
23H
原A7移到A0
1
1
A内容+CY循环左移一位
RLCA
33H
1
1
A内容循环右移一位
RRA
03H
1
1
A内容+CY循环右移一位
RRCA
13H
1
1
1.5控制转移指令LJMPAJMPSJMPJMPJZJNZCJNE
目的操作数
指令
机器码
功能
字节数
机器周期
无条件转移
长转移
LJMPAddr16
02HAddr16
PC←Addr16实现程序转移
3
1
绝对转移
AJMPAddr11
Addr10∽800001,
Addr7∽0
PC←(PC)+2
PC10∽0←Addr10∽0,PC15∽11不变
2
1
短转移
SJMPrel
80Hrel偏移量
PC←(PC)+2+rel
2
1
间接长转移
JMP@A+DPTR
73H
PC←(A)+(DPTR)
1
1
1、rel偏移量是一个8位带符号补码数,范围为-128-+127,为正时向前转移,为负则向后转移。
2、JMP指令:
累加器A中8位无符号数与DPTR的16位数相加,和送PC,控制程序转移。
指令不改变A和DPTR的内容。
条件转移
A为零则转移
JZrel
60Hrel
PC←(PC)+2
若(A)=0,则PC←(PC)+rel。
若(A)≠0,顺序执行
2
2
A非零则转移
JNZrel
70Hrel
PC←(PC)+2
若(A)≠0,则PC←(PC)+rel。
若(A)=0,顺序执行
2
2
比较转移
A内容与立即数比较
CJNEA,#data,rel
不相等则转移
B4Hdatarel
PC←(PC)+3
若(A)>#data,则PC←(PC)+rel,CY=0。
若(A)<#data,则PC←(PC)+rel,CY=1。
若(A)=#data,顺序执行,CY=0。
3
2
A内容与内部RAM或SFR内容比较
CJNEA,direct,rel
不相等则转移
B5Hdirectrel
PC←(PC)+3
若(A)>direct,则PC←(PC)+rel,CY=0。
若(A)<direct,则PC←(PC)+rel,CY=1。
若(A)=direct,顺序执行,CY=0。
3
2
寄存器内容与立即数比较
CJNERn,#data,rel
(n=0∽7)
不相等则转移
10111rrr即B8H∽BFH
datarel
PC←(PC)+3
若(Rn)>#data,则PC←(PC)+rel,CY=0。
若(Rn)<#data,则PC←(PC)+rel,CY=1。
若(Rn)=#data,顺序执行,CY=0。
3
2
续表1.5控制转移指令DJNZLCALLACALLRETRETINOP
目的操作数
指令
机器码
功能
字节数
机器周期
比较转移
内部RAM内容与立即数比较
CJNE@Ri,#data,rel
(i=0,1)
1011011i即B6H,B7H
datarel
不相等则转移
PC←(PC)+3
若(Ri)>#data,则PC←(PC)+rel,CY=0。
若(Ri)<#data,则PC←(PC)+rel,CY=1。
若(Ri)=#data,顺序执行,CY=0。
3
2
寄存器内容减1
DJNZRn,rel(n=0-7)
11011rrrrel
寄存器内容-1≠0则转移
Rn←(Rn)-1
PC←(PC)+2
若(Rn)≠0,则PC←(PC)+rel。
若(Rn)=0,顺序执行
2
2
内部RAM或SFR内容减1
DJNZdirect,rel
D5Hdirectrel
内部RAM或SFR内容-1≠0则转移
direct←(direct)-1
PC←(PC)+3
若(direct)≠0,则PC←(PC)+rel。
若(direct)=0,顺序执行
3
2
子程序调用
长调用
LCALLAddr16
12HAddr16
PC←(PC)+3
SP←(SP)+1,SP←PC7∽0
SP←(SP)+1,SP←PC15∽8
PC←指令中Addr16
3
2
绝对调用
ACALLAddr11
Addr10∽810001
Addr7∽0
PC←(PC)+2
SP←(SP)+1,SP←PC7∽0
SP←(SP)+1,SP←PC15∽8
PC10∽0←指令中a10∽0
2
2
返回指令
子程序返回
RET
0010001022H
PC15∽8←((SP)),SP←(SP)-1
PC7∽0←((SP)),SP←(SP)-1
1
2
中断返回
RETI
0011001032H
PC15∽8←((SP)),SP←(SP)-1
PC7∽0←((SP)),SP←(SP)-1
1
2
空操作
可用于延时、等待
NOP
0000000000H
PC←(PC)+1
1
1
1.6布尔处理(位操作)指令CLRSETBCPLANLORL
目的操作数
指令
机器码
功能
字节数
机器
周期
位传送
CY←直接寻址位
MOVC,bit
A2Hbit
CY←(bit)
2
1
直接寻址位←CY
MOVbit,C
92Hbit
(bit)←CY
直接寻址位是P0∽P3中某一位时,它是“读-修改-写”指令。
2
1
清零
清进位
CLRC
C3H
CY←0
1
1
清直接寻址位
CLRbit
C2Hbit
bit←0
2
1
置位
置位进位
SETBC
D3H
CY←1
1
1
置位直接寻址位
SETBbit
D2Hbit
bit←1
2
1
取反
进位标志取反
CPLC
B3H
CY←CY的反码
1
1
直接寻址位取反
CPLbit
B2Hbit
bit←bit的反码
2
1
逻辑与
ANLC,bit
82H
CY←(CY)∧(bit)
2
2
ANLC,/bit
B0Hbit
CY←(CY)∧(bit的反)
2
2
逻辑或
ORLC,bit
72Hbit
CY←(CY)∨(bit)
2
2
ORLC,/bit
A0Hbit
CY←(CY)∨(bit的反)
2
2
1、指令中位地址若为0∽127,该位应在内部RAM中(20H∽2fH单元);位地址若为128∽255,该位应在特殊功能寄存器区。
2、bit前的斜杠“/”表示对bit取反,并不改变(bit)内容。
续表1.6布尔处理(位操作)指令JCJNCJBJNBJBC
目的操作数
指令
机器码
功能
字节数
机器
周期
条件
转移
进位标志位转移
JCrel
40Hrel
PC←(PC)+2
若(CY)=1,则PC←(PC)+rel。
若(CY)=0,顺序执行。
2
2
进位标志为零转移
JNCrel
50Hrel
PC←(PC)+2
若(CY)=0,则PC←(PC)+rel。
若(CY)=1,顺序执行。
2
2
直接寻址位置位转移
JBbit,rel
20Hbitrel
PC←(PC)+3
若(bit)=1,则PC←(PC)+rel。
若(bit)=0,顺序执行。
3
2
直接寻址位为零转移
JNBbit,rel
30Hbitrel
PC←(PC)+3
若(bit)=0,则PC←(PC)+rel。
若(bit)=1,顺序执行。
3
2
直接寻址位置位转移,并将该位复位
JBCbit,rel
10Hbitrel
PC←(PC)+3
若(bit)=1,则PC←(PC)+rel,且(bit)←0。
若(bit)=0,顺序执行。
3
2
1.7堆栈操作指令PUSHPOP
类型
汇编指令
机器码
功能
字节数
机器周期
进栈
PUSHdirect
C0Hdirect
(SP)+1传至SP
(direct)传至(SP)
2
2
出栈
POPdirect
DoHdirect
((SP))传至direct
(SP)-1传至SP
2
2
2.MCS-51系列单片机算术运算指令表ADDADDCSUBBINCDECMULDIVDA
类型
汇编指令
机器码
功能
字节数
机器周期
不带进位加法指令ADD
A内容+立即数
ADDA,#data
24Hdata
(A)+data传至A
2
1
A内容+内部RAM或SFR
ADDA,direct
25Hdata
(A)+(direct)传至A
2
1
A内容+寄存器内容
ADDA,Rn(n=0-7)
00101rrr
(A)+Rn)传至A
1
1
A内容+内部RAM内容
ADDA,@Ri(i=0,1)
0010011i
(A)+((Ri))传至A
1
1
1、相加过程中,若位3和位7向高位有进位,则半进位标志AC和进位标志CY将置位,否则就复位。
2、无符号数相加:
和数大于255,则CY=1,否则CY=0。
3、有符号数补码相加:
和数超出单字节表示范围(-128∽127)则溢出标志OV=1,表示有溢出,否则OV=0。
带进位加法指令
ADDC
A内容+立即数+CY
ADDCA,#data
34Hdata
(A)+data+CY传至A
2
1
A内容+内部RAM或SFR+CY
ADDCA.direct
35Hdirect
(A)+data+CY传至A
2
1
A内容+寄存器内容+CY
ADDCA,Rn(n=0-7)
00111rrr
(A)+(Rn)+CY传至A
1
1
A内容+内部RAM内容+CY
ADDCA,@Ri(i=0,1)
0011011i
(A)+((Ri))+CY传至A
1
1
带进位加法指令,多用于多字节加法运算。
减法指令SUBB
A-立即数-借位标志
SUBBA,#data
94Hdata
(A)-data-CY传至A
2
2
A-内部RAM-借位标志
SUBBA,direct
95Hdirect
(A)-(direct)-CY传至A
2
1
A-寄存器-借位标志
SUBBA,Rn(n=0-7)
10011rrr
(A)-(Rn)-CY传至A
1
1
A-内部RAM-借位标志
SUBBA,@Ri(i=0,1)
1001011i
(A)-((Ri))-CY传至A
1
1
1、带借位减法指令,当累加器A的内容减去一个字节操作数、借位标志时,若够减,则CY-0;否则CY=1。
2、借助CY标志,可实现多字节减法运算。
3、当位3发生借位时,AC=1,否则AC=0;当位7和位6不同时发生借位时,OV=1,否则OV=0。
加1指令INC
累加器内容+1
INCA
04H
(A)+1传至A
1
1
内部RAM或SFR内容+1
INCdirect
05Hdirect
(direct)+1传至A
2
1
寄存器内容+1
INCRn(n=0-7)
00001H
(Rn)+1传至A
1
1
内部RAM内容+1
INC@Ri(i=0,1)
0000011i
((Ri))+1传至A
1
1
数据指针DPTR内容+1
INCDPTR
A3H
(DPTR)+1传至A
1
2
不影响任何标志位。
减1指令DEC
累加器内容-1
DECA
14H
(A)-1传至A
1
1
内部RAM或SFR内容-1
DECdirect
15Hdirect
(direct)-1传至A
2
1
寄存器内容-1
DECRn(n=0-7)
00011rrr
(Rn)-1传至A
1
1
内部RAM内容-1
DEC@Ri(i=0,1)
0001011i
((Ri))-1传至A
1
1
1、减量指令,将指定操作数减1,若原来为00H,减1后将下溢为FFH,不影响标志位。
2、该指令用于修改端口P0-P3时,用作原始口数据的值将从口锁存器读入,而不是从端口引脚读入。
乘法指令MUL
(8位无符号数)
CY=0
积的高8位存于B,低8位存于A。
若积<255,则OV=0,否则OV=1。
MULAB
A4H
(A)x(B)传至A
1
4
除法指令DIV
(8位无符号数)
CY=0,OV=0。
商在A中,余数在B中。
当除数为0时,OV=1,说明除法有溢出。
DIVAB
84H
(A)除以(B)传至A(商)B(余数)
1
4
调整指令DA
十进制调整
DAA
D4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 汇编语言 指令
![提示](https://static.bdocx.com/images/bang_tan.gif)