1、Rel: 表示8位带符号的相对偏移量.用语SJMP和所有的条件转移指令中.偏移量相对于下一条指令的第一个字节计算,在-128+127范围内取值.DPTR: 为数据指针,可用作16位的地址寄存器./: 加在位操作的前面,表示对该位进行非运算.bit: 表示内部可寻址位或特殊功能寄存器中的直接寻址位.(x): 寄存器或地址单元中的内容.(x): 用x间接寻址的单元中的内容.-: 表示将箭头右边的内容传送至箭头的左边.$: 当前指令的地址.单片机指令系统(一) 内部数据传送指令(1) 以累加器A为目的的传送指令:MOV A, #data;(A)-dataMOVA, direct ;-(direct)
2、 Rn-(Rn) Ri- (Ri)(2) 以通用寄存器Rn为目的的传送指令:Rn, A(Rn)-(A) direct(direct) #data:(3) 以直接地址为目的的传送指令:direct,(direct) Rn direct2 ;-(direct2) Ri-(Rn) #data(4) 以寄存器间接地址为目的的传送指令:Ri,A(Ri)direct#data(二) 数据指针赋值指令(16位数据传送指令)DPTR, #data16;(三) 片外数据传送指令MOVX A,Ri-(Ri)片外DPTR ;-(DPTR)片外 Ri,(Ri)片外 DPTR, A(DPTR)片外(四) ROM数据访问
3、指令(查表指令)MOVCA+DPTR-(A)+(DPTR)romA+PC(PC)-(PC)+1,(A)-(A)+(PC)rom(五) 堆栈操作指令PUSH(SP)-(SP)+1,(SP)堆栈指针先加1,将数据压入栈顶POP-(SP),(SP)-(SP)-1将数据从栈顶弹出存入direct,SP再减1(六) 数据交换指令(1)整字节(8位)交换指令:XCH Rn ;A和Rn中的数互换A和direct单元中的数互换A和Ri间址单元中的数互换(2)半字节交换指令:XCHDA的低4位Ri间接单元的低4位互换,高4位不动(3)累加器高低半字节交换指令:SWAPA的高4位(D7D4)和低4位(D3D0)互
4、换(七) 加法指令(1)不带Cy加法指令:ADD-(A)+(Rn)-(A)+(direct)-(A)+(Ri)-(A)+data(2)带进位加法指令:ADDC-(A) +Cy+(Rn)-(A) +Cy+(direct)-(A) +Cy+(Ri)-(A) +Cy+data(3)加1指令:INC-(A)+1-(Rn)+1-(Ri)+1-(direct)+1 DPTR(FPTR)-(DPTR)+1(八) 减法指令(1)带进位减法指令:SUBB-(A) -Cy-(Rn) A,-(A) -Cy-(direct)-(A) -Cy-(Ri)-(A) -Cy-data(2)减1指令:DEC-(A)-1-(di
5、rect)-1Rn-(Rn)-1-(Ri)-1(九) 乘除指令(1)乘法指令MULAB(B)(A)-(A)*(B)指令功能是把累加器A和特殊功能寄存器B中两个8位无符号整数相乘,并把积的高8位字节存入B寄存器,低8位字节存入累加器A.(2)除法指令DIVA/B,商存入A,余数存入B指令的功能是把累加器A中的8位无符号整数除以寄存器B中的8位无符号整数商的整数部分存入累加器A中,余数保留在B中.(十) 十进制调整指令DA A(十一) 逻辑运算指令(1) 逻辑与运算指令:ANL-(A)(Rn)-(A)(direct)-(A)(Ri)-(A)data #data ;(direct-(direct)d
6、ata(2) 逻辑或运算指令:ORL-(A)(Rn)-(A)(direct)-(A)(Ri)-(A)data#data ;-(direct)data(3) 逻辑异或运算指令:XRL-(A)(Rn)-(A)(direct)-(A)(Ri)-(A)data-(direct)data(4) 累加器清0和取反指令CLR-0 (累加器清0指令)CPL-(A) (累加器取反指令)(5) 累加器移位指令:不带进位Cy循环左移: RLDn+1-Dn,D0Dn,D0带进位Cy循环左移:RLCCy-D7,Dn+1D7,Dn+1-Dn,D0-Cy(十二) 控制转移指令1 无条件转移指令:(1) 长转移指令LJMP addr16-addr16 (2) 绝对转移指令AJMP addr11-(PC)+2,(PC)100-addr11(3) 短转移指令SJMP rel-(PC)+2+rel(4) 变址寻址转移指令JMP-(A)+(DPTR)2 条件转移指令:(1) 累加器判0转移指令:JZ如果(A)=0,跳转到目标语句,否则顺序执行JNZrel如果(A)0,跳转
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1