最新51汇编指令大全资料.docx

上传人:b****4 文档编号:5968325 上传时间:2023-05-09 格式:DOCX 页数:9 大小:18.72KB
下载 相关 举报
最新51汇编指令大全资料.docx_第1页
第1页 / 共9页
最新51汇编指令大全资料.docx_第2页
第2页 / 共9页
最新51汇编指令大全资料.docx_第3页
第3页 / 共9页
最新51汇编指令大全资料.docx_第4页
第4页 / 共9页
最新51汇编指令大全资料.docx_第5页
第5页 / 共9页
最新51汇编指令大全资料.docx_第6页
第6页 / 共9页
最新51汇编指令大全资料.docx_第7页
第7页 / 共9页
最新51汇编指令大全资料.docx_第8页
第8页 / 共9页
最新51汇编指令大全资料.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

最新51汇编指令大全资料.docx

《最新51汇编指令大全资料.docx》由会员分享,可在线阅读,更多相关《最新51汇编指令大全资料.docx(9页珍藏版)》请在冰点文库上搜索。

最新51汇编指令大全资料.docx

最新51汇编指令大全资料

51汇编指令大全

Rn:

表示当前寄存器区的8个工作寄存器R0~R7

Ri:

  表示当前寄存器区的R0或R1,可作地址指针即间接寻址寄存器(i=0或1)

@:

  为间接寄存器或基址寄存器的前缀.

Direct:

表示8位内部数据存储单元的地址.它可以是内部RAM的单元地址0~127.

特殊功能寄存器SFR的地址(128~255)或名称,

A:

   累加器ACC.

B:

   特殊功能寄存器B,用于MUL和DIV指令中.

C:

   进位位Cy.

#data:

表示包含在指令中的单字节(8位)立即数.如果用16位进制表示,后缀字母为”H”,数据范围00~0FFH,不得一字母开头;如果用16进制表示无须任何后缀,但必须在0~255之间.

#data16:

表示包含在指令中的双字节(16位)立即数.

Adda16:

表示16位的目的地址.用于LCALL和LJMP指令中,目的地址范围是从0000H~FFFFH的整个64KB存储地址空间.

Adda11:

表示11位的目的地址.用于ACALL和AJMP的指令中,目的地址必须和下一条指令第一个字节同处一页.

Rel:

  表示8位带符号的相对偏移量.用语SJMP和所有的条件转移指令中.偏移量相对于下一条指令的第一个字节计算,在-128~+127范围内取值.

DPTR:

 为数据指针,可用作16位的地址寄存器.

/:

   加在位操作的前面,表示对该位进行非运算.

bit:

  表示内部可寻址位或特殊功能寄存器中的直接寻址位.

(x):

  寄存器或地址单元中的内容.

((x)):

 用x间接寻址的单元中的内容.

<-:

  表示将箭头右边的内容传送至箭头的左边.

$:

   当前指令的地址.

单片机指令系统

(一)内部数据传送指令  

(1)以累加器A为目的的传送指令:

MOVA,  #data    ;(A)<-data

MOV    A,  direct   ;(A)<-(direct)

MOV    A,  Rn     ;(A)<-(Rn)

MOV    A,  @Ri     ;(A)<-((Ri))        

(2)以通用寄存器Rn为目的的传送指令:

MOV    Rn,  A     ;(Rn)<-(A)

MOV    Rn,  direct   ;(Rn)<(direct)

MOV    Rn,  #data:

   ;(Rn)<-data

(3)以直接地址为目的的传送指令:

MOV    direct,  A      ;(direct)<-(A)

MOV    direct,  Rn     ;(direct)<-(Rn)

MOV    direct,  direct2  ;(direct)<-(direct2)

MOV    direct,  @Ri     ;(direct)<-((Rn))

MOV    direct,  #data    ;(direct)<-data

(4)以寄存器间接地址为目的的传送指令:

MOV    @Ri,    A      ;((Ri))<-(A)

MOV    @Ri,    direct   ;((Ri))<-(direct)

MOV    @Ri,    #data    ;((Ri))<-data

(二)数据指针赋值指令(16位数据传送指令)

MOV    DPTR,  #data16;

(三)片外数据传送指令

MOVX   A,     @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))rom

MOVC   A,     @A+PC    ;(PC)<-(PC)+1,(A)<-((A)+(PC))rom

(五)堆栈操作指令

PUSH   direct    ;(SP)<-(SP)+1,(SP)<-(direct)

堆栈指针先加1,将数据压入栈顶

POP    direct    ;(direct)<-(SP),(SP)<-(SP)-1

将数据从栈顶弹出存入direct,SP再减1

(六)数据交换指令

(1)整字节(8位)交换指令:

XCH    A,  Rn;A和Rn中的数互换

XCH    A,  direct  ;A和direct单元中的数互换

XCH    A,  @Ri    ;A和Ri间址单元中的数互换

(2)半字节交换指令:

XCHD   A,  @Ri    ;A的低4位Ri间接单元的低4位互换,高4位不动

(3)累加器高低半字节交换指令:

SWAP   A,           ;A的高4位(D7~D4)和低4位(D3~D0)互换

(七)加法指令

(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)+data

(2)带进位加法指令:

ADDC   A,  Rn    ;(A)<-(A)+Cy+(Rn)

ADDC   A,  direct  ;(A)<-(A)+Cy+(direct)

ADDC   A,  @Ri    ;(A)<-(A)+Cy+((Ri))

ADDC   A,  #data  ;(A)<-(A)+Cy+data

(3)加1指令:

INC   A,           ;(A)<-(A)+1

INC   Rn           ;(Rn)<-(Rn)+1

INC   @Ri           ;((Ri))<-((Ri))+1

INC   direct         ;(direct)<-(direct)+1

INC   DPTR          ;(FPTR)<-(DPTR)+1

(八)减法指令

(1)带进位减法指令:

SUBB   A,  Rn    ;(A)<-(A)-Cy-(Rn)

SUBB  A,  direct  ;(A)<-(A)-Cy-(direct)

SUBB  A,  @Ri    ;(A)<-(A)-Cy-((Ri))

SUBB  A,  #data   ;(A)<-(A)-Cy-data

(2)减1指令:

DEC   A            ;(A)<-(A)-1

DEC   direct          ;(direct)<-(direct)-1

DEC   Rn            ;(Rn)<-(Rn)-1

DEC   @Ri           ;((Ri))<-((Ri))-1

(九)乘除指令

(1)乘法指令

MUL   AB            ;(B)(A)<-(A)*(B)

指令功能是把累加器A和特殊功能寄存器B中两个8位无符号整数相乘,并把积的高8位字节存入B寄存器,低8位字节存入累加器A.

(2)除法指令

DIV   AB            ;A/B,商存入A,余数存入B

指令的功能是把累加器A中的8位无符号整数除以寄存器B中的8位无符号整数商的整数部分存入累加器A中,余数保留在B中.

(十)十进制调整指令

DA   A

(十一)逻辑运算指令

(1)  逻辑与运算指令:

ANL   A,  Rn     ;(A)<-(A)∧(Rn)

ANL   A,  direct   ;(A)<-(A)∧(direct)

ANL   A,  @Ri     ;(A)<-(A)∧((Ri))

ANL   A,  #data    ;(A)<-(A)∧data

ANL   direct,   A   ;(direct)<-(A)∧(direct)

ANL   direct,   #data;(direct<-(direct)∧data

(2)  逻辑或运算指令:

ORL   A,  Rn      ;(A)<-(A)∨(Rn)

ORL   A,  direct    ;(A)<-(A)∨(direct)

ORL   A,  @Ri      ;(A)<-(A)∨((Ri))

ORL   A,  #data     ;(A)<-(A)∨data

ORL   direct,   A   ;(direct)<-(A)∨(direct)

ORL   direct,   #data;(direct)<-(direct)∨data

(3)  逻辑异或运算指令:

XRL   A,  Rn      ;(A)<-(A)⊙(Rn)

XRL   A,  direct    ;(A)<-(A)⊙(direct)

XRL   A,  @Ri      ;(A)<-(A)⊙((Ri))

XRL   A,  #data     ;(A)<-(A)⊙data

XRL   direct,   A   ;(direct)<-(A)⊙(direct)

XRL   direct,   #data;(direct)<-(direct)⊙data

(4)  累加器清0和取反指令

CLR   A          ;(A)<-0(累加器清0指令)

CPL   A          ;(A)<-(A)(累加器取反指令)

(5)  累加器移位指令:

不带进位Cy循环左移:

RL   A   ;Dn+1<-Dn,D0<-D7

                

D7D6D5D4D3D2D1D0

不带进位Cy循环右移:

      

RR   A   ;Dn+1->Dn,D0<-D7

D7D6D5D4D3D2D1D0

带进位Cy循环左移:

   

RLC  A          ;Cy<-D7,Dn+1<-Dn,D0<-Cy

D7D6D5D4D3D2D1D0

带进位Cy循环右移:

         

RRC A          ;Cy->D7,Dn+1->Dn,D0->Cy

(十二)控制转移指令

[1]无条件转移指令:

(1)长转移指令   

LJMP addr16         ;(PC)<-addr16

(2)绝对转移指令AJMP addr11          ;(PC)<-(PC)+2,(PC)10~0<-addr11 

(3)短转移指令   

SJMP rel             ;(PC)<-(PC)+2+rel

(4)变址寻址转移指令

JMP  @A+DPTR   ;(PC)<-(A)+(DPTR)    

[2]条件转移指令:

(1)累加器判0转移指令:

JZ  rel         ;如果(A)=0,跳转到目标语句,否则顺序执行

JNZ  rel         ;如果(A)≠0,跳转到目标语句,否则顺序执行

(2)比较转移指令:

CJNZ A,  #data,    rel  ;如果(A)≠data,则跳转到目标语句,否则程序顺序执行

CJNZ A,  direct,   rel  ;如果(A)≠(direct),则跳转到目标语句,否则程序顺序执行

CJNZ Rn,#data,    rel ;如果Rn≠data,则跳转到目标语句,否则程序顺序执行

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     空操作指令是一条特殊指令,单片机在执行该指令时不进行任何操作,只是消耗1个机器周期的时间,所以该指令长用于延时程序.软件陷阱程序等

(十五)位操作类指令

(1)位传送指令:

MOV    C,bit        ;(Cy)<-(bit),bit位的状态不变

成功秘诀:

好市口+个性经营MOV    bit,C        ;(bit)<-(Cy),Cy位的状态不变

(2)置位和复位指令:

SETB    C          ;(Cy)<-1

3、消费“多样化”SETB    bit         ;(bit)<-1

CLR    C          ;(Cy)<-0

小饰品店往往会给人零乱的感觉,采用开架陈列就会免掉这个麻烦。

“漂亮女生”像是个小超市,同一款商品色彩丰富地挂了几十个任你挑,拿上东西再到收银台付款。

这也符合女孩子精挑细选的天性,更保持了店堂长盛不衰的人气。

CLR    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位相或,结果赋给Cy

ORL    C,/bit       ;(Cy)<-(Cy)∨(bit),Cy位和bit位相或,结果赋给Cy

人民广场地铁站有一家名为“漂亮女生”的饰品店,小店新开,10平方米不到的店堂里挤满了穿着时尚的女孩子。

不几日,在北京东路、淮海东路也发现了“漂亮女生”的踪影,生意也十分火爆。

现在上海卖饰品的小店不计其数,大家都在叫生意难做,而“漂亮女生”却用自己独特的经营方式和魅力吸引了大批的女生。

CPL    C          ;(Cy)<-(Cy),Cy位取反

500元以上1224%CPL    bit         ;(bit)<-(bit),bit位取反

(4)位测试转移指令:

二、大学生DIY手工艺制品消费分析

(1)以Cy位状态为条件的转移指令

JC     rel         ;如果Cy位=1,跳转到目标语句,否则顺序执行

JNC    rel         ;如果Cy位=0,跳转到目标语句,否则顺序执行

(2)以指定位状态为条件的转移指令:

标题:

手工制作坊2004年3月18日JB     bit,rel      ;如果bit=1,跳转到目标语句,否则顺序执行

(一)大学生的消费购买能力分析JNB    bit,rel      ;如果bit=0,跳转到目标语句,否则顺序执行

JBC    bit,rel      ;如果bit=1,跳转到目标语句,同时将bit位清0;否则顺序执行

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2