8085程式訪問並交換標誌暫存器與暫存器B的內容
在這個程式中,我們將瞭解如何交換Flat暫存器與暫存器B的內容。
問題陳述
編寫8085組合語言程式,交換標誌暫存器和暫存器B的內容。
討論
由於我們無法直接訪問標誌暫存器的內容,因此必須藉助堆疊。透過使用堆疊,我們可以將PSW(累加器和標誌)的內容壓入堆疊。然後我們可以將其取回並存儲到其他暫存器中。類似地,從其他暫存器中,我們必須將其壓入堆疊,然後將其彈出到PSW。
這裡,如果我們想要交換B和F的值,那麼首先必須將B的副本複製到C。當我們將PSW壓入堆疊時,然後彈出到BC,累加器的內容將載入到B,標誌暫存器的內容將載入到C。
輸入
這裡我們沒有提供任何額外的輸入。我們直接將一個值儲存到B中,然後將其交換到標誌暫存器。在程式中,B包含45H,執行程式後,45H將載入到標誌暫存器。
流程圖

程式
| 地址 | 十六進位制程式碼 | 助記符 | 註釋 |
|---|---|---|---|
| F000 | 31, 00, 90 | LXI SP,9000 | 初始化堆疊指標 |
| F003 | 06, 45 | MVI B,45H | 將45H載入到B中 |
| F005 | 48 | MOV C,B | 將B儲存到C中 |
| F006 | F5 | PUSH PSW | 將AF儲存到堆疊中 |
| F007 | C5 | PUSH B | 將BC儲存到堆疊中 |
| F008 | F1 | POP PSW | 彈出並存儲到AF |
| F009 | C1 | POP B | 彈出並存儲到BC |
| F00A | 41 | MOV B, C | 將C移動到B |
| F00B | 76 | HLT | 終止程式 |
輸出
標誌暫存器將載入45H。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP