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