• Miércoles 6 de Noviembre de 2024, 02:40

Autor Tema:  De 16 A 32 Bits  (Leído 1663 veces)

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
De 16 A 32 Bits
« en: Miércoles 28 de Enero de 2004, 08:23 »
0
tengo un codigo que ejecuta una interrupcion de video que devuelve informacion en es:di, es de 16 bits yo lo tengoo que hacer en 32 como hago para apuntar en 32 bits a es:di?

borca

  • Miembro activo
  • **
  • Mensajes: 60
    • Ver Perfil
Re: De 16 A 32 Bits
« Respuesta #1 en: Viernes 30 de Enero de 2004, 20:24 »
0
Yop,
Esq no veo muy bien lo que quieres decir con q esa interrupcion te devuelva la info en es:di
por definicion
                       es = extra segmen
                       di =  index destination
dime que clase de interrupcion es, o  si (por magia) logras meter el resultado en ax, utiliza la instruccion cwde ( convert word to extended)
 mov ax,AlgunaCosa  ;
  cwde                         ; te convierte en 32 bits ese word q estaba en ax
                                   ; ahora puedes trabajar en 32 bits

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Re: De 16 A 32 Bits
« Respuesta #2 en: Domingo 1 de Febrero de 2004, 08:47 »
0
gracias por responder
1) no soy muy assemblero, se lo basico
2)lo que escribo es un rutina que devuelve un bloque de 256 bytes de informacion sobre VESA.
3)lo escribo en C++, que es lo que mas se pero eso va en ASM.
4)me estoy tratando de pasar a un compilador de 32 bits (watcom) que usa registros tipo EAX, EBX, y no se como se hace o si se hace igual que en 16 bits
5) la interrupcion es la funcion 0x4f00 de la interrupcion de video (0x10).
y en ES:DI se carga la direccion de una estructura de 256 bytes de info.

espero haber sido claro.