8051 程式以疊加兩個 8 位數


英特爾 8051 是一款 8 位微控制器。它擁有許多強大的指令和 IO 訪問技術。本節我們將瞭解如何使用 8051 進行其中一項最簡單的程式設計。

在這裡我們將使用此微控制器疊加兩個 8 位數。暫存器 A(累加器)用作操作中的一種運算元。在不同的暫存器庫中有七個暫存器 R0 – R7。我們可以使用其中的任何一個作為第二個運算元。

我們在位置 20H 和 21H 上取兩個數字 5FH 和 D8H,在疊加它們之後,結果將儲存在位置 30H 和 31H。 

地址



.
.
.
20H
5FH
21H
D8H


.
.
.
30H
00H
31H
00H


.
.
.

程式

MOVR0,#20H;set source address 20H to R0
MOVR1,#30H;set destination address 30H to R1
MOVA,@R0; take the value from source to register A
MOVR5,A; Move the value from A to R5
MOVR4,#00H; Clear register R4 to store carry
INCR0; Point to the next location
MOVA,@R0; take the value from source to register A
ADDA,R5;Add R5 with A and store to register A
JNC SAVE
INCR4; Increment R4 to get carry
MOVB,R4;Get carry to register B
MOV@R1,B; Store the carry first
INCR1; Increase R1 to point to the next address
SAVE:   MOV@R1,A;Store the result  
HALT:   SJMP HALT ;Stop the program

因此,透過疊加 5FH + D8H,結果為 137H。01H 將儲存在 30H,37 儲存在 31H。

輸出

地址



.
.
.
20H
5FH
21H
D8H


.
.
.
30H
01H
31H
37H


.
.
.

更新於:2023 年 10 月 31 日

29K+ 瀏覽量

開始您的職業

透過完成課程獲得認證

開始
廣告