cambiando el .486 por .186para que hago esto?
lo segundo que veo es que definis diferentes secciones de codigo cuando en realidad un .COM no tiene cabeceras ni secciones sino datos binarios. Tambien veo que este ejecutable no define el origen a 0100h como debe hacer todo .COM
mov SI, offset cad
para que hago esto?
bueno es que no quiero hacer un COM por eso omiti lo del 0100h y agregue segmentos adicionales y quiero hacerlo con asm de 32 bit no con asm de 16 como lo tenia en NASM.
que hace offset?
donde puedo conseguir un BUEN manual de MASM?
los que he visto son pateticos...
eso lo explica todo, o sea que tendria que hacerlo con la 21H supongo
Si quisiera hacer codigo de 32 bit sin usar el OS.. e decir digamios que estoy haciendo un OS y que no uso ningun compilador de C nio de C++ sino que solo quiero asm..
como puedo hacer ese mismo proceso en 32 bit?
como puedo implementar esa rutina en modo protegido siendo to mismo el desarrolador del OS o de mi RTL?
Aparte de NASM que otro ensamblador puedo usar para hacer un OS?
mioasm.obj : warning LNK4078: multiple ".data" sections found with different att
ributes (C0220040)
mioasm.obj : fatal error LNK1190: invalid fixup found, type 0x0001
me salio el error al realizar los cambio en el codigo, como lo puedo corregir?¿Que cambio hiciste exactamente y con que trataste de construir la aplicacion, MASM32?Citarmioasm.obj : warning LNK4078: multiple ".data" sections found with different att
ributes (C0220040)
mioasm.obj : fatal error LNK1190: invalid fixup found, type 0x0001
copié el código tal cual lo posteaste y si en masm32.
El segundo y mucho mas importante es que no podes acceder a esa interrupcion de la BIOS ni usar punteros de 16 bits (mov si, cad) en modo protegido. En sintesis ese codigo es para 16 bits.
como le digo a MASM que me genere codigo de 16 bits?No se puede, existe una version de 32 y otra de 16 bits, tenes que usar ese ejecutable. :comp:
O sea que como que mejor me quedo con el NASM?El problema es que intentas usar un destornillador para clavar un clavo cuando deberias usar un martillo, no podes ensamblar un programa de 16 bits con MASM de 32 bits y tampoco podes pretender que ese programa funcione en Windows.
realmente siempre use TASM cuando lo poco que hice en asm hace unos años, pero recien hace poco los oi hablar de NASM y me gusto, pero tambien los hoy de MASM , queria probar y no me gusto...
lo unico malo es ..
bueno abrire otro post para eso.
es que precisamente no me interesa desarrollar asm de 32 bit para windows, me interesa hacerlo para montar un pequeño OS usando el BOSCH, por lo que ya les he mencionado nunca he hecho nada del proceso de arranque ni el paso a 32 bit, y he trabajado en lenguaje C cuando ya estas cosas han sido hechas y me interesa hacerlas por mi cuenta.Entonces olvidate de MASM, MASM es para usar con los S.O. de Windows asi de simple.