• Domingo 22 de Diciembre de 2024, 08:55

Autor Tema:  "illegal Instruction" En Codeview  (Leído 1795 veces)

tirengarfio

  • Miembro activo
  • **
  • Mensajes: 29
    • Ver Perfil
"illegal Instruction" En Codeview
« en: Miércoles 20 de Febrero de 2008, 13:07 »
0
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
  1.   DOSSEG
  2.   .MODEL SMALL
  3.   .STACK 100h
  4.   .DATA
  5.  
  6. memo1  DB 10h DUP (0h, 1h, 2h, 3h, 4h, 5h, 6h, 7h, 8h, 9h, 0Ah, 0Bh, 0Ch, 0Dh, 0Eh, 0Fh)
  7. masalto DB ?
  8. masbajo DB ?
  9.  
  10.  
  11.   .CODE
  12.  
  13. INICIO:
  14.  
  15.   mov ax,@data
  16.   mov ds,ax
  17.   xor di, di  &#59; Inicializamos a cero di
  18.  
  19.  
  20.  
  21. mayor:
  22.   mov masalto, bl
  23.   END mayor
  24.  
  25.  
  26.   mov masalto, memo1[di]
  27.  
  28.   mov masbajo, memo1[di]
  29.  
  30.  
  31.  
  32.  
  33. bucle:    
  34.   mov bl, memo1[di]&#59; mov memo2[di], memo1[di]" esta prohibido, asi que
  35.   inc di    &#59; Incrementamos el contador
  36.  
  37.   cmp bl, masalto
  38.   jg mayor  
  39.  
  40.   cmp di, 10h  &#59; Comprobamos que el contador no haya llegado a 10h
  41.   jnz bucle    
  42.  
  43.  
  44. FIN:
  45.  
  46.   mov ah, 4ch
  47.   int 21h
  48.   END INICIO
  49.  
  50.  


No me da error al ensamblar/enlazar, pero al cargarlo en codeview y ejecutarlo me dice "Illegal instruction".

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: "illegal Instruction" En Codeview
« Respuesta #1 en: Miércoles 20 de Febrero de 2008, 14:16 »
0
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.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

tirengarfio

  • Miembro activo
  • **
  • Mensajes: 29
    • Ver Perfil
Re: "illegal Instruction" En Codeview
« Respuesta #2 en: Miércoles 20 de Febrero de 2008, 22:16 »
0
Gracias,

efectivamente estoy trabajando con 16 bits (8086) y ensamblando con MASM 5.1.