8085程式:在資料欄位中交替顯示00和FF
現在讓我們來看一個Intel 8085微處理器的程式。在這個程式中,我們將交替生成00H和FFH。
問題陳述:
編寫8085組合語言程式,交替生成00H和FFH。
討論:
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