编号 | 指令名称 | 指令助记符 | 指令说明 |
数据传送类指令 | |||
1 | 一般传送 | MOV A, #data | 将立即数#data送累加器A |
2 | MOV direct, #data | ||
3 | Mov Rn, #data | 将立即数#data送寄存器Rn | |
4 | Mov @Ri, #data | 寄存器Ri内为RAM地址,将立即数#data送该地址单元内 | |
5 | Mov direct2, direct1 | 将direct1地址单元的数据送 direct2地址单元内 | |
6 | Mov direct, rn | 将Rn的数据送 direct地址单元内 | |
7 | Mov Rn, direct | 将direct地址单元内的数据送Rn寄存器 | |
8 | Mov direct, @Ri | 寄存器Ri内为RAM地址,将该地址单元内的数据送direct地址单元内 | |
9 | Mov @Ri, direct | 寄存器Ri内为RAM地址,将direct地址单元内的数据送该地址单元内 | |
10 | Mov A, Rn | 将寄存器Rn内的数据送累加器A | |
11 | Mov Rn, A | 将累加器A内的数据送寄存器Rn | |
12 | Mov A, direct | 将direct地址单元内的数据送累加器A | |
13 | Mov direct, A | 将累加器A内的数据送direct地址单元内 | |
14 | Mov A, @Ri | 寄存器Ri内为RAM地址,将该地址单元内的数据送累加器A | |
15 | Mov @Ri , A | 寄存器Ri内为RAM地址,将累加器A的数据送该地址单元内 | |
16 | 目的地址传送 | Mov DPTR, #data16 | 将16位立即数送数据指针DPTR寄存器 |
17 | 字节交换 | SWAP A | 累加器A高低4位数据交换 |
18 | XCH A, Rn | 将累加器A数据和寄存器Rn内的数据交换 | |
19 | XCH A, direct | 将累加器A数据和direct地址单元内的数据交换 | |
20 | XCH A, @Ri | 寄存器Ri内为RAM地址,将该地址单元内的数据与累加器A的数据交换 | |
21 | XCHD A, @Ri | 寄存器Ri内为RAM地址,将该地址单元内的数据低4位与A内的低4位交换 | |
22 | 与外部RAM传送 | MOVX @DPTR, A | 将累加器A的数据送数据指针DPTR寄存器所指外部RAM地址单元内 |
23 | MOVX A , @DPTR | 将DPTR寄存器所指外部RAM地址单元内的数据送累加器A | |
24 | MOVX A, @Ri | 寄存器Ri内为片外RAM地址,将该地址单元内的数据送累加器A | |
25 | MOVX @Ri, A | 寄存器Ri内为片外RAM地址,将累加器A内数据送该地址单元 | |
26 | 与ROM传送 | MOVC A, @A+DPTR | A+DPTR构成ROM地址,将该地址内的数据送累加器A内 |
27 | MOVC A, @A+PC | A+PC构成ROM地址,将该地址内的数据送累加器A内 | |
28 | 栈操作 | PUSH direct | 堆栈指针SP自加1后,将direct地址单元的数据压进堆栈, |
29 | POP direct | 堆栈的数据送direct地址单元中,后堆栈指针减1, | |
算术运算指令 | |||
30 | 加法指令 | ADD A, Rn | 将寄存器Rn与累加器A的数据相加后,结果保存到累加器A |
31 | ADD A, direct | 将direct地址单元内的数据与累加器A的数据相加后结果保存到累加器A | |
32 | ADD A, @Ri | 寄存器Ri内位地址,将该地址单元内的数据与累加器A的数据相加后结果保存到累加器A | |
33 | ADD A, #data | 将立即数与累加器A的数据相加后结果保存到累加器A | |
34 | 带进位加法 | ADDC A, Rn | 将寄存器Rn与累加器A的数据相加,再加上进位标志内的值后,结果保存到累加器A |
35 | ADDC A, direct | 将direct地址单元内的数据与累加器A的数据相加,再加上进位标志内的值后,结果保存到累加器A | |
36 | ADDC A, @Ri | 寄存器Ri内为RAM地址,将该地址单元内的数据与累加器A的数据相加,再加上进位标志内的值后,结果保存到累加器A | |
37 | ADDC A, #data | 将立即数与累加器A的数据相加,再加上进位标志内的值后结果保存到累加器A | |
38 | 带借位减法 | SUBB A, Rn | 将与累加器A的数据减去寄存器Rn的数据,再减去进位标志内的值,结果保存到累加器A |
39 | SUBB A, direct | 将与累加器A的数据减去direct地址单元内的数据,再减去进位标志内的值,结果保存到累加器A | |
40 | SUBB A, @Ri | 寄存器Ri内为RAM地址,将累加器A的数据减去该地址单元内的数据,再减去进位标志内的值后,结果保存到累加器A | 半导体集成电路|
41 | SUBB A, #data | 将累加器A的数据减去立即数,再减去进位标志内的值后,结果保存到累加器A | |
42 | 加1指令 | INC A | 累加器A的值自加1 |
43 | INC Rn | 寄存器Rn的值自加1 | |
44 | INC direct | direct地址单元内值自加1 | |
45 | INC @Ri | 寄存器Ri内为RAM地址,该地址单元内的值自加1 | |
46 | INC DPTR | 数据指针寄存器DPTR内的值自加1 | |
47 | 减1指令 | DEC A | 累加器A的值自减1 |
48 | DEC Rn | 寄存器Rn的值自减1 | |
49 | DEC direct | direct地址单元内的值自减1 | |
50 | DEC @Ri | 寄存器Ri内为RAM地址,该地址单元内的值自减1 | |
51 | 乘法 | MUL AB | 累加器A与寄存器B内的值相乘,乘积的高8位保存在B寄存器,低8位保存在累加器A中 |
52 | 除法 | DIV AB | 累加器A的值除以寄存器B的值,商保存在累加器A中,余数保存在B寄存器 |
53 | 二-十进制调整 | DA A | 对累加器A的结果进行十进制调整 |
逻辑运算指令 | |||
54 | 逻辑与 | ANL A, Rn | 将累加器A的值和寄存器Rn的值进行与操作,结果保存到累加器A中 |
55 | ANL A, direct | 将累加器A的值和direct地址单元内的值进行与操作,结果保存到累加器A中 | |
56 | ANL A, @Ri | 寄存器Ri内为RAM地址,将累加器A的值和该地址单元内的值进行与操作,结果保存到累加器A中 | |
57 | ANL A, #data | 将累加器A的值和立即数进行与操作,结果保存到累加器A中 | |
58 | ANL direct, A | 折射率将累加器A的值和direct地址单元内的值进行与操作,结果保存到direct地址单元内 | |
59 | ANL direct, #data | 将立即数和direct地址单元内的值进行与操作,结果保存到direct地址单元内 | |
60 | 逻辑或 | ORL A, Rn | 将累加器A的值和寄存器Rn的值进行或操作,结果保存到累加器A中 |
61 | ORL A, direct | 将累加器A的值和direct地址单元内的值进行或操作,结果保存到累加器A中 | |
62 | ORL A, @Ri | 寄存器Ri内为RAM地址,将累加器A的值和该地址单元内的值进行或操作,结果保存到累加器A中 | |
63 | ORL A, #data | 将累加器A的值和立即数进行或操作,结果保存到累加器A中 | |
64 | ORL direct, A | 将累加器A的值和direct地址单元内的值进行或操作,结果保存到direct地址单元内 | |
65 | ORL direct, #data | 将立即数和direct地址单元内的值进行或操作,结果保存到direct地址单元内 | |
66 | 逻辑异或 | XRL A, Rn | 将累加器A的值和寄存器Rn的值进行异或操作,结果保存到累加器A中 |
67 | XRL A, direct | 将累加器A的值和direct地址单元内的值进行异或操作,结果保存到累加器A中 | |
68 | XRL A, @Ri | 寄存器Ri内为RAM地址,将累加器A的值和该地址单元内的值进行异或操作,结果保存到累加器A中 | |
69 | XRL A, #data | 将累加器A的值和立即数进行异或操作,结果保存到累加器A中 | |
70 | XRL direct, A | 将累加器A的值和direct地址单元内的值进行异或操作,结果保存到direct地址单元内 | |
71 | XRL direct, #data | 将立即数和direct地址单元内的值进行异或操作,结果保存到direct地址单元内 | |
72 | 按位取反 | CPL A | 累加器A的值按位取反 |
73 | 累加器清零 | 爱在钢琴上小说CLR A | 累加器A清0 |
74 | 逻辑右移 | RR A | 累加器A的值循环右移1位 |
75 | 逻辑左移 | RL A | 累加器A的值循环左移1位 |
76 | 带进位右移 | RRC A | 累加器A的值带进位循环右移1位 |
77 | 带进位左移 | RLC 中国美胸模特A | 累加器A的值带进位循环左移1位 |
控制转移指令 | |||
78 | 无条件转移 | SJMP rel | rel为地址偏移量,PC加2后的地址加上rel作为目标地址,程序跳到目标地址继续运行 |
79 | AJMP addr11(a10- a0) | addr11为11位地址,PC加2后的地址高5位与指令中的低11位地址构成目标地址,程序跳到目标地址继续运行 | |
80 | LJMP addr16 | 将addr16的16位地址送程序计数器PC,使机器执行下一条指令时无条件转移到addr16处执行程序 | |
81 | JMP @A+DPTR | 目标地址的基地址放在DPTR中,目标地址对基地址的偏移量放在累加器A中,它们相加构成目标地址 | |
82 | 条件转移 | JZ relanarchy in the uk | If(累加器A=0)则PC加2再加上rel作为目标地址 |
83 | JNZ rel | If(累加器A!=0)则PC加2再加上rel作为目标地址 | |
84 | CJNE A, direct, rel | 鹤峰人事网 If(累加器A!= direct地址单元的值)则PC加3再加上rel作为目标地址 | |
85 | CJNE A, #data, rel | If(累加器A!= 立即数)则PC加3再加上rel作为目标地址 | |
86 | CJNE Rn, #data, rel | If(寄存器Rn的值!= 立即数)则PC加3再加上rel作为目标地址 | |
87 | CJNE @Ri, #data, rel | 寄存器Ri内为RAM地址,If(该地址单元的值!= 立即数)则PC加3再加上rel作为目标地址 | |
本文发布于:2024-09-20 23:17:44,感谢您对本站的认可!
本文链接:https://www.17tex.com/xueshu/647019.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |