51单片机汇编指令集附记忆方法.doc

上传人:李司机 文档编号:1163620 上传时间:2022-07-11 格式:DOC 页数:7 大小:119KB
返回 下载 相关 举报
51单片机汇编指令集附记忆方法.doc_第1页
第1页 / 共7页
51单片机汇编指令集附记忆方法.doc_第2页
第2页 / 共7页
51单片机汇编指令集附记忆方法.doc_第3页
第3页 / 共7页
51单片机汇编指令集附记忆方法.doc_第4页
第4页 / 共7页
51单片机汇编指令集附记忆方法.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《51单片机汇编指令集附记忆方法.doc》由会员分享,可在线阅读,更多相关《51单片机汇编指令集附记忆方法.doc(7页珍藏版)》请在三一办公上搜索。

1、 . 51单片机汇编指令集一、数据传送类指令7种助记符MOV英文为Move:对部数据存放器RAM和特殊功能存放器SFR的数据进展传送;MOVCMove Code读取程序存储器数据表格的数据传送;MOVX(Move External RAM)对外部RAM的数据传送;XCH(Exchange)字节交换;XCHD(Exchange low-order Digit)低半字节交换;PUSH(Push onto Stack)入栈;POP (Pop from Stack)出栈;二、算术运算类指令8种助记符ADD(Addition) 加法;ADDC(Add with Carry) 带进位加法;SUBB(Sub

2、tract with Borrow) 带借位减法;DA(Decimal Adjust) 十进制调整;INC(Increment) 加1;DEC(Decrement) 减1;MUL(Multiplication、Multiply) 乘法;DIV(Division、Divide) 除法;三、逻辑运算类指令10种助记符ANL(AND Logic) 逻辑与;ORL(OR Logic) 逻辑或;XRL(Exclusive-OR Logic) 逻辑异或;CLR(Clear) 清零;CPL(Complement) 取反;RL(Rotate left) 循环左移;RLC(Rotate Left through

3、t the Carry flag) 带进位循环左移;RR(Rotate Right) 循环右移;RRC(Rotate Right throught the Carry flag) 带进位循环右移;SWAP (Swap)低4位与高4位交换;四、控制转移类指令17种助记符ACALLAbsolute subroutine Call子程序绝对调用;LCALLLong subroutine Call子程序长调用;RETReturn from subroutine子程序返回;RETIReturn from Interruption中断返回;SJMPShort Jump短转移;AJMPAbsolute Ju

4、mp绝对转移;LJMPLong Jump长转移;CJNE (Compare Jump if Not Equal)比拟不相等那么转移;DJNZ (Decrement Jump if Not Zero)减后不为那么转移;JZ (Jump if Zero)结果为那么转移;JNZ (Jump if Not Zero) 结果不为那么转移;JC (Jump if the Carry flag is set)有进位那么转移;JNC (Jump if Not Carry)无进位那么转移; (Jump if the Bit is set)位为那么转移;JNB (Jump if the Bit is Not se

5、t) 位为那么转移;C(Jump if the Bit is set and Clear the bit) 位为那么转移,并去除该位;NOP (No Operation)空操作;五、位操作指令1种助记符CLR 位清零;SETB(Set Bit)位 置 。8种常用伪指令ORG 16位地址;此指令用在原程序或数据块的开场,指明此语句后面目标程序或数据块存放的起始地址。标号: DB字节数据项表;将项表中的字节数据存放到从标号开场的连续字节单元中。例如:SEG: DB 88H,100,“7,“C标号:DW 双字节数据项表;定义16位地址表,16地址按低位地址存低位字节,高位地址存高位字节。例如:TAB

6、: DW 1234H,7BH名字 EQU 表达式 或名字=表达式;用与给一个表达式赋值或给字符串起名字。之后名字可用做程序地址,数据地址或立即数地址使用。名字必须是一字母开头的字母数字串。例如:COUNT=10 或 SPACE EQU 10H名字 DATA 直接字节地址;给8位部RAM单元起个名字,名字必须是一字母开头的字母数字串。同一单元可起多个名字。例如:ERROR DATA 80H名字 XDATA 直接字节地址;给8位外部RAM起个名字,名字规定同DATA伪指令。例如:IO_PORT XDATA 0CF04H名字 BIT 位指令;给一可位寻址的位单元起个名字,规定同DATA伪指令。例如:

7、SWT BIT 30H标号:;指出源程序到此完毕,汇编对其后的程序语句不予理睬。源程序只在主程序最后使用一个。指 令 集111条助 记 符说明字节周期代 码1.数据传送指令30条MOV A,Rn存放器送 A11E8-EFMOV A,data直接字节送A21E5MOV A,Ri间接RAM 送A11E6-E7MOV A,#data立接数送 A2174MOV Rn,AA 送存放器11F8-FFMOV Rn,data直接数送存放器22A8-AFMOV Rn,#data立即数送存放器2178-7FMOV data,AA 送直接字节21F5MOV data,Rn存放器送直接字节21888FMOV data

8、,data直接字节送直接字节3285MOV data,Ri间接 Rn 送直接字节2286;87MOV data,#data立即数送直接字节3275MOV Ri,AA 送间接 Rn12F6;F7MOV Ri,data直接字节送间接Rn11A6;A7MOV Ri,#data立即数送间接 Rn2276;77MOV DPTR,#data1616 位常数送数据指针3190MOV C,bit直接位送进位位21A2MOV bit,C进位位送直接位2292MOVC A,A+DPTRA+DPTR 寻址程序存贮字节送 A3293MOVC A,A+PCA+PC 寻址程序存贮字节送A1283MOVX A,Ri外部数据

9、送A8 位地址12E2;E3MOVX A,DPTR外部数据送A16 位地址12E0MOVX Ri,AA 送外部数据8 位地址12F2;F3MOVX DPTR,AA 送外部数据16 位地址12F0PUSH data直接字节进栈道,SP 加122C0POP data直接字节出栈,SP 减122D0XCH A,Rn存放器与 A 交换11C8CFXCH A,data直接字节与A 交换21C5XCH A,Ri间接Rn 与A 交换11C6;C7XCHD A,Ri间接Rn 与A 低半字节交换11D6;D72.逻辑运算指令35条ANL A,Rn存放器与到A11585FANL A,data直接字节与到A2155

10、ANL A,Ri间接RAM与到A1156;57ANL A,#data立即数与到A2154ANL data,AA与到直接字节2152ANL data,#data立即数与到直接字节3253ANL C,bit直接位与到进位位2282ANL C,/bit直接位的反码与到进位位22B0ORL A,Rn存放器或到A11484FORL A,data直接字节或到A2145ORL A,Ri间接RAM或到A1146;47ORL A,#data立即数或到A2144ORL data,AA或到直接字节2142ORL data,#data立即数或到直接字节3243ORL C,bit直接位或到进位位2272ORL C,/b

11、it直接位的反码或到进位位22A0XRL A,Rn存放器异或到A11686FXRL A,data直接字节异或到A2165XRL A,Ri间接RAM异或到A1166;67XRL A,#data立即数异或到A2164XRL data,AA异或到直接字节2162XRL data,#data立即数异或到直接字节3263SETB C进位位置 111D3SETB bit直接位置 121D2CLR AA清011E4CLR C进位位清 011C3CLR bit直接位清 021C2CPL AA求反码11F4CPL C进位位取反11B3CPL bit直接位取反21B2RL AA循环左移一位1123RLC AA 带

12、进位左移一位1133RR AA右移一位1103RRC AA 带进位右移一位1113SWAP AA 半字节交换11C43.算术运算指令24条ADD A,Rn存放器加到A11282FADD A,data直接字节加到A2125ADD A,Ri间接RAM 加到A1126;27ADD A,#data立即数加到A2124ADDC A,Rn存放器带进位加到 A11383FADDC A,data直接字节带进位加到A2135ADDC A,Ri间接RAM 带进位加到A1136;37ADDC A,#data立即数带进位加到 A2134SUBB A,Rn从A 中减去存放器和进位11989FSUBB A,data从A

13、中减去直接字节和进位2195SUBB A,Ri从A 中减去间接RAM 和进位1196;97SUBB A,#data从A 中减去立即数和进位2194INC AA加11104INC Rn存放器加 111080FINC data直接字节加12105INC Ri间接RAM 加11106;07INC DPTR数据指针加112A3DEC AA减11114DEC Rn存放器减 111181FDEC data直接字节减12115DEC Ri间接RAM 减11116;17MUL ABA乘B14A4DIV ABA被B除1484DA AA十进制调整11D44.转移指令22条AJMP addr 11绝对转移22*1L

14、JMP addr 16长转移3202SJMP rel短转移2280JMP A+DPTR相对于DPTR 间接转移1273JZ rel假设A0 那么转移2260JNZ rel假设A0 那么转移2270JC rel假设C1 那么转移2240JNC rel假设C1 那么转移2250 bit,rel假设直接位1 那么转移3220JNB bit,rel假设直接位0 那么转移3230C bit,rel假设直接位1 那么转移且去除3210CJNE A,data,rel直接数与 A 比拟,不等转移32B5CJNE A,#data,rel立即数与 A 比拟,不等转移32B4CJNE Ri,#data,rel立即数

15、与间接RAM比拟,不等转移32B6;B7CJNE Rn,#data,rel立即数与存放器比拟不等转移32B8BFDJNZ Rn,rel存放器减 1 不为0 转移22D8DFDJNZ data,rel直接字节减1 不为 0 转移32D5ACALL addr 11绝对子程序调用22*1LCALL addr 16子程序调用3212RET子程序调用返回1222RETI中断程序调用返回1232NOP空操作1100六记忆方法MCS51使用汇编语言指令,它共有44个操作码助记符,33种功能,其操作数有data、direct、Rn、Ri等。这里先介绍指令助记符与其相关符号的记忆方法。一、助记符号的记忆方法1表

16、格列举法把44个指令助记符按功能分为五类,每类列表记忆。此处从略,请读者自己总结。2英文复原法单片机的操作码助记符是该指令功能的英文缩写,将缩写复原成英语原文,再对照汉语有助于理解其助记符含义,从而加强记忆。例如:增量 INCIncremect 减量 DNCDecrement短转移 SJMPShort jump 长转移 LJMPLong jump比拟转移 CJNECompare jump not equality绝对转移 AJMPAbsolute jump 空操作 NOPNo operation交换 XCHExchange 加法 ADDAddition乘法 MULMultiplication

17、除法 DIVDivision左环移 RLRotate left 进位左环移 RLCRotateleft carry右环移 RRRotate right 进位右环移RRCRotateright carry3功能模块记忆法单片机的44个指令助记符,按所属指令功能可分为五大类,每类又可以按功能相似原那么为23组。这样,化整为零,各个击破,实现快速记忆。1数据传送组。 2加减运算组MOV 部数据传送 ADD 加法MOVC 程序存储器传送 ADDC 带进位加法MOVX 外部数据传送 SUBB 带进位减法3逻辑运算组。 4子程序调用组。ANL 逻辑与 LCALL 长调用ORL 逻辑或 ALALL 绝对调用

18、XRL 逻辑异或 RET 子程序返回二、指令的记忆方法1指令操作数的有关符号MCS51的寻址方式共有六种:立即数寻址、直接寻址、存放器寻址、存放器间址、变址寻址、相对寻址。我们必须掌握其表示的方法。1立即数与直接地址。ata表示八位立即数,data16表示是十六位立即数,data或direct表示直接地址。2Rn(n=07)、A、B、CY、DPTR存放器寻址变量。3R0、R1、DPTR、SP表示存放器间址变量。4DPTRA、PCA表示变址寻址的变量。5PCrel相对量表示相对寻址变量。记住指令的助记符,掌握不同寻址方式的指令操作数的表示方法,为我们记忆汇编指令打下了根底。MCS51指令虽多,但

19、按功能可分为五类,其中数据传送类28条,算术运算类24条,逻辑操作类25条,控制转移类17条,布尔位操作类17条。在每类指令里,根据其功能,抓住其源、目的操作数的不同组合,再辅之以下方法,是完全能记住的。我们约定,可能的目的操作数按data/direct/A/Rn/Ri顺序表示。对于MOV指令,其目的操作数按A、Rn、direct、Ri的顺序书写,那么可以记住MOV的15条指令。例如以累加器A为目的操作数,可写出如下4条指令。MOV A,data/direct/A/Rn/Ri以此类推,写出其它指令。MOV Rn,data/direct/AMOV direct,data/direct/A/Rn/

20、RiMOV Ri,data/direct/A2指令图示记忆法图示记忆法是把操作功能一样或相似、但其操作数不同的指令,用图形和箭头将目的、源操作数的关系表示出来的一种记忆方法。例如:由助记符MOV、MOVX、MOVC组成的送数组指令,可以用图1、2帮助记忆。由助记符CJNE形成的四条指令,也可以用图示法表示,如图3。CJNE A,data,rel CJNE A,direct,relCJNE Rn,data,rel CJNE Ri,data,rel另外,对于由ANL、ORL、ARL形成的18条逻辑操作指令,有关A的四条环移指令,也可以用图示法表示,请读者自行画出记忆。3相似功能归类法在MCS51指

21、令中,我们发现局部指令其操作码不同,但功能相似,而操作数那么完全一样。相似功能归类法就是把具有这样特点的指令放在一起记忆,只要记住其中的一条,其余的也就记住了。如加、减法的十二条指令,与、或、非的十八条指令,现列举如下。ADD/ADDC/SUBB A,data/direct/Rn/RiANL/ORL/XRL A,data/direct/Rn/RiANL/ORL/XRL direct,data/a上述每一排指令,功能相似,其操作数都一样。其它的如加1(INC)、减1(DEC)指令也可照此办理。4口诀记忆法对于有些指令,我们可以把相关的功能用精练的语言编成一句话来记忆。如PUSHdirect和PO

22、P direct这两条指令。初学者常常分不清堆栈SP的变化情况,为此编成这样一句话:(SP的容)加1(direct的容)再入栈,(SP的容)弹出(到direct单元)SP才减1。又如乘法指令中积的存放,除法指令中被除数和除数以与商的存放,都可以编成口诀记忆如下。MUL AB 高位积(存于)B,低位积(存于)A。DIV AB A除以B,商(存于)A余(下)B。上面介绍了几种快速记忆单片机指令的方法,希望能起到抛砖引玉的作用,相信读者在学习单片机的过程中能找到适合自己的方法来记忆。但是,有了好的方法还不够,还需要实践,即多读书上的例题和别人编写的程序,自己再结合实际编写一些程序。只有这样,才能更好更快地掌握单片机指令系统。- 7 - / 7

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号