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  &#59; Inicializamos a cero di   mayor:  mov masalto, bl  END mayor    mov masalto, memo1[di]   mov masbajo, memo1[di]     bucle:      mov bl, memo1[di]&#59; mov memo2[di], memo1[di]" esta prohibido, asi que  inc di    &#59; Incrementamos el contador    cmp bl, masalto  jg mayor     cmp di, 10h  &#59; 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

[0] Índice de Mensajes

Ir a la versión completa