我正在使用emu8086。我有一个问题要求我在从其六进制输入转换后显示我们在七段显示器上看到的内容。我应该以六进制输入我的数据,如果它与七段表的六进制输入匹配,它会显示十进制数,例如。3FH = 0, 06H = 1。我正在使用数组来实现这个程序。下面是工作源程序:
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...
到 afterORG 100H
和 before的位置MOV AL,[1840H]
,运行程序会给出错误消息
“跳过了未知的操作码:66,不是 8086 指令 - 尚不支持”。
我找不到原因。
任何人都会知道这是什么原因,如果我要将数组保持在 and 之间ORG 100H
,我可以修复任何东西以使我的程序正常工作MOV AL,[1840H]
吗?