8051 微處理器中兩個 8 位數的除法程式


在這裡,我們將瞭解除法運算。此操作將用於使用此 8051 微控制器除兩個 8 位數。暫存器 A 和 B 將在此操作中使用。其他暫存器不能用於除法。除法的結果有兩個部分。商部分和餘數部分。暫存器 A 將儲存商,暫存器 B 將儲存餘數。

我們在 20H 和 21H 位置獲取兩個數字 0EH 和 03H,除法後結果將儲存在 30H 和 31H 位置。

地址

 

20H
0EH
21H
03H
 

30H
00H
31H
00H
 


程式

      MOV R0, #20H ; set source address 20H to R0
      MOV R1, #30H ; set destination address 30H to R1
      MOV A, @R0 ; take the first operand from source to register A
      INC R0 ; Point to the next location
      MOV B, @R0 ; take second operand from source to register B
      DIV AB ; Divide A by B
      MOV @R1, A ; Store Quotient to 30H
      INC R1 ; Increase R1 to point to the next location
      MOV @R1, B ; Store Remainder to 31H
HALT: SJMP HALT ; Stop the program

8051 提供了 **DIV AB** 指令。透過使用此指令,可以完成除法。在某些其他微處理器(如 8085)中,沒有 DIV 指令。在該微處理器中,我們需要使用重複減法運算來獲得除法的結果。

當分母為 00H 時,溢位標誌 OV 將為 1。否則,對於除法,它為 0。

輸出

地址

 

20H
0EH
21H
03H
 

30H
04H
31H
02H
 

更新於: 2019 年 10 月 9 日

2K+ 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告