51汇编语言指令集

2018-12-30 15:49

51汇编语言指令集



  (A) ((A)+(DPTR))累加器的值再加数据指针寄存器的值为其所指定地址,将该地址的内容读入累加器

  68.MOVX A,@Ri12将间接地址所指定外部存储器的内容读入累加器(8位地址)

  69.MOVX A,@DPTR12将数据指针所指定外部存储器的内容读入累加器(16位地址)

  70.MOVX @Ri,A12将累加器的内容写入间接地址所指定的外部存储器(8位地址)

  71.MOVX @DPTR,A12将累加器的内容写入数据指针所指定的外部存储器(16位地址)

  2.ADD A,direct21将累加器与直接地址的内容相加,结果存回累加器

  5.ADDC A,Rn11将累加器与寄存器的内容及进位C相加,结果存回累加器

  6.ADDC A,direct21将累加器与直接地址的内容及进位C相加,结果存回累加器

  7.ADDC A,@Ri11将累加器与间接地址的内容及进位C相加,结果存回累加器

  8.ADDC A,#data21将累加器与常数及进位C相加,结果存回累加器

  9.SUBB A,Rn11将累加器的值减去寄存器的值减借位C,结果存回累加器

  10.SUBB A,direct21将累加器的值减直接地址的值减借位C,结果存回累加器

  11.SUBB A,@Ri11将累加器的值减间接地址的值减借位C,结果存回累加器

  12.SUBB A,#data21将累加器的值减常数值减借位C,结果存回累加器

  说明:将16位的DPTR加1,当DPTR的低字节(DPL)从FFH溢出至00H时,会使高字节(DPH)加1,不影响任何标志位

  22.MUL AB14将累加器的值与B寄存器的值相乘,乘积的低位字节存回累加器,高位字节存回B寄存器

  说明:将累加器A和寄存器B内的无符号整数相乘,产生16位的积,低位字节存入A,高位字节存入B寄存器。如果积大于FFH,则溢出标志位(OV)被设定为1,而进位标志位为0

  23.DIV AB14将累加器的值除以B寄存器的值,结果的商存回累加器,余数存回B寄存器

  说明:无符号的除法运算,将累加器A除以B寄存器的值,商存入A,余数存入B。执行本指令后,进位位(C)及溢出位(OV)被清除为0

  25.ANL A,Rn11将累加器的值与寄存器的值做AND的逻辑判断,结果存回累加器

  26.ANL A,direct21将累加器的值与直接地址的内容做AND的逻辑判断,结果存回累加器

  27.ANL A,@Ri11将累加器的值与间接地址的内容做AND的逻辑判断,结果存回累加器

  28.ANL A,#data21将累加器的值与常数做AND的逻辑判断,结果存回累加器

  29.ANL direct,A21将直接地址的内容与累加器的值做AND的逻辑判断,结果存回该直接地址

  30.ANL direct,#data32将直接地址的内容与常数值做AND的逻辑判断,结果存回该直接地址

  31.ORL A,Rn11将累加器的值与寄存器的值做OR的逻辑判断,结果存回累加器

  32.ORL A,direct21将累加器的值与直接地址的内容做OR的逻辑判断,结果存回累加器

  33.ORL A,@Ri11将累加器的值与间接地址的内容做OR的逻辑判断,结果存回累加器

  34.ORL A,#data21将累加器的值与常数做OR的逻辑判断,结果存回累加器

  35.ORL direct,A21将直接地址的内容与累加器的值做OR的逻辑判断,结果存回该直接地址

  36.ORL direct,#data32将直接地址的内容与常数值做OR的逻辑判断,结果存回该直接地址

  37.XRL A,Rn11将累加器的值与寄存器的值做XOR的逻辑判断,结果存回累加器

  38.XRL A,direct21将累加器的值与直接地址的内容做XOR的逻辑判断,结果存回累加器

  39.XRL A,@Ri11将累加器的值与间接地扯的内容做XOR的逻辑判断,结果存回累加器

  40.XRL A,#data21将累加器的值与常数作XOR的逻辑判断,结果存回累加器

  41.XRL direct,A21将直接地址的内容与累加器的值做XOR的逻辑判断,结果存回该直接地址

  42.XRL direct,#data32将直接地址的内容与常数的值做XOR的逻辑判断,结果存回该直接地址

  84.ANL C,bit22将进位C与直接地址的某位做AND的逻辑判断,结果存回进位C

  85.ANL C,/bit22将进位C与直接地址的某位的反相值做AND的逻辑判断,结果存回进位C

  86.ORL C,bit22将进位C与直接地址的某位做OR的逻辑判断,结果存回进位C

  87.ORL C,/bit22将进位C与直接地址的某位的反相值做OR的逻辑判断,结果存回进位C

  92.JB bit,rel32若直接地址的某位为1,则跳至rel的相关地址

  94.JBC bit,rel32若直接地址的某位为1,则跳至rel的相关地址,并将该位值清除为0

  102.JMP @A+DPTR12跳至累加器的内容加数据指针所指的相关地址

  105.CJNE A,direct,rel32将累加器的内容与直接地址的内容比较,不相等则跳至rel所指的相关地址

  106.CJNE A,#data,rel32将累加器的内容与常数比较,若不相等则跳至rel所指的相关地址

  107.CJNE @Rn,#data,rel32将寄存器的内容与常数比较,若不相等则跳至rel所指的相关地址

  108.CJNE @Ri,#data,rel32将间接地址的内容与常数比较,若不相等则跳至rel所指的相关地址

  109.DJNZ Rn,rel22将寄存器的内容减1,不等于0则跳至rel所指的相关地址