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

程式

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+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.