当前位置:首页 >> 信息与通信 >>

单片机原理与应用


第4章 指令系统

4.1 概述
4.2 寻址方式 4.3 指令系统

4.1 概述
MCS-51单片机使用7种寻址方式,有111条指令。其中单字节指 令49条,双字节指令45条,三字节指令17条,可分为以下7类: (1)数据传送类指令29条; (2)算术运算类指令24条; (3)逻辑运算类指令20条; (4)移位类指令4条;

(5)控制转移类指令18条;
(6)调用/返回类指令4条; (7)位操作类指令17条。 在介绍指令功能之前,先对指令系统中使用的符号作以简要说 明。

Rn:当前寄存器工作区中的寄存器,其中n=0~7; direct:内部数据存储器地址,指定一个内部RAM单元或一个专用寄存器;

@Ri:通过R1或R0间接寻址,指定数据存储器RAM中的一个单元;
#data:指令中的8位立即数; #data16:指令中的16位立即数; addr11:11位目的地址,用在ACALL或AJMP指令中,表示调用或转移地址; addr16:16位目的地址,用在LCALL或LJMP指令中,表示调用或转换地址;

rel:8位偏移量,用补码表示,用在SJMP等转移指令中;
bit:表示位寻址空间中的位地址,8位,寻址范围为0~FFH。

4.2 寻址方式
MCS-51单片机有7种寻址方式。 1.立即寻址 是指操作数在指令操作数域直接给 出,因此也称为立即数,用符号“#”
PC→ PC+1→ M 01110100 00100101

操作码 立即数 00100101

说明。
例如指令 MOV A;#25H
A

其中 25H 是立即数。其功能是指立

即数 25H 送入累加器 A 中,如图 4.1 所
示。

图4.1 立即寻址(MOV A, #25H)

又如指令 MOV

DPTR, #1856H

16 位立即数送地址寄存器 DPTR 如图 4.2 所示。 DPH 表示 DPTR 的高8位,DPL表示低8位。实际上,16位立即数传送指令仅 此一条。
M PC→ PC+1→

01110100
00011000 01010110

操作码 立即数高位 立即数低位 00011000 01010110 DPH DPL

图4.2 立即寻址(MOV DPTR, #1856H)

2.直接寻址
是指操作数的地址直接在指令操作数域给出。 例如指令 MOV A,3CH

其中3CH为直接地址。指令功能是把内部RAM中3CH单元的数据传送给
累加器A,其示意如图4.3所示。 由于直接地址只能用 8 位数表示,因此仅限于寻址内部数据存储器 RAM和特殊功能寄存器,也是唯一能寻址特殊功能寄存器的寻址方式。
M RAM 操作码 直接地址 3CH 01010101

PC→
PC+1→

11100101 00111100

A 01010101

图4.3 直接寻址(MOV A,3CH)

3.寄存器寻址
是指操作数在寄存器中,寄存器用符号表示。 例如指令 MOV A,R1 指令功能是把寄存器R1中的内容送入累加器A,其示意如图4.4所示。 寄存器寻址方式可访问4个寄存器工作区中的当前工作寄存器组R0~R7 ,也可用于累加器A、通用寄存器B,地址寄存器DPTR和进位位C。其中R0~ R7由指令操作码的低3位表示,A、B、DPTR以及C隐含在指令操作码中

M PC→ 11101001 R1 操作码

R1 A

11111111

11111111

图4.4 寄存器寻址(MOV A, R1)

4.寄存器间接寻址 是指寄存器中存放的是操作数的地址,而操作数在存储器中。寄 存器间接寻址用符号“@”表示。

例如指令 MOV

A,@R0

R0中存放的是操作数地址,指令功能是把R0中的内容所指定的RAM 单元中的数据送入累加器A中,其示意如图4-5所示。可用作间接寻址

的寄存器有R0、R1、 DPTR和SP。
R0 00111100 3CH A 11111111 RAM 00011000

图4.5 寄存器间接寻址(MOV A, @R0)

5.相对寻址 是以程序计数器PC的当前值为基地址,加上指令中给出的偏移量 rel作为 转移目的地址。由于目的地址是相对于PC中的当前值,所以称为相对地址。PC 的当前值是指取出该指令后的内容,即下一条指令地址。因此,转移目的地址 可用如下公式表示: 转移目的地址=下一条指令地址 + rel 偏移量rel是一个带符号的8位二进制数,表示范围为-128~+127。 例如指令 JC 80H 若进位标志 Cy=0,则PC值不变;若进位位Cy=1,则以PC当前值加偏移量80H 后所得的值作为转移目的地址,其示意如图4.6所示。
M
0F82H PC→1000H PC+1→1001H PC+2→1002H 图4.6 相对寻址(JC 80H) ┊ 01110100 10000000 操作码 偏移量 ALU 0F82H 1002H PC

1002H +FF80H 0F82H

6.变址寻址
是以地址寄存器 DPTR 或程序计数器 PC 作为基址寄存器,累加器 A 作为变址寄存器,二者的内容相加,其和作为操作数地址。这种寻址 方式只能访问程序存储器。 例如 MOVC A,@A+DPTR 指令功能为 DPTR 中的内容与 A 中的内容相加,其和所指示的单元 的数送入累加器A,如图4.7所示。
M
PC→1000H PC+1→1001H ┊ 10001000 ALU A 10010011 操作码 10001000 00000000

DPH DPL


8888H

图4.7 变址寻址(MOV A, @A+DPTR)

7.位寻址 是指对一些内部RAM和特殊功能寄存器进行位操作时的寻址方 式。在指令操作数域直接给出该位的地址。位地址与字节直接寻 址的形式一样,主要由操作码来区分。 例如指令 ORL C,50H

指令功能是把位累加器Cy中的内容与50H所指示的位单元中的 内容进行“或”运算,其结果在位累加器Cy中。

以上7种寻址方式,概括如表4.1所示。

表4.1 MCS-51寻址方式

序号

寻址方式

使用的变量

寻址空间

1
2 3

立即寻址
直接寻址 寄存器寻址 R0~R7、A、B、C、DPTR @R0、@R1、SP

程序存储器
内部RAM和特殊功能寄存器

内部RAM

4

寄存器间址 @R0、@R1、@DPTR 外部RAM

5 6 7

相对寻址 变址寻址 位寻址

PC+偏移量 A+DPTR、A+PC

程序存储器 数据程序存储器 内部RAM和特殊功能寄存器的位空间

4.3 指令系统
在 MCS-51 单片机使用了 42 种助记符,与 7 种寻址方式组合,构成 111条指令。下面分为7 类予以介绍。

4.3.1 数据传送类指令 4.3.2 算术运算类指令

4.3.3 逻辑运算类指令
4.3.4 移位类指令 4.3.5 控制转移类指令 4.3.6 调用/返回类指令 4.3.7 位操作类指令

4.3.1数据传送类指令
共有29条,其中包括8位、16位数据传送指令、交 换指令、查表指令以及堆栈操作指令等。这类指令除 向累加器A传送数据,影响奇/偶标志P之外,不影响其

它状态标志。

1. 内部8位数据传送指令 内部 8位数据传送指令主要用于内部 RAM、寄存器之间的传 送,共有15条,如表4.2所示,可分为4种。 (1)累加器传送指令有4条:

MOV A,Rn
MOV A, direct MOV A, @R

;A←(Rn)
;A←(direct) ;A←((R1))

MOV A, #data
例如指令 MOV MOV Rn,A MOV Rn,direct MOV Rn,#data 例如指令 MOV R5, 72H A, R4

;A←data

(2) 寄存器传送指令有3条: ;Rn←A) ;Rn←direct) ;Rn←data

(3) 直接地址单元传送指令有5条; MOV direct, A MOV direct, Rn ;direct←(A) ;direct←(Rn)

MOV direct, @Ri
MOV direct,direct2 MOV direct, #data

;direct←((Ri))
;direct1←(direct2) ;direct←data

例如指令 MOV
MOV @Ri, A

80H,75H
;(Ri)←(A) ;(Ri)←(direct) ;(Ri)←data

(4) 间接地址单元传送指令有3条; MOV @Ri, direct MOV @Ri, #data 例如指令 MOV @R0,#0FH

2. 16位数据传送指令 MOV DPTR,#dat16 ;DPTR←data16 16位数据传送指令仅此一条,如表3.3所示,是把16位的立即数 传送到地址寄存器DPTR中,其中高8位送DPH中,低8位送DPL中,如图 4.2所示。 16位传送类指令对状态标志没有影响。 3. 外部数据传送指令 MOVX A,@Ri ;A←((Ri)) ;(Ri)←(A) MOVX @Ri,A

MOVX

A,@DPTR

;A ←((DPTR))
;(DPTR)←(A)

MOVX @DPTR,A

其功能是在累加器与外部数据存储器之间进行数据传送。如果用Ri 间接寻址,其范围为外部数据存储器的低256个字节单元。如果用DPTR 间接寻址,其范围是外部数据存储器的 64KB 单元。外部数据传送指令 如表4.4所示。 4.交换指令 XCH A,Rn ;(A)?(Rn) XCH A,direct ;(A)?(direct) XCH A,@Ri ;(A)?((Ri)) XCHD A,@Ri ;(A)3~0?((Ri))3~0 SWAP A ;(A)3~0 ?(A)7~4 如表4.5所示,分为3种。第一种是累加器A与工作寄存器Rn或直接 地址单元或Ri所指示的间接地址单元进行8位数据交换,第二种是累加 器A与Ri所指示的间接地址单元进行低半字节交换,第三种是累加器A 中的高半字节与低半字节交换。

例如指令 XCH 又如指令 XCHD

A,R7

;累加器A与寄存器R7交换

A,@R1 ;累加器A中的低4位与R1中的内容所指

示单元中的低4位交换。
5.查表指令 MOVC A,@A+DPTR MOVC A,@A+PC ;A ?((A)+(DPTR)) ;A ?((A)+(PC))

采用变址寻址方式,其中A为变址寄存器,DPTR和PC为基址寄存 器。其功能是把A中内容与DPTR或PC中的内容之和所指示单元中的数 据送入累加器A中,查表指令如表4.5所示。

6.堆栈操作指令 PUSH POP direct direct ;SP←(SP)+1,(SP)←(direct) ;direct←((SP)),SP←(SP)-1

堆栈操作指令共有两条,如表4.6所示。一条是压栈指令PUSH, 也称为进栈;另一条弹栈指令 POP,也称为出栈。这两条指令采用直 接寻址方式,压栈时指针 SP+1 ,数据进栈;弹栈时数据出栈,指针 SP-1。堆栈操作指令只能对字节数进行操作。 例如指令 PUSH PUSH 又如指令 POP DPL DPH R1 ;DPTR低8位地址压栈 ;DPTR高8位地址压栈 ;堆栈顶部数据弹出,送R1

4.3.2算术运算类指令
这类指令共有24条,其中包括加法、减法、加1,减1以及乘法 除法运算指令,对状态标志位均有影响,如表4.7所示。
1.加法指令 ADD A,Rn ADD A,direct ;A ←(A)+(Rn) ;A ←(A)+(direct)

ADD A,@Ri ADD A,#data 带进位的加法指令 ADD A,Rn ADD A,direct ADD A,@Ri ADD A,#data

;A ←(A)+((Ri)) ;A ←(A)+data
;A ←(A)+(Rn)+(C)

;A ←(A)+(direct)+(C) ;A ←(A)+((Ri))+(C) ;A ←(A)+data+(C)

用于的把源操作数与累加器中的数相加,结果在累加器中。带进位加法指令 还要再加上进位位。运算结果影响PSW中的Cy、OV、AC和P。 Cy:当D7有进位时Cy置1,否则清0。 OV:当算术运算有溢出时OV置1,否则清0。 AC:当D3有进位时AC置1,否则清0。 P:当累加器A中“1”的个数为奇数时P置1,否则清0。 【例4-1】试编写计算6655H+11FFH的程序。 解:两个16位数据相加可分为两步,先对低8位相加,再对高8位用带进位加 法指令相加。设结果存入51H和50H单元中,程序设计如下:
MOV ADD A,#55H A,#0FFH

MOV 50H,A MOV A,#66H ADDC A,#11H MOV 51H,A

2.带借位的减法指令
SUBB SUBB SUBB A,Rn A,direct A,@Ri ;A←(A)-(Rn)-(c) ;A←(A)-(direct)-(c) ;A←(A)-((Ri))-(c) ;A←(A)-data-(C)

SUBB A,#data

在MCS-51单片机中只有带进位减法指令,用累加器中 的数减去源操作数后,再减进位位,结果在累加器中。

运算结果影响PSW中的Cy、OV、AC和P。

【例4-2】 试编写计算EE33H-ADE0H的程序。 解:在进行上述 16位减法运算时,也要分成两步进行。先进行低 8 位运算,若产生借位,则再在高8位运算时一起减去,程序设计如下: CLA MOV SUBB MOV MOV SUBB C A,#33H A,#E0H 50H,A A,#EEH A,#A0H ;进位位C清0 ;A←33H ;A←(A)-E0H-(C) ;50H ←(A) ;A ← EEH ;A ←(A)-A0H-(C) ;51H←(A)

MOV 51H,A

3. 加1指令 INC A ;A←(A)+1 INC Rn ;Rn←(Rn)+1 INc direct ;direct←(direct)+1 INC @Ri ;(Ri)←((Ri))+1 INC DPTR ;DPTR←(DPTR)+1 加1指令是给目的地址单元中的数加 1,结果仍在原来地址单元。加1 指令对状态标志寄存器PSW没有影响。 4. 减1指令 DEC A ;A←(A)-1 DEC Rn ;Rn←(Rn)-1 DEC direct ;direct←(direct)-1 DEC @Ri ;(Ri)←((Ri))-1 减1指令是把目的地址单元中的数减1,结果仍在原来地址单元中。 减1指令对状态标志寄存器PSW没有影响。

5. 十进制调整指令
DA A 是一条单字节指令,也称为BCD码修正指令,对BCD码的加法运算结果进 行修正。 当低半字节的值>9或AC=1时,低半字节加6; 当高半字节的值>9或C=1时,高半字节加6 在使用时只要在 BCD码加法运算指令的后面跟一条十进制调整指令就可

以了,但不能用于减法运算。
6. 乘法指令 MUL AB ;BA←(A)×(B) 是一条单字节指令,是把累加器A和寄存器B中的两个无符号数相乘,结 果的低8位在A中,高8位在B中。影响状态标志OV和Cy。 OV:当乘积结果大于0FFH时OV置1,否则清0; Cy:总是清0。

7. 除法指令 DIV AB

是一条单字节指令,是把累加器A中的无符号数 除以寄存器B中的无符号数。结果的商在A中,余数在

B中。影响状态标志OV和Cy。
OV:若除数为0,OV置1,否则清0。 Cy:总是清0。

4.3.3、逻辑运算类指令
共有20条,如表4.8所示,包括“与”、“或”、“异或”及累加 器清“ 0” 、取反等。除改变累加器 A 中的内容的指令对奇 / 偶标志 P 有 影响外,不影响其它状态标志。 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←(direct)∧(A) ANL direct,#data ;direct←(direct) ∧data 有6条,把目的操作数与源操作数接位“与”,结果在目的地址单 元中;可用来屏蔽掉字节数据中的某些位。

【例4-3】把累加器A中的低4位数据送外部数据存储器的2580H单元中。 解:用0FH屏蔽掉高4位,然后传送,程序设计如下:
MOV DPTR,#2580H ANL A,#0FH MOVX @DPTR,A

2.逻辑“或”运算指令
ORL ORL ORL ORL ORL ORL A,Rn A,direct A,@Ri A,#data direct,A direct,#data ;A←(A)∨(Rn) ;A←(A)∨(direct) ;A←(A)∨((Ri)) ;A←(A)∨data ;direct←(direct)∨(A) ;direct←(direct)∨data

有6条,把目的操作数与源操作数按位“或”,结果在目的地址单元 中;可用来把两个操作数中的“1”合并到一个操作数中,或者说把目的操 作数中的某些位置1。

3. 逻辑“异或”运算指令 XRL A,Rn XRL A,direct ;A←(A)⊕(Rn) ;A←(A)⊕(direct)

XRL A,@Ri
XRL A,#data XRL direct,A XRL direct,#data 址单元中。

;A←(A)⊕((Ri))
;A←(A)⊕data ;direct←(direct)⊕(A) ;direct←(direct)⊕data

有6条,把目的操作数与源操作数按位“异或”,结果在目的地 例 如 累 加 器 A 中 的 内 容 为 11000011 , 寄 存 器 R7 中 的 内 容 为

10101010,执行指令
XRL A,R7 后,累加器A中的内容为01101001。

4. 累加器清0指令 CLR A 5. 累加器取反指令 CPL A ;A←( A) ;A←0

4.3.4 移位类指令
共有 4 条,对累加器 A 中的数据进行移位操作,如表 4.9 所示,除带进 位的移位指令对进位位 C和奇 / 偶标志位 P 有影响外,不影响其它状态标志位。 1.不带进位循环左移指令 RL A ;ACC.(i+1)←ACC.i, ACC.0←ACC.7 2.带进位循环左移指令 RLC A ;ACC.(i+1)←ACC.i, ACC.0←Cy, Cy←ACC.7 3. 不带进位循环右移指令 RR A ;ACC.i ACC.(i+1), ACC.7←ACC.0 4.带进位循环右移指令 RRC A ;ACC.i←ACC.(i+1), ACC.7←Cy, Cy←ACC.0 移位指令用来把累加器A中的数据循环左移一位或者右移一位。对于带 进位的循环移位指令,进位位Cy的状态由移入的数位决定。

4.3.5 控制转移类指令
共 18 条,包括无条件转移指令,条件转移指令,比较转移

指令及计数转移指令等,如表 4.10 所示。其功能是无条件或者
有条件地控制程序转移到目的地址单元。 1.无条件转移指令 无条件转移指令共有4条。 (1)LJMP daar16 ;PC←addr16 三字节直接寻址的无条件转移指令,转移地址在指令操作 域直接给出,寻址范围为64K(0000H~FFFFH),所以称为长转 移指令。 (2)AJMP addr11 ;PC10~0 addr11

双字节直接寻址的无条件转移指令,指令操作数域给出 11位的转地 址。它把PC高5位与操作码的高 3位以及指令第二字节并在一起,构成 16位的转移址址,如图4.8所示,常称为绝对转移指令。
第一字节 操作码 高3位 PC高5位 第二字节 地址域 8位 PC低11位 图4.8 装入11转移地址

寻址范围为该指令地址加2后,向下的2K区域,其指令码如下:
A10 a9 a8 0 0 0 0 1 a7 a 6 a5 a4 a3 a2 a1 a0

(3)SJMP rel

;PC←(PC)+rel

双字节相对寻址的无条件转移指令,第二字节给出转移地址的偏移 量 rel (带符号的 8 位二位制补码数),寻址范围为 256 ( -80H ~ +7FH ) 。转移地址为程序计数器 PC的当前值加偏移量,因此称为相对短转移指 令。 在用汇编语言编程时,相对地址的偏移量 rel 可以用目的地址的标 号(符号地址)表示,程序汇编时自动计算偏移量。

例如指令 HERE:SJMP HERE
或 HERE:SJMP $ $代表本指令地址。

(4)JMP @A+DPTR

;PC←(A)+(DPTR)

单字节变址寻址的无条件转移指令,累加器A中存放的是相对偏移 量,DPTR中存放的是变址基值,二者之和为转移地址,寻址范围为64K (0000H~FFFFH),因此称为相对长转移指令。

2.条件转移指令 是根据特定的条件控制程序的转移,共有 4 条,均是相对寻址的双字 节指令。转移地址为程序计数器PC的当前值加偏移量rel。 JZ rel ;若(A)=0,则PC←(PC)+rel JNZ rel ;若(A)≠0,则PC←(PC)+rel JC rel ;若Cy=1,则PC←(PC)+rel JNC rel ; 若Cy=0,则PC←(PC)+rel 3. 位测试转移指令 对位地址单元进行测试,根据测试结果控制程序的转移,共有 3 条, 均是相对寻址的三字节指令。其中第二字节是位地址,第三字节是偏移量 。转移地址为程序计数器PC的当前值加偏移量。 JB bit, rel ;若(bit)=1, 则PC←(PC)+rel JNB bit, rel ;若(bit)=0,则PC←(PC)+rel JBC bit, rel ;若(bit)=1,则PC←(PC)+rel,且bit←0。

4. 比较转移指令
是根据两数比较的结果决定程序是否转移,共有4条,均是相对寻址 的三字节指令。比较相等时,程序顺序执行,不相等时转移。 CJNE CJNE CJNE CJNE A, #data, rel Rn, #data,rel ;若(A)≠data,则PC←(PC)+rel ;若(Rn)≠data,则PC←(PC)+rel

@Ri, #data, rel ;若((Ri))≠data,则PC←(PC)+rel A, irect, rel ;若(A) ≠(direct),则PC←(PC)+rel

当目的地址单元中的数小于源地址单元中的数据时,进位位Cy置1, 否则清0,不影响其它状态标志位。

5.计数转移指令
对指定单元减1计数,结果不为零时转移,否则顺序执行,共 有2条,均是相对寻址的转移指令。 DJNZ Rn, rel

;Rn←(Rn)-1,若(Rn) ≠0,则PC←(PC)+rel

DJNZ direct,rel
;direct←(direct)-1,若(direct) ≠0,则PC←(PC)+rel 【例 4.4】设片内 RAM 的 50H 和 60H 单元中分别存放有两个无符 号数,找出最大者,送70H单元。

解:用比较转移和有进位转移指令共同判断两数的大小,程序设计 如下: MOV A,50H CJNE A,60H,LI ;比较,不相等转移 MOV 70,A SJMP HH LL:JC MM ;小于转移 MOV 70H,A SJMP HH MM:MOV 70H,60H HH: 6. 空操作指令 NOP 单字节指令,其功能是取指令,译码,不进行任何操作(即空操作) 而转下一条指令。

4.3.6 调用/返回类指令
调用指令在主程序中使用,执行时保护断点,使程序转向子程序 入口;返回指令在子程序的末尾使用,其作用是返回到主程序中原来被 断开的地方,即断点。调用/返回类指令如表4.11所示。 1.调用指令 (1)LCALL addr16 ;(PC)压栈,PC←addr16 直接寻址的三字节指令,使程序计数器PC的当前值压栈,子程序入

口地址 ddr16 送 PC 。寻址范围为 64K ( 0000H ~ FFFFH ),称为长调用指令
。指令执行过程如下: SP←(SP)+1

(SP)←(PC)7~0
SP←(SP)+1 (SP)←(PC)15~8 PC←addr16

(2)ACALL addr11

;(PC)压栈,PC10~0←addr11

直接寻址的双字节指令,使程序计数器PC的当前值压栈,11位的子 程序入口地址 addr11 送 PC 的低 11 位,与其高 5 位并成 16 位地址,常称为

绝对调用指令,指令格式与绝对转移指令AJMP类似,寻址范围为2K,其
指令码如下:
a10 a9 a8 1 0 0 0 1 a7 a6 a5 a4 a3 a2 a1 a0

指令执行过程如下: SP←(SP)+1 (SP)←(PC)7~0 SP←(SP)+1 (SP)←(PC)15~8 PC←addr11

2. 返回指令 返回指令有两条,一条是子程序返回指令,另一条是中断返回指令。 RET 子程序返回指令,单字节,无操作数,其功能是弹栈,把断点地址送回 到程序计数器PC中,即返回到调用该子程序的程序中去。一般用在子程序的 末尾,执行过程如下: PC15~8←(SP) SP←(SP)-1 PC7~0←(SP) SP←(SP)-1 RETI 中断返回指令,单字节,无操作数,其功能与RET相同,使程序返回到 被中断的程序中去。另外,该指令具有清除中断响应时置位的标志,开放低 一级的中断以及恢复中断逻辑等功能。

4.3.7 位操作类指令
共有 12 条,如表 4.12 所示,包括位传送、位清 0 、位取反、按位 “与”和按位“或”等6种,用来对位地址空间进行操作。与位地址空 间和位累加器Cy一起构成布尔处理机。 1.位传送指令 MOV MOV C, bit bit, C ;Cy←(bit) ;bit←(Cy)

有两条,是位寻址的双字节指令,第二字节为位地址,用来实现位 累加器Cy与位地址单元数据传送。在汇编语言程序设计中,寻址位可用 位地址、位名称(如F0)及寄存器加标注来表示,如PSW.9。

2.位清0指令 CLR CLR C bit ;Cy←0 ;bit←0

有两条,一条是单字节指令,另一条是双字节指令,用来把进 位位Cy或指定位清0。 3.位置1指令 SETB SETB C bit ;Cy←1 ;bit←1

有两条,一条是单字节指令,另一条是双字节指令,用来把进 位位Cy或指定位置1。

4.位取反指令 CPL C ;Cy←(Cy )

CPL

bit

;bit←( bit)

有两条,一条是单字节指令,另一条是双字节指令,用来把 进位位Cy或指定位中的数取反。

5.按位“与”指令
ANL ANL C, bit C, /bit ;Cy←(Cy)∧(bit) ;Cy←(Cy)∧( bit )

有两条,均为双字节指令,其功能是把位累加器Cy中的内容
与指定位中的内容或其反码“与”,结果在Cy中。

6.按位“或”指令 ORL ORL C, bit C, /bit ;Cy←(Cy)∨(bit) ;Cy←(Cy)∨( bit)

有两条,均是双字节指令,其功能是把位累加器 Cy 中的内容

与指定位中的内容或其反码“或”,结果在Cy中。
位操作指令除了上述12条外,还有5条位测试转移指令,已在 控制转移指令中介绍过,这里不再重复。


相关文章:
单片机原理与应用(盛珣华)习题和思考题答案
单片机原理与应用(盛珣华)习题和思考题答案_工学_高等教育_教育专区。单片机原理与应用(盛珣华) 习题和思考题答案第一章 单片机概述 1. 第一台电子数字计算机发明...
单片机原理及应用(林立_张俊亮版)课后习题答案
单片机原理应用(林立_张俊亮版)课后习题答案_工学_高等教育_教育专区。第一章习题 1.什么是单片机?单片机通用微机相比有何特点? 答: 单片机又称为单片微...
单片机原理及应用第三版(张毅刚)1-6章全
单片机原理应用第三版(张毅刚)1-6章全_电子/电路_工程科技_专业资料。第1章一、填空 思考题及习题 1 参考答案 1. 除了单片机这一名称之外,单片机还可称为 ...
单片机原理及应用考试复习知识点
单片机原理应用考试复习知识点第 1 章 计算机基础知识考试知识点: 1、各种进制之间的转换 (1)各种进制转换为十进制数 方法:各位按权展开相加即可。 (2)十进制...
单片机原理与应用课后习题
什么是单片机? 答:单片机是把微型计算机中的微处理器、存储器、I/O 接口、定时器/计数器、串行接口、 中断系统等电路集成到一个集成电路芯片上形成的微型计算机。...
《单片机原理及应用》试题库
单片机原理应用》试题库_工学_高等教育_教育专区。N多单片机方面的试题,同时附有答案。很好的参考哦。一、填空(每空 2 分,共 40 分) 1、MCS-8051 系列...
单片机原理及应用答案
C:\Documents 案.htm and Settings\Administrator\Local Settings\Temp\Rar$EX01.578\01311\ 习题参考答 《单片机原理应用》思考题与习题参考答案绪论 0.1 解...
单片机原理及应用试题库 - 答案
单片机原理应用》试题库一、 填空题 1.单片机就是把( CPU)、( 输入/输出 )、和( 存储器 )等部件都集成在一个电路 芯片上,并具备一套功能完善的( 指令...
单片机原理及应用研究概述
单片机原理应用研究概述_信息与通信_工程科技_专业资料。单片机单片机原理应用研究概述 1946 年第一台电子计算机诞生至今,依靠微电子技术和半导体技术的进步, 从电...
单片机原理与应用(C语言版)习题答案
单片机原理与应用(C语言版)习题答案_工学_高等教育_教育专区。第 1 章 习题 1-1 什么是单片机? 单片机是把微型计算机中的微处理器、存储器、I/O 接口、定时...
更多相关标签: