单片机指令功能一览表.docx

上传人:b****3 文档编号:4001389 上传时间:2022-11-27 格式:DOCX 页数:8 大小:17.01KB
下载 相关 举报
单片机指令功能一览表.docx_第1页
第1页 / 共8页
单片机指令功能一览表.docx_第2页
第2页 / 共8页
单片机指令功能一览表.docx_第3页
第3页 / 共8页
单片机指令功能一览表.docx_第4页
第4页 / 共8页
单片机指令功能一览表.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

单片机指令功能一览表.docx

《单片机指令功能一览表.docx》由会员分享,可在线阅读,更多相关《单片机指令功能一览表.docx(8页珍藏版)》请在冰豆网上搜索。

单片机指令功能一览表.docx

单片机指令功能一览表

单片机指令功能一览表

助记符代码说明

MOVA,RnE8~EF寄存器A

MOVA,directE5dircet直接字节送A

MOVA,@RiER~E7间接RAM送A

MOVA,#data74data立即数送A

MOVRn,AF8~FFA送寄存器

MOVRn,dircetA8~AFdircet直接字节送寄存器

MOVRn,#data78~7Fdata立即数送寄存器

MOVdircet,AF5dircetA送直接字节

MOVdircet,Rn88~8Fdircet寄存器送直接字节

MOVdircet1,dircet285dircet1dircet2直接字节送直接字节

MOVdircet,@Ro86~87间接RAM送直接字节

MOVdircet,#data75dircetdata立即数送直接字节

MOV@Ri,AF6~F7A送间接RAM

MOV@Ri,#data76~77data直接字节送间接RAM

MOV@Ri,#data76~77data立即数送间接RAM

MOVDPTR,#data1690data15~816位常数送数据指针

data7~0

MOVCA,@A+DPTR93由((A)+(DPTR))寻址的程序存贮

器字节选A

MOVCA,@A+PC83由((A)+(PC));寻址的程序存贮器字节送A

MOVXA,@RiE2~E3送外部数据(8位地址)送A

MOVXA,@DPTRE0送外部数据(16位地址)送A

MOVX@Ri,AF2~F3A送外部数据(8位地址)

MOVX@DPTR,AF0A送外部数据(16位地址)

PUSHdircetC0dircet直接字节进栈,SP加1

POPdircetD0dircet直接字节退栈,SP减1

XCHA,RnC8~CF交换A和寄存器

XCHA,dircetC5dircet交换A和直接字节

XCHA,@RiC6~C7交换A和间接RAM

XCHA,@RiD6~D7交换A和间接RAM的低位

SWAPAC4

算术操作(A的二个半字节交换)

ADDA,Rn28~2F寄存器加到A

ADDA,dircet25dircet直接字节加到A

ADDA,@Ri26~27间接RAM加到A

ADDA,#data24data立即数加到A

ADDA,Rn38~3F寄存器和进位位加到A

ADDA,dircet35dircet直接字节和进位位加到A

ADDA,@Ri36~37间接字节和进位位加到A

ADDA,data34data立即数和进位位加到A

ADDA,Rn98~9FA减去寄存器和进位位

ADDA,dircet95dircetA减去直接字节和进位位

ADDA,@Ri36~37间接RAM和进位位加到A

ADDA,data34data立即数和进位位加到A

SUBBA,Rn98~9FA减去寄存器和进位位

SUBBA,dircet95dircetA减去直接字节和进位位

SUBBA,@Ri96~97A减去间接RAM和进位位

SUBBA,#data94dataA减去立即数和进位位

INCA04A加1

INCRn08~0F寄存器加1

INCdircet05dircet直接字节加1

INC@Ri06~07间接RAM加1

DECA14A减1

DECRn18~1F寄存器减1

DECdircet15dircet直接字节减1

DEC@Ri16~17间接RAM减1

INCDPTRA3数据指针加1

MULABA4A乘以B

DIVAB84A除以B

DAAD4A的十进制加法调整

逻辑操作

ANLA,Rn58~5F寄存器“与”到A

ANLA,dircet55dircet直接字节“与”到A

ANLA,@Ri56~57间接RAm“与”到A

ANLA,#data54data立即数“与”到A

ANLdircetA52dircetA“与”到直接字节

ANLdircet,#data53dircetdata立即数“与”到直接字节

ORLA,Rn48~4F寄存器“或”到A

ORLA,dircet45dircet直接字节“或”到A

ORLA,@Ri46~47间接RAM“或”到A

ORLA,#data44data立即数“或”到A

ORLdircet,A42dircetA“或”到直接字节

ORLdircet,#data43dircetdata立即数“或”到直接字节

XRLA,Rn68~6F寄存器“异或”到A

XRLA,dircet65dircet直接字节“异或”到A

XRLA,@Ri66~67间接RAM“异或”到A

XRLA,#data64data立即数“异或”到A

XRLdircetA62dircetA“异或”到直接字节

XRLdircet,#data63dircetdata立即数“异或”到直接字节

CLRAE4清零

CPLAF4A取反

RLA23A左环移

RLCA33A通过进位左环移

RRA03A右环移

RRCA13A通过进位右环移

控制程序转移

ACALLaddr11*1addr(a7~a0)绝对子程序调用

LCALLaddr1612addr(15~8)长子程序调用

addr(7~0)

RET22子程序调用返回

RETIaddr1132中断调用返回

AJMPaddr11△1addr(a7~a6)绝对转移

LJMPaddr1602addr(15~8)长转移

addr(7~0)

SJMPrel80rel短转移,相对转移

JMP@A+DPTR73相对于DPTR间接转移

JZrel60relA为零转移

JNZrel70relA为零转移

CJNEA,dircet,relB5dircetrel直接字节与A比较,不等则转移

CJNEA,#data,relB4datarel立即数与A比较,不等则转移

CJNEA,Rn,#data,relB8~BFdatarel立即数与寄存器比较,不等则转移

CJNE@Ri,#data,relB6~B7datarel立即数与间接RAM比较,不等则转移

DJNZRn,relD8~DFrel寄存器减1,不为零则转移

DJNZdircet,relB5dircetrel直接字节减1,不为零则转移

NOP00空操作

*=a10a9a8l

△=a10a9a80

布尔变量操作

CLRCC3清零进位

CLRbitC2清零直接位

SETBCD3置位进位

SETBbitD2置位直接位

CPLCB3进位取反

CPLbitB2直接位取反

ANLC,bit82dit直接数“与”到进位

ANLC,/bitB0直接位的反“与”到进位

ORLC,bit72bit直接位“或”到进位

ORLC,/bitA0bit直接位的反“或”到进位

MOVC,bitA2bit直接位送进位

MOVbit,C92bit进位送直接位

JCrel40rel进位位为1转移

JNCrel50rel进位位为0转移

JBbit,rel20bitrel直接位为1相对转移

JNBbit,rel30bitrel直接位为0相对转移

JBCbit,rel10bitrel直接位为1相对转移,然后清零该位

[1].循环移位指令(4条)

RLA;累加器A中的内容左移一位

RRA;累加器A中的内容右移一位

RLCA;累加器A中的内容连同进位位CY左移一位

RRCA;累加器A中的内容连同进位位CY右移一位

[2].累加器半字节交换指令(1条)

SWAPA;累加器中的内容高低半字节互换

[3].求反指令(1条)

CPLA;累加器中的内容按位取反

[4].清零指令(1条)

CLRA;0→(A),累加器中的内容清0

[5].逻辑与操作指令(6条)

ANLA,data;累加器A中的内容和直接地址单元中的内容执行与逻辑操作。

结果存在寄存器A中。

ANLdata,#data;直接地址单元中的内容和立即数执行与逻辑操作。

结果存在直接地址单元中。

ANLA,#data;累加器A的内容和立即数执行与逻辑操作。

结果存在累加器A中。

ANLA,Rn;累加器A的内容和寄存器Rn中的内容执行与逻辑操作。

结果存在累加器A中。

ANLdata,A;直接地址单元中的内容和累加器A的内容执行与逻辑操作。

结果存在直接地址单元中。

ANLA,@Ri;累加器A的内容和工作寄存器Ri指向的地址单元中的内容执行与逻辑操作。

结果存在累加器A中。

[6].逻辑或操作指令(6条)

这组指令的作用是将两个单元中的内容执行逻辑或操作。

如果直接地址是I/O地址,则为“读—修改—写”操作。

ORLA,data;累加器A中的内容和直接地址单元中的内容执行逻辑或操作。

结果存在寄存器A中。

ORLdata,#data;直接地址单元中的内容和立即数执行逻辑或操作。

结果存在直接地址单元中。

ORLA,#data;累加器A的内容和立即数执行逻辑或操作。

结果存在累加器A中。

ORLA,Rn;累加器A的内容和寄存器Rn中的内容执行逻辑或操作。

结果存在累加器A中。

ORLdata,A;直接地址单元中的内容和累加器A的内容执行逻辑或操作。

结果存在直接地址单元中。

ORLA,@Ri;累加器A的内容和工作寄存器Ri指向的地址单元中的内容执行逻辑或操作。

结果存在累加器A中。

[7].逻辑异或操作指令(6条)

XRLA,data;累加器A中的内容和直接地址单元中的内容执行逻辑异或操作。

结果存在寄存器A中。

XRLdata,#data;直接地址单元中的内容和立即数执行逻辑异或操作。

结果存在直接地址单元中。

XRLA,#data;累加器A的内容和立即数执行逻辑异或操作。

结果存在累加器A中。

XRLA,Rn;累加器A的内容和寄存器Rn中的内容执行逻辑异或操作。

结果存在累加器A中。

XRLdata,A;直接地址单元中的内容和累加器A的内容执行逻辑异或操作。

结果存在直接地址单元中。

XRLA,@Ri;累加器A的内容和工作寄存器Ri指向的地址单元中的内容执行逻辑异或操作。

结果存在累加器A中

控制转移类指令分析

[1].无条件转移指令(4条)

LJMPaddr16;addr16→(PC),给程序计数器赋予新值(16位地址)

AJMPaddr11;(PC)+2→(PC),addr11→(PC10-0)程序计数器赋予新值(11位地址),(PC15-11)不改变

SJMPrel;(PC)+2+rel→(PC)当前程序计数器先加上2再加上偏移量给程序计数器赋予新值

JMP@A+DPTR;(A)+(DPTR)→(PC),累加器所指向地址单元的值加上数据指针的值给程序计数器赋予新值

[2].条件转移指令(8条)

JZrel;A=0,(PC)+2+rel→(PC),累加器中的内容为0,则转移到偏移量所指向的地址,否则程序往下执行

JNZrel;A≠0,(PC)+2+rel→(PC),累加器中的内容不为0,则转移到偏移量所指向的地址,否则程序往下执行

CJNEA,data,rel;A≠(data),(PC)+3+rel→(PC),累加器中的内容不等于直接地址单元的内容,则转移到偏移量所指向的地址,否则程序往下执行

CJNEA,#data,rel;A≠#data,(PC)+3+rel→(PC),累加器中的内容不等于立即数,则转移到偏移量所指向的地址,否则程序往下执行

CJNERn,#data,rel;A≠#data,(PC)+3+rel→(PC),工作寄存器Rn中的内容不等于立即数,则转移到偏移量所指向的地址,否则程序往下执行

CJNE@Ri,#data,rel;A≠#data,(PC)+3+rel→(PC),工作寄存器Ri指向地址单元中的内容不等于立即数,则转移到偏移量所指向的地址,否则程序往下执行

布尔变量操作指令分析

[1].位传送指令(2条)

MOVC,bit;bit→CY,某位数据送CY

MOVbit,C;CY→bit,CY数据送某位

[2].位置位复位指令(4条)

CLRC;0→CY,清CY

CLRbit;0→bit,清某一位

SETBC;1→CY,置位CY

SETBbit;1→bit,置位某一位

[3].位运算指令(6条)

ANLC,bit;(CY)∧(bit)→CY

ANLC,/bit;(CY)∧()→CY

ORLC,bit;(CY)∨(bit)→CY

ORLC,/bit;(CY)∧()→CY

CPLC;()→CY

CPLbit;()→bir

[4].位控制转移指令(5)

JCrel;(CY)=1转移,(PC)+2+rel→PC,否则程序往下执行,(PC)+2→PC。

JNCrel;(CY)=0转移,(PC)+2+rel→PC,否则程序往下执行,(PC)+2→PC。

JBbit,rel;位状态为1转移。

JNBbit,rel;位状态为0转移。

JBCbit,rel;位状态为1转移,并使该位清“0”。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1