51汇编指令大全Word文件下载.docx

上传人:b****4 文档编号:18167411 上传时间:2022-12-13 格式:DOCX 页数:9 大小:17.23KB
下载 相关 举报
51汇编指令大全Word文件下载.docx_第1页
第1页 / 共9页
51汇编指令大全Word文件下载.docx_第2页
第2页 / 共9页
51汇编指令大全Word文件下载.docx_第3页
第3页 / 共9页
51汇编指令大全Word文件下载.docx_第4页
第4页 / 共9页
51汇编指令大全Word文件下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

51汇编指令大全Word文件下载.docx

《51汇编指令大全Word文件下载.docx》由会员分享,可在线阅读,更多相关《51汇编指令大全Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。

51汇编指令大全Word文件下载.docx

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

/:

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

bit:

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

“(x):

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

((x)):

有x见解寻址的单元中的内容.

<

-:

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

$:

当前指令的地址.

单片机指令系统

(一)内部数据传送指令 

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

MOV 

A, 

#data 

;

(A)<

-data

direct 

-(direct)

Rn 

-(Rn)

@Ri 

-((Ri)) 

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

Rn, 

(Rn)<

-(A)

(Rn)<

(direct)-

-(data)

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

direct, 

(direct)<

(direct)<

direct2 

-(direct2)

-((Rn))

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

@Ri, 

((Ri))<

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

DPTR, 

#data16;

(三)片外数据传送指令

MOVX 

-((Ri))片外

@DPTR;

-((DPTR))片外

((Ri))片外<

@DPTR,A 

((DPTR))片外<

(四)ROM数据访问指令(查表指令)

MOVC 

@A+DPTR 

-((A)+(DPTR))rom

@A+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)半字节交换指令:

XCHD 

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

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

SWAP 

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

(七)加法指令

(1)不带Cy加法指令:

ADD 

-(A)+(Rn)

(A)<

-(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)-Cy-(direct)

-(A)-Cy-((Ri))

-(A)-Cy-data

(2)减1指令:

DEC 

-(A)-1

-(durect)-1

-(Rn)-1

-((Ri))-1

(九)乘除指令

(1)乘法指令

MUL 

AB 

(B)(A)<

-(A)*(B)

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

(2)除法指令

DIV 

A/B,商存入A,余数存入B

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

(十)十进制调整指令

DA 

A

(十一)逻辑运算指令

(1) 

逻辑与运算指令:

ANL 

-(A)∧(Rn)

-(A)∧(direct)

-(A)∧((Ri))

-(A)∧data

#data;

(direct<

-(direct)∧data

(2) 

逻辑或运算指令:

ORL 

-(A)∨(Rn)

-(A)∨(direct)

-(A)∨((Ri))

-(A)∨data

-(direct)∨data

(3) 

逻辑异或运算指令:

XRL 

-(A)⊙(Rn)

-(A)⊙(direct)

-(A)⊙((Ri))

-(A)⊙data

-(direct)⊙data

(4) 

累加器清0和去反指令

CLR 

-0(累加器清0指令)

-(A)(累加器取反指令)

(5) 

累加器移位指令:

不带进位Cy循环左移:

RL 

Dn+1<

-Dn,D0<

-D7

D7

D6

D5

D4

D3

D2

D1

D0

不带进位Cy循环右移:

RR 

:

Dn+1->

Dn,D0<

带进位Cy循环左移:

RLC 

Cy<

-D7,Dn+1<

-Cy

带进位Cy循环右移:

RRC 

Cy->

D7,Dn+1->

Dn,D0->

Cy

(十二)控制转移指令

[1]无条件转移指令:

(1)长转移指令 

LJMP 

addr16 

-addr16

(2)绝对转移指令AJMP 

addr11 

-(PC)+2,(PC)10~0<

-addr11 

(3)短转移指令 

SJMP 

rel 

-(PC)+2+rel

(4)变址寻址转移指令JMP 

-(A)+(DPTR) 

[2]条件转移指令:

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

JZ 

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

JNZ 

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

(2)比较转移指令:

CJNZ 

#data, 

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

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

Rn#data, 

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

(3)循环控制转移指令:

DJNZ 

Rn,rel 

(Rn)先减1,如减1后(Rn)≠0,则跳转到目标语句;

否则顺序执行

firect, 

(direct)先减1,如减1后(direct)≠0,则跳转到目标语句;

(十三)子程序调用和返回指令

(1)绝对调用指令:

ACALL 

(2)长调用指令:

LCALL 

addr16

(3)返回指令:

RET 

子程序返回

RETI 

中断服务程序返回

(十四)空操作指令

NOP 

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

(十五)位操作类指令

(1)位传送指令:

C,bit 

(Cy)<

-(bit),bit位的状态不变

bit,C 

(bit)<

-(Cy),Cy位的状态不变

(2)位置位和复位指令:

SETB 

-1

bit 

(bit)<

-0

(3)位运算指令:

-(Cy)∧(bit),Cy位和bit位相与,结果赋给Cy

C,/bit 

-(Cy)∨(bit),Cy位和bit位相或,结果赋给Cy

-(Cy)∨(bit),Cy位和bit位相或,结果赋给Cy

CPL 

(Cy)<

-(Cy),Cy位取反

-(bit),bit位取反

(4)位测试转移指令:

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

JC 

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

JNC 

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

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

JB 

bit,rel 

如果bit=1,跳转到目标语句,否则顺序执行

JNB 

如果bit=0,跳转到目标语句,否则顺序执行

JBC 

如果bit=1,跳转到目标语句,同时将bit位清0;

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

当前位置:首页 > 幼儿教育 > 少儿英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1