Error de ensamblaje ** Error ** test5.ASM (84) Modo de indexación ilegal

Error:

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

La oración de error es:

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

Análisis de la razón: códigos es una matriz db, aquí para acceder al número dh-ésimo en códigos, debe usarse di o si como subíndice de la matriz.

Solución: dh tiene solo ocho dígitos y di tiene 16 dígitos. Para intentar asignar dx a di, el valor total de dx debe ser igual a su octavo dh máximo:

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

Supongo que te gusta

Origin blog.csdn.net/Cyril_KI/article/details/109497804
Recomendado
Clasificación