《AT89C51的七种寻址方式.ppt》由会员分享,可在线阅读,更多相关《AT89C51的七种寻址方式.ppt(19页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第3章 AT89C51指令系统一、算术运算类指令(一、算术运算类指令(24条)条)加、减、乘、除及加1和减1等多数以A为源操作数,同时又使A为目的操作数。1.加法指令加法指令 ADD A,#data ADD A,Ri ADD A,direct ADD A,Rn注:若相加时第3位或第7位有进位时,则分别将AC、C标志位置1若(A)=84H,(30H)=8DH,执行指令 ADD A,30H(2)带进位加法指令带进位加法指令 ADDC A,#data ADDC A,Ri ADDC A,direct ADDC A,Rn源操作数与A的内容相加再与CY相加,结果送入目的操作数A中。CY是在该指令执行之前已
2、存在的值注:若相加时第3位或第7位有进位时,则分别将AC、C标志位置1若 A=E0H C=1 则执行 ADDC A,#28H 执行指令之后A的内容为多少?(3)加1指令 INC Ri INC direct INC Rn INC DPTR INC A源操作数的内容加 1,结果再送回原单元 若(R1)=FEH,(DPTR)=FFFFHORG 00HINC R1INC DPTREND则执行指令之后R1 DPTR的内容为多少(4)十进制调整指令 DA A对A中刚进行的2个BCD码加法的结果调整。指令DA A必须紧跟加法指令后,对加法运算所得的结果进行十进制调整。结果中,若低4位大于9,则低4位加6调整
3、;若高4位大于9,则高4位加6调整。ORG 00HMOV A,#56HMOV B,#67HADD A,BDA AEND2、减法指令减法指令(1)带借位减法指令功能:指令功能是以A中数为被减数,减去操作数,再减去进位,差存在A中。SUBB A,#data SUBB A,Ri SUBB A,direct SUBB A,Rn设(A)=83H,(30H)=53H,C=1,执行减法指令SUBB A,30H2)减1指令 DEC A DEC Ri DEC direct DEC Rn若 R0=02H 则执行DEC R0之后,R0为多少3.乘法指令 MUL AB 被乘数与乘数分别放在累加器A和寄存器B中,执行后
4、乘积为16位,低8位放在A中,高8位放在B中,并清进位标志C为0.4.除法指令DIV AB 一般被除数放在A中,除数放在B中。指令执行后,商放在A中,余数放在B中,并清进位标志C为0.二、逻辑运算与循环类指令(24条)1.逻辑与指令(1)源操作数与直接地址单元内容相与 ANL direct,A ANL direct,#data(2)源操作数与累加器A的内容相与 ANL A,#data ANL A,Ri ANL A,direct ANL A,Rn若(A)=05H,(R0)=16H,执行指令ANL A,R0 之后,(A)=?2.逻辑或(1)源操作数与直接地址单元内容相或 ORL direct,A
5、ORL direct,#data(2)源操作数与累加器A的内容相或 ORL A,#data ORL A,Ri ORL A,direct ORL A,Rn若(A)=C3H,(R0)=55H,执行指令ORL A,R0 之后,(A)=D7H3.逻辑异或(1)源操作数与直接地址单元内容相异或 XRL direct,A XRL direct,#data(2)源操作数与累加器A的内容相异或 XRL A,#data XRL A,Ri XRL A,direct XRL A,Rn若(A)=C3H,(R0)=AAH,执行指令XRL A,R0 之后,(A)=69H4.累加器清0和取反 (1)把A的内容清 0,结果仍在A中 CLR A(2)把A的内容取反,结果仍在A中 CPL A若(A)=A5H,执行指令CLR A 之后,(A)=00H5.累加器循环移位指令(1)A的内容循环右移1位。RR A(2)A的内容连同CY位循环右移1位。RRC A(3)A的内容循环左移1位。RL A(4)A的内容连同CY位循环左移1位。RLC A
限制150内