1、最新51汇编指令大全资料51汇编指令大全Rn: 表示当前寄存器区的8个工作寄存器R0R7Ri: 表示当前寄存器区的R0或R1,可作地址指针即间接寻址寄存器(i=0或1): 为间接寄存器或基址寄存器的前缀.Direct: 表示8位内部数据存储单元的地址.它可以是内部RAM的单元地址0127.特殊功能寄存器SFR的地址(128255)或名称,A: 累加器ACC.B: 特殊功能寄存器B,用于MUL和DIV指令中.C: 进位位Cy.#data: 表示包含在指令中的单字节(8位)立即数.如果用16位进制表示,后缀字母为”H”,数据范围000FFH,不得一字母开头;如果用16进制表示无须任何后缀,但必须在
2、0255之间.#data16: 表示包含在指令中的双字节(16位)立即数.Adda16: 表示16位的目的地址.用于LCALL和LJMP指令中,目的地址范围是从0000HFFFFH的整个64KB存储地址空间.Adda11: 表示11位的目的地址.用于ACALL和AJMP的指令中,目的地址必须和下一条指令第一个字节同处一页.Rel: 表示8位带符号的相对偏移量.用语SJMP和所有的条件转移指令中.偏移量相对于下一条指令的第一个字节计算,在-128+127范围内取值.DPTR: 为数据指针,可用作16位的地址寄存器./: 加在位操作的前面,表示对该位进行非运算.bit: 表示内部可寻址位或特殊功能
3、寄存器中的直接寻址位.(x): 寄存器或地址单元中的内容.(x): 用x间接寻址的单元中的内容.-: 表示将箭头右边的内容传送至箭头的左边.$: 当前指令的地址.单片机指令系统(一) 内部数据传送指令(1) 以累加器A为目的的传送指令:MOV A, #data;(A)-dataMOVA, direct ;(A)-(direct)MOVA, Rn ;(A)-(Rn)MOVA, Ri;(A)- (Ri)(2) 以通用寄存器Rn为目的的传送指令:MOVRn, A ;(Rn)-(A)MOVRn, direct ;(Rn)(direct)MOVRn, #data: ;(Rn)-data(3) 以直接地址
4、为目的的传送指令:MOVdirect, A;(direct)-(A)MOVdirect, Rn ;(direct)-(Rn)MOVdirect, direct2 ;(direct)-(direct2)MOVdirect, Ri;(direct)-(Rn)MOVdirect, #data;(direct)-data(4) 以寄存器间接地址为目的的传送指令:MOVRi,A;(Ri)-(A)MOVRi,direct ;(Ri)-(direct)MOVRi,#data;(Ri)-data(二) 数据指针赋值指令(16位数据传送指令)MOVDPTR, #data16;(三) 片外数据传送指令MOVX A
5、,Ri;(A)-(Ri)片外MOVX A,DPTR ;(A)-(DPTR)片外MOVX Ri, A;(Ri)片外-(A)MOVX DPTR, A;(DPTR)片外-(A)(四) ROM数据访问指令(查表指令)MOVC A,A+DPTR;(A)-(A)+(DPTR)romMOVC A,A+PC;(PC)-(PC)+1,(A)-(A)+(PC)rom(五) 堆栈操作指令PUSH direct ;(SP)-(SP)+1,(SP)-(direct)堆栈指针先加1,将数据压入栈顶POPdirect ;(direct)-(SP),(SP)-(SP)-1将数据从栈顶弹出存入direct,SP再减1(六) 数
6、据交换指令(1)整字节(8位)交换指令:XCHA, Rn ;A和Rn中的数互换XCHA, direct ;A和direct单元中的数互换XCHA, Ri;A和Ri间址单元中的数互换(2)半字节交换指令:XCHD A, Ri;A的低4位Ri间接单元的低4位互换,高4位不动(3)累加器高低半字节交换指令:SWAPA, ;A的高4位(D7D4)和低4位(D3D0)互换(七) 加法指令(1)不带Cy加法指令:ADD A, Rn ;(A)-(A)+(Rn)ADD A, direct ;(A)-(A)+(direct)ADD A, Ri;(A)-(A)+(Ri)ADD A, #data;(A)-(A)+d
7、ata(2)带进位加法指令:ADDCA, Rn ;(A)-(A) +Cy+(Rn)ADDCA, direct ;(A)-(A) +Cy+(direct)ADDCA, Ri;(A)-(A) +Cy+(Ri)ADDCA, #data ;(A)-(A) +Cy+data(3)加1指令:INC A, ;(A)-(A)+1INC Rn ;(Rn)-(Rn)+1INC Ri;(Ri)-(Ri)+1INC direct ;(direct)-(direct)+1INC DPTR ;(FPTR)-(DPTR)+1(八) 减法指令(1)带进位减法指令:SUBBA, Rn ;(A)-(A) -Cy-(Rn)SUBB
8、 A, direct ;(A)-(A) -Cy-(direct)SUBB A, Ri;(A)-(A) -Cy-(Ri)SUBB A, #data;(A)-(A) -Cy-data(2)减1指令:DECA ;(A)-(A)-1DECdirect;(direct)-(direct)-1DECRn;(Rn)-(Rn)-1DECRi ;(Ri)-(Ri)-1(九) 乘除指令(1)乘法指令MULAB;(B)(A)-(A)*(B)指令功能是把累加器A和特殊功能寄存器B中两个8位无符号整数相乘,并把积的高8位字节存入B寄存器,低8位字节存入累加器A.(2)除法指令DIVAB;A/B,商存入A,余数存入B指令
9、的功能是把累加器A中的8位无符号整数除以寄存器B中的8位无符号整数商的整数部分存入累加器A中,余数保留在B中.(十) 十进制调整指令DA A(十一) 逻辑运算指令(1) 逻辑与运算指令:ANLA, Rn ;(A)-(A)(Rn)ANLA, direct ;(A)-(A)(direct)ANLA, Ri;(A)-(A)(Ri)ANLA, #data;(A)-(A)dataANLdirect, A ;(direct)-(A)(direct)ANLdirect, #data ;(direct-(direct)data(2) 逻辑或运算指令:ORLA, Rn ;(A)-(A)(Rn)ORLA, dir
10、ect ;(A)-(A)(direct)ORLA, Ri;(A)-(A)(Ri)ORLA, #data;(A)-(A)dataORLdirect,A ;(direct)-(A)(direct)ORLdirect,#data ;(direct)-(direct)data(3) 逻辑异或运算指令:XRLA, Rn ;(A)-(A)(Rn)XRLA, direct ;(A)-(A)(direct)XRLA, Ri;(A)-(A)(Ri)XRLA, #data;(A)-(A)dataXRLdirect,A ;(direct)-(A)(direct)XRLdirect,#data ;(direct)-(
11、direct)data(4) 累加器清0和取反指令CLRA ;(A)-0 (累加器清0指令)CPLA ;(A)-(A) (累加器取反指令)(5) 累加器移位指令:不带进位Cy循环左移: RLA ;Dn+1-Dn,D0Dn,D0-D7D7 D6 D5 D4 D3 D2 D1 D0带进位Cy循环左移: RLC A ;Cy-D7,Dn+1-Dn,D0D7,Dn+1-Dn,D0-Cy(十二) 控制转移指令1 无条件转移指令:(1) 长转移指令 LJMP addr16 ;(PC)-addr16 (2) 绝对转移指令AJMP addr11 ;(PC)-(PC)+2,(PC)100-addr11(3) 短转
12、移指令 SJMP rel;(PC)-(PC)+2+rel(4) 变址寻址转移指令JMPA+DPTR ;(PC)-(A)+(DPTR)2 条件转移指令:(1) 累加器判0转移指令:JZ rel ;如果(A)=0,跳转到目标语句,否则顺序执行JNZrel ;如果(A)0,跳转到目标语句,否则顺序执行(2) 比较转移指令:CJNZ A, #data, rel;如果(A)data,则跳转到目标语句,否则程序顺序执行CJNZ A, direct, rel; 如果(A)(direct),则跳转到目标语句,否则程序顺序执行CJNZ Rn, #data, rel ; 如果Rndata,则跳转到目标语句,否则程
13、序顺序执行CJNZ Ri #data, rel ; 如果(A)data,则跳转到目标语句,否则程序顺序执行(3) 循环控制转移指令:DJNZ Rn, rel ;(Rn)先减1,如减1后(Rn)0,则跳转到目标语句;否则顺序执行DJNZ direct, rel ; (direct)先减1,如减1后(direct)0,则跳转到目标语句;否则顺序执行(十三) 子程序调用和返回指令(1) 绝对调用指令:ACALL addr11(2) 长调用指令:LCALL addr16(3) 返回指令:RET子程序返回RETI 中断服务程序返回(十四) 空操作指令NOP空操作指令是一条特殊指令,单片机在执行该指令时不
14、进行任何操作,只是消耗1个机器周期的时间,所以该指令长用于延时程序.软件陷阱程序等(十五) 位操作类指令(1) 位传送指令:MOV C,bit;(Cy)-(bit),bit位的状态不变成功秘诀:好市口个性经营MOV bit,C; (bit) - (Cy),Cy位的状态不变(2) 置位和复位指令:SETBC;(Cy)-13、消费“多样化”SETBbit;(bit)-1CLR C;(Cy)-0小饰品店往往会给人零乱的感觉,采用开架陈列就会免掉这个麻烦。“漂亮女生”像是个小超市,同一款商品色彩丰富地挂了几十个任你挑,拿上东西再到收银台付款。这也符合女孩子精挑细选的天性,更保持了店堂长盛不衰的人气。C
15、LR bit;(bit)-0(3) 位运算指令:ANL C, bit ;(Cy)-(Cy)(bit),Cy位和bit位相与,结果赋给Cy参考文献与网址:ANL C, /bit;(Cy)-(Cy)(bit),Cy位和bit位相与,结果赋给Cy木质、石质、骨质、琉璃、藏银一颗颗、一粒粒、一片片,都浓缩了自然之美,展现着千种风情、万种诱惑,与中国结艺的朴实形成了鲜明的对比,代表着欧洲贵族风格的饰品成了他们最大的主题。ORL C,bit;(Cy)-(Cy)(bit),Cy位和bit位相或,结果赋给CyORL C,/bit ;(Cy)-(Cy)(bit),Cy位和bit位相或,结果赋给Cy人民广场地铁站
16、有一家名为“漂亮女生”的饰品店,小店新开,10平方米不到的店堂里挤满了穿着时尚的女孩子。不几日,在北京东路、淮海东路也发现了“漂亮女生”的踪影,生意也十分火爆。现在上海卖饰品的小店不计其数,大家都在叫生意难做,而“漂亮女生”却用自己独特的经营方式和魅力吸引了大批的女生。CPL C;(Cy)-(Cy),Cy位取反500元以上 12 24%CPL bit;(bit)-(bit),bit位取反(4) 位测试转移指令:二、大学生DIY手工艺制品消费分析(1) 以Cy位状态为条件的转移指令JCrel;如果Cy位=1,跳转到目标语句,否则顺序执行JNC rel;如果Cy位=0,跳转到目标语句,否则顺序执行(2) 以指定位状态为条件的转移指令:标题:手工制作坊 2004年3月18日JBbit, rel ;如果bit=1,跳转到目标语句,否则顺序执行(一)大学生的消费购买能力分析JNB bit, rel ;如果bit=0,跳转到目标语句,否则顺序执行JBC bit, rel ;如果bit=1,跳转到目标语句,同时将bit位清0;否则顺序执行
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2