8085 微處理器資料欄位中交替顯示 00 和 FF 的程式
這裡我們將看到一個 8085 微處理器程式。這個程式將交替生成 00H 和 FFH。
問題陳述 −
編寫一個可以交替生成 00H 和 FFH 的 8085 組合語言程式。
討論 −
00H 和 FFH 每秒交替變化。所以我們需要一秒鐘的延遲。我們建立了一個延遲子程式來產生 1 秒的延遲。
注意:為了簡單起見,我們這裡將數字儲存到記憶體中。為了顯示數字,我們可以使用 7 段顯示器和其他顯示功能來顯示。
輸入
這裡我們沒有提供任何輸入。
流程圖

程式
| 地址 | 十六進位制程式碼 | 標籤 | 助記符 | 註釋 |
|---|---|---|---|---|
| F000 | AF | LOOP | XRA A | 清零 A 暫存器 |
| F001 | 32, 50, 80 | | STA 8050H | 將 00H 儲存到 8050H |
| F004 | CD, 11, F0 | | CALL DELAY | 等待 1 秒 |
| F007 | 3D | | DCR A | 遞減 A 以獲得 FFH |
| F008 | 32, 50, 80 | | STA 8050H | 將 FFH 儲存到 8050H |
| F00B | CD, 11, F0 | | CALL DELAY | 等待 1 秒 |
| F00E | C3, 00, F0 | | JMP LOOP | 跳轉到 LOOP |
| F011 | 0E, 02 | DELAY | MVI C,02H | 將計數器初始化為 02H |
| F014 | 11, FF, FF | L1 | LXI D,FFFFH | 將 FFFFH 載入到 DE |
| F016 | 1B | L2 | DCX D | 遞減 DE |
| F017 | 7A | | MOV A,D | 將 D 傳送到 A |
| F018 | B3 | | ORA E | A 和 E 進行或運算 |
| F019 | C2, 16, F0 | | JNZ L2 | 如果 Z = 0,則跳轉到 L2 |
| F01C | 0D | | DCR C | 將 C 遞減 1 |
| F01D | C2, 13, F0 | | JNZ L1 | 如果 Z = 0,則跳轉到 L1 |
| F020 | C9 | | RET | 從子程式返回 |
輸出
數字儲存在記憶體位置 8000H 中。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP