汇编语言51单片机111条指令怀旧锦集

本文回顾了51单片机的五大类指令,包括数据传送、算术运算、布尔操作、逻辑操作及控制转移,深入解析了单片机在嵌入式系统中的寻址方式和各种指令的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

单片机:单芯片形态,集成了微型计算机的各种功能状态,面向嵌入式的计算机应用系统。

单片机中的寻址方式为7种方式,分别为:立即寻址,直接寻址,位寻址,寄存器寻址,寄存器间接寻址,变址寻址,相对寻址。

数据传送类指令:

条目指令字节周期描述
1MOV A,Rn11寄存器内容送入累加器
2MOV A,direct21直接地址单元中的数据送入累加器
3MOV A,@Ri11间接RAM 中的数据送入累加器
4MOV A,#tata21立即数送入累加器
5MOV Rn,A11累加器内容送入寄存器
6MOV Rn,direct22直接地址单元中的数据送入寄存器
7MOV Rn,#data21立即数送入寄存器
8MOV direct,A21累加器内容送入直接地址单元
9MOV direct,Rn22寄存器内容送入直接地址单元
10MOV direct,direct32直接地址单元中的数据送入另一个直接地址单元
11MOV direct,@Ri22间接RAM 中的数据送入直接地址单元
12MOV direct,#data32立即数送入直接地址单元
13MOV @Ri,A11累加器内容送间接RAM 单元
14MOV @Ri,direct22直接地址单元数据送入间接RAM 单元
15MOV @RI,#data21立即数送入间接RAM 单元
16MOV DRTR,#dat163216位立即数送入地址寄存器
17MOVC A,@A+DPTR12以DPTR为基地址变址寻址单元中的数据送入累加器
18MOVC A,@A+PC12以PC为基地址变址寻址单元中的数据送入累加器
19MOVX A,@Ri12外部RAM(8 位地址)送入累加器
20MOVX A,@DPTR12外部RAM(16 位地址)送入累加器
21MOVX @Ri,A12累计器送外部RAM(8 位地址)
22MOVX @DPTR,A12累计器送外部RAM(16 位地址)
23PUSH direct22直接地址单元中的数据压入堆栈
24POP direct22弹栈送直接地址单元
25XCH A,Rn11寄存器与累加器交换
26XCH A,direct21直接地址单元与累加器交换
27XCH A,@Ri11间接RAM与累加器交换
28XCHD A,@Ri11间接RAM 的低半字节与累加器交换

算术运算类指令:

条目指令字节周期描述
1ADD A,Rn11寄存器内容加到累加器
2ADD A,direct21直接地址单元的内容加到累加器
3ADD A,@Ri11间接ROM 的内容加到累加器
4ADD A,#data21立即数加到累加器
5ADDC A,Rn11寄存器内容带进位加到累加器
6ADDC A,direct21直接地址单元的内容带进位加到累加器
7ADDC A,@Ri11间接ROM 的内容带进位加到累加器
8ADDC A,#data21立即数带进位加到累加器
9SUBB A,Rn11累加器带借位减寄存器内容
10SUBB A,direct21累加器带借位减直接地址单元的内容
11SUBB A,@Ri11累加器带借位减间接RAM 中的内容
12SUBB A,#data21累加器带借位减立即数
13INC A11累加器加1
14INC Rn11寄存器加1
15INC direct21直接地址单元加1
16INC @Ri11间接RAM 单元加1
17DEC A11累加器减1
18DEC Rn11寄存器减1
19DEC direct21直接地址单元减1
20DEC @Ri11间接RAM单元减1
21INC DPTR11地址寄存器DPTR加1
22MUL AB14A乘以B,结果放在A
23DIV AB14A除以B,结果放在A
24DA A11累加器十进制调整

布尔变量操作类指令:

条目指令字节周期描述
1CLR C11清进位位
2CLR bit21清直接地址位
3SETB C11置进位位
4SETB bit21置直接地址位
5CPL C11进位位求反
6CPL bit21置直接地址位求反
7ANL C,bit22进位位和直接地址位相“与”
8ANL C,bit22进位位和直接地址位的反码相“与”
9ORL C,bit22进位位和直接地址位相“或”
10ORL C,bit22进位位和直接地址位的反码相“或”
11MOV C,bit21直接地址位送入进位位
12MOV bit,C22进位位送入直接地址位
13JC rel22进位位为1则转移
14JNC rel22进位位为0则转移
15JB bit,rel32直接地址位为1则转移
16JNB bit,rel32直接地址位为0则转移
17JBC bit,rel32直接地址位为1则转移,该位清零

逻辑操作数指令:

条目指令字节周期描述
1ANL A,Rn11累加器与寄存器相“与”
2ANL A,direct21累加器与直接地址单元相“与”
3ANL A,@Ri11累加器与间接RAM 单元相“与”
4ANL A,#data21累加器与立即数相“与”
5ANL direct,A21直接地址单元与累加器相“与”
6ANL direct,#data32直接地址单元与立即数相“与”
7ORL A,Rn11累加器与寄存器相“或”
8ORL A,direct21累加器与直接地址单元相“或”
9ORL A,@Ri11累加器与间接RAM 单元单元相“或”
10ORL A,#data21累加器与立即数相“或”
11ORL direct,A21直接地址单元与累加器相“或”
12ORL direct,#data32直接地址单元与立即数相“或”
13XRL A,Rn11累加器与寄存器相“异或”
14XRL A,direct21累加器与直接地址单元相“异或”
15XRL A,@Ri11累加器与间接RAM 单元单元相“异或”
16XRL A,#data21累加器与立即数相“异或”
17XRL direct,A21直接地址单元与累加器相“异或”
18XRL direct,#data32直接地址单元与立即数相“异或”
19CLR A11累加器清“0”
20CPL A11累加器求反
21RL A11累加器循环左移
22RLC A11累加器带进位位循环左移
23RR A11累加器循环右移
24RRC A11累加器带进位位循环右移
25SWAP A11累加器半字节交换

控制转移类指令:

条目指令字节周期描述
1ACALL addr1122绝对(短)调用子程序
2LCALL addr1632长调用子程序
3RET12子程序返回
4RETI22中数返回
5AJMP addr1122绝对(短)转移
6LJMP addr1632长转移
7SJMP rel22相对转移
8JMP @A+DPTR12相对于DPTR 的间接转移
9JZ rel22累加器为零转移
10CJNE rel22累加器非零转移
11CJNE A,direct,rel32累加器与直接地址单元比较,不相等则转移
12CJNE A,#data,rel32累加器与立即数比较,不相等则转移
13CJNE Rn,#data,rel32寄存器与立即数比较,不相等则转移
14CJNE @Ri,#data,rel32间接RAM 单元与立即数比较,不相等则转移
15DJNZ Rn,rel22寄存器减1,非零转移
16DJNZ direct,erl32直接地址单元减1,非零转移
17NOP11空操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值