Programación General > ASM (Ensamblador)
"illegal Instruction" En Codeview
(1/1)
tirengarfio:
Saludos,
tengo que escribir un codigo que localice el mayor y el menor de entre 16 datos de
un byte almacenados en una tabla, considerándolos como números sin
signo.
He escrito una parte. Esto:
--- Código: Text --- DOSSEG .MODEL SMALL .STACK 100h .DATA memo1 DB 10h DUP (0h, 1h, 2h, 3h, 4h, 5h, 6h, 7h, 8h, 9h, 0Ah, 0Bh, 0Ch, 0Dh, 0Eh, 0Fh)masalto DB ?masbajo DB ? .CODE INICIO: mov ax,@data mov ds,ax xor di, di ; Inicializamos a cero di mayor: mov masalto, bl END mayor mov masalto, memo1[di] mov masbajo, memo1[di] bucle: mov bl, memo1[di]; mov memo2[di], memo1[di]" esta prohibido, asi que inc di ; Incrementamos el contador cmp bl, masalto jg mayor cmp di, 10h ; Comprobamos que el contador no haya llegado a 10h jnz bucle FIN: mov ah, 4ch int 21h END INICIO
No me da error al ensamblar/enlazar, pero al cargarlo en codeview y ejecutarlo me dice "Illegal instruction".
Eternal Idol:
Esto es codigo de 16 bits (al igual que en tu anterior pregunta) tuyo asi que asumo que abandonaste MASM32 ...
END mayor no tiene sentido, borralo. Las dos instrucciones siguientes no funcionan, supongo que ya sabes la razon viendo los comentarios en el resto de tu codigo y me imagino que las queres ejecutar antes del bucle.
tirengarfio:
Gracias,
efectivamente estoy trabajando con 16 bits (8086) y ensamblando con MASM 5.1.
Navegación
Ir a la versión completa