目 录
表1 寻址方式与相应的寻址空间 2
1.1数据传送指令MOV 2
1.2程序存储器取数据指令MOVX,MOVC 3
1.3 数据交换指令XCH,XCHD,SWAP 3
1.4 逻辑运算指令ANL,ORL(按位进行) 4
续表1.4 逻辑运算指令XRL CLR CPL RL RLC RR RRC(按位进行) 5
1.5 控制转移指令LJMP AJMP SJMP JMP JZ JNZ CJNE 6
续表1.5 控制转移指令DJNZ LCALL ACALL RET RETI NOP 7
1.6 布尔处理(位操作)指令CLR SETB CPL ANL ORL 8
续表1.6 布尔处理(位操作)指令JC JNC JB JNB JBC 9
1.7堆栈操作指令PUSH POP 10
2.MCS-51系列单片机算术运算指令表ADD ADDC SUBB INC DEC MUL DIV DA 10
表1 寻址方式与相应的寻址空间
方式 | 利用的变量 | 使用的空间 |
寄存器 | R0∽R7,A,B,CY,DPTR | |
直接寻址 | direct | 片内RAM低128字节特殊功能寄存器SFR |
寄存器间址 | @Ro,@R1 SP @R0,@R1,@DPTR | 片内RAM 片外RAM |
立即数 | #data | 程序存储器 |
基址加变址 | @A+PC @A+DPTR | 程序存储器 |
相对寻址 | PC+rel | 程序存储器 |
位寻址 | bit | 片内RAM的20H∽2FH部分SFR |
目的操作数 | 汇编指令 | 机器码 | 功能 | 字节数 | 机器周期 | |
A 累加器 | 立即数送A | MOV A ,#data | 74H data | data传至A | 2 | 1 |
内部RAM或SFR内容送A | MOV A,direct | E5H direct | (direct)传至A | 2 | 1 | |
寄存器内容送A | MOV A,Rn(n=0∽7) | E8H∽EFH 11101rrr | (Rn)传至A | 1 | 1 | |
内部RAM内容送A | MOV A,@Ri(i=0,1) | 1110011i | ((Ri))传至A | 1 | 1 | |
Direct 内部RAM或SFR | 立即数送内部RAM或SFR | MOV direct,#data | 75H direct data | data传至direct | 3 | 2 |
内部RAM和SFR直接直接传送 | MOV direct,direct | 85H direct direct | (direct)传至direct | 3 | 2 | |
累加器内容送内部RAM或SFR | MOV direct,A | F5H direct | (A)传至direct | 2 | 1 | |
寄存器内容送内部RAM或SFR | MOV direct,Rn(n=0∽7) | 10001rrr direct | (Rn)传至direct | 2 | 2 | |
内部RAM内容送内部RAM或SFR | MOV direct,@Ri(i=0,1) | 1000011i direct | ((Ri))传至direct | 2 | 2 | |
Rn寄存器 | 立即数送寄存器 | MOV Rn,#data (n=0∽7) | 01111rrr data | data传至Rn | 2 | 1 |
内部RAM或SFR内容送寄存器 | MOV Rn,direct(n=0∽7) | 10101rrr direct | (direct)传至Rn | 2 | 2 | |
累加器内容送寄存器 | MOV Rn,A (n=0∽7) | 11111rrr | (A)传至Rn | 1 | 2 | |
@Ri内部RAM | 立即数送内部RAM | MOV @Ri,#data(i=0,1) | 0111011i data | data传至(Ri) | 2 | 1 |
内部RAM或SFR内容送内部RAM | MOV @Ri,direct(i=0,1) | 1010011i direct | (direct)传至(Ri) | 2 | 2 | |
累加器内容送内部RAM | MOV @Ri,A(i=0,1) | 1111011i | (A)传至(Ri) | 1 | 1 | |
DPTR | 16位立即数传送指令 | MOV DPTR,#data16 | 90H dataH dataL | data16传至DPTR | 3 | 2 |
1.1数据传送指令MOV
1.2程序存储器取数据指令MOVX,MOVC
目的操作数 | 汇编指令 | 机器码 | 功能 | 字节数 | 机器周期 | |
A | 外部数据存储器内容送A | MOVX A ,@Ri(i=0,1) | E2H E3H | ((Ri))传至A | 1 | 2 |
A | 外部数据存储器内容送A | MOVX A,@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为基址寄存器加变址寻址 | MOVC A,@A+PC | 83H | ((A)+(PC))传至A | 1 | 2 |
A | 以DPTR为基址寄存器加变址寻址 | MOVC A,@A+DPTR | 93H | ((A)+(DPTR))传至A | 1 | 2 |
1.3 数据交换指令XCH,XCHD,SWAP
目的操作数 | 指令 | 机器码 | 功能 | 字节数 | 机器周期 | |
A | 内部RAM或SFR内容与累加器内容互换 | XCH A,direct | C5H direct | (A)←(direct) | 2 | 1 |
A | 寄存器内容与累加器内容互换 | XCH A,Rn(n=1-7) | 11001rrr | (A)←(Rn) | 1 | 1 |
A | 内部RAM内容与累加器内容互换 | XCH A,@Ri(i=0,1) | 1100011i | (A)←((Ri)) | 1 | 1 |
A | 内部RAM低4位内容与累加器低4位内容互换 | XCHD A,@Ri(i=0,1) | 1101011i | (A)0∽3←((Ri))0∽3 | 1 | 1 |
A | 累加器高4位与低4位交换 | SWAP A | C4H | (A)0∽3←(A)4∽7 | 1 | 1 |
1.4 逻辑运算指令ANL,ORL(按位进行)
目的操作数 | 指令 | 机器码 | 功能 | 字节数 | 机器周期 | |
逻辑与ANL | A内容∧立即数 | ANL A ,#data | 54H | A←(A)∧ #data | 2 | 1 |
A内容∧内部RAM或SFR 当direct为端口地址P0∽P3时,操作数由端口锁存器读入。 | ANL A,direct | 55H | A←(A)∧(direct) | 2 | 1 | |
A内容∧寄存器内容 | ANL A,Rn(n=0∽7) | 58H∽5FH | A←(A)∧(Rn) | 1 | 1 | |
A内容∧内部RAM | ANL A,@Ri(i=0,1) | 56H,57H | A←(A)∧((Ri)) | 1 | 1 | |
内部RAM或SFR内容 ∧ A内容 当direct为端口地址P0∽P3时,这是一条“读-修改-写”指令,可用累加器A随时修改端口锁存器内容。 | ANL direct,A | 52H | direct←(direct)∧ (A) | 2 | 1 | |
内部RAM或SFR内容 ∧ 立即数 当direct为端口地址P0∽P3时,这是一条“读-修改-写”指令,可令立即数修改端口锁存器内容。 | ANL direct汇编判断指令,#data | 53H | direct←(direct)∧ #data | 3 | 2 | |
逻辑或ORL | A内容∨立即数 | ORL A ,#data | 44H | A←(A)∨ #data | 2 | 1 |
A内容∨内部RAM或SFR | ORL A,direct | 45H | A←(A)∨(direct) | 2 | 1 | |
A内容∨寄存器内容 | ORL A,Rn(n=0∽7) | 48H∽4FH | A←(A)∨(Rn) | 1 | 1 | |
A内容∨内部RAM | ORL A,@Ri(i=0,1) | 46H,47H | A←(A)∨((Ri)) | 1 | 1 | |
内部RAM或SFR内容 ∨ A内容 当direct为端口地址P0∽P3时,则为“读-修改-写”指令。 | ORL direct,A | 42H | direct←(direct)∨ (A) | 2 | 1 | |
内部RAM或SFR内容 ∨ 立即数 当direct为端口地址P0∽P3时,则为“读-修改-写”指令。 | ORL direct,#data | 43H | direct←(direct)∨ #data | 3 | 2 | |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论