8051中的位操作程序


在本节中,我们将了解一些使用 8051 的位操作。8051 支持对 8 位数的不同位进行一些操作。这些操作包括取反、置1、移动、与运算、或运算等。

在这个例子中,我们从 10H 位置获取一个数字 AEH,然后在对该数据执行以下与位相关的操作后,我们只是将结果存储在 30H 位置。

将对该数据执行的与位相关的操作如下:

  • 对 b2 取反

  • 将 b5 移动到 b4

  • 将 b0 与 b1 的补码进行或运算,并将结果存储到 C (b7)

  • 置位 b6

  • 复位 b3

输入为 AEH

位位置
b7
b6
b5
b4
b3
b2
b1
b0

1
0
1
0
1
1
1
0


输出

位位置
b7
b6
b5
b4
b3
b2
b1
b0

0
1
1
1
0
0
1
0


输出将为 72H

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

程序

MOV24H,10H;Copy item from 10H to 24H
CPL24.2;Complement bit b2
MOVC,24.5;Copy b5 to C
MOV24.4,C;Move C to b4
MOVC,24.0;Make copy of b0 to C
ORLC,/1;OR C and complement of b1
SETB24.6;Set bit b6
CLR24.3;Reset bit b3
MOV30H,24H; Store the result at 30H
HALT:   SJMP HALT

从程序中,我们可以很容易地得到逻辑。要使用按位寻址操作,我们必须访问 20H 到 2FH 的位置。这 16 个字节用于按位寻址操作。

在按位寻址操作中,进位标志充当 1 位累加器。

输出

地址



.
.
.
10H
AEH
11H




.
.
.
30H
72H
31H




.
.
.

更新于: 2020-06-27

4K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告