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 | |
| . . . |
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP