アセンブリエラー**エラー** test5.ASM(84)無効なインデックスモード

エラー:

add dh, dl  ;dh为键号(0-15)
mov al, 01h
mov dx, CPORT
out dx, al
mov al, codes[dh]  ;输出显示
mov dx, APORT
out dx, al

エラー文は次のとおりです。

mov al, codes[dh]  ;输出显示

理由分析:codesはdb配列です。ここでは、codesのdh番目の番号にアクセスするには、diまたはsiを配列の添え字として使用する必要があります。

解決策: dhは8桁のみで、diは16桁です。dxをdiに割り当てようとするには、dxの全体的な値を上位の8つのdhと等しくする必要があります。

mov dl, dh
xor dh, dh
mov di, dx

おすすめ

転載: blog.csdn.net/Cyril_KI/article/details/109497804