8085模擬十進位制減計數器程式
現在讓我們來看一個Intel 8085微處理器的程式。在這個程式中,我們將看到如何模擬十進位制減計數器。
問題陳述:
編寫8085組合語言程式來模擬十進位制減計數器。
討論:
在本節中,我們模擬十進位制減計數器。這裡計數器將從99到0計算100個十進位制數字。所有值將在每0.5秒更新一次。對於十進位制計數,我們使用DAA指令。
注意:為了簡單起見,我們將數字儲存到記憶體中。要像計數器一樣模擬它,我們可以使用7段顯示器來顯示數字
輸入:
這裡我們不提供任何輸入。
流程圖:
程式:
地址 | 十六進位制程式碼 | 標籤 | 指令 | 註釋 |
---|---|---|---|---|
F000 | 3E, 99 | MVI A,99H | 初始化A為99H | |
F002 | 32, 00, 80 | LOOP | STA 8000H | 將A儲存到8000H |
F005 | CD, 11, F0 | CALL DELAY | 等待0.5秒 | |
F008 | 3A, 00, 80 | LDA 8000H | 從8000H取回資料 | |
F00B | C6, 99 | ADI 99H | 將99H與數字相加 | |
F00D | 27 | DAA | 十進位制調整 | |
F00E | C3, 02, F0 | JMP LOOP | 跳轉到LOOP | |
F011 | 01, FF, FF | DELAY | LXI B,FFFFH | 初始化BC暫存器對為FFFFH |
F014 | 0B | L1 | DCX B | 減少BC |
F015 | 78 | MOV A,B | 將B移到A | |
F016 | B1 | ORA C | C與E進行或運算 | |
F017 | C2, 13, F0 | JNZ L1 | 如果Z=0,跳轉到L1 | |
F01A | C9 | RET | 子程式返回 |
輸出:
數字儲存在記憶體位置8000H中。
廣告