我正在使用emu8086。我有一個問題,它負責顯示我們在從其hexa輸入轉換後在七段顯示器上看到的內容。我應該輸入我的數據在六進制,如果它匹配七段表的十六進制輸入,它顯示十進制數,例如。 3FH = 0,06H = 1。我使用數組來實現這個程序。下面是工作源程序:未知的操作碼已跳過:66,而不是8086指令 - 尚未支持
ORG 100H
MOV AL,[1840H] ;input in this memory location
MOV CL,0AH ; initialize length counter
AGAIN: CMP AL,MSG+BX ; compare to check if the data matches
JE RESULT ; jump to RESULT if data matched
INC BX ; increase decimal output by 1 if data not matched
LOOP AGAIN
MOV [1841H],0FFH ; display FF if no data matched the array
HLT
MSG DB 3FH, 06H, 5BH, 4FH,66H, 6DH,7DH,07H,7FH,6FH ; my array with hexa inputs
RESULT: MOV [1841H],BL ; display data if matched
我有這個程序的工作。但是我嘗試了一些我將數組MSG DB 3FH ...切換到ORG 100H之後和MOV AL [1840H]之前的位置,運行該程序會給出錯誤消息「未知操作碼已跳過:66,而不是8086指令 - 尚未支持「。我無法找到原因。
任何人都會有什麼想法是什麼原因,我可以修復任何東西,使我的程序工作,如果我要保持ORG 100H和MOV AL,[1840H]之間的陣列?
您正在使用非法操作碼指令芯片集 – jgr208 2014-10-01 16:35:30
http://stackoverflow.com/questions/5209835/program-which-asks-if-you-want-beer – jgr208 2014-10-01 16:39:07
@ jgr208我將能夠做任何事情讓它起作用?我已經嘗試將66H改爲60H至6FH的其他六進制數,其中一些包含指令,但程序不會按照我想要的方式工作,儘管沒有彈出消息,那些不包含指令的彈出窗口「未知的操作碼跳過...」消息,不是60H-6FH沒有定義任何指令,爲什麼他們中的一些人有它,有些沒有? – OneBaseNotch 2014-10-02 00:46:59