Pues eso, me ha surgido esta duda, como puedo mandar texto a la consola de Windows usando solo ASM?, es decir sin likear a las librerias de C ni nada por el estilo. He probado varios metodos pero todos me dan un resultado indeseado y varios pitidos del Speaker del PC.
He conseguido, mediante
He conseguido, mediante Virtual PC, MSDOS 6.22, WINDOWS 3.11, TASM 2.0 y TLINK 2.0 hacer un Hello World, pero cuando llega al punto de final de cadena($)empieza a tirar errores a "tocateja", xD.
Este es el codigo que he usado:
EDIT: Vale, he añadido la opcion /3 al linker y he conseguido que muestre bien el texto, pero el programa se para justo al final del todo.
Editado: El límite del ancho de las imágenes es de 500 pixeles, sobrepasar este límite puede descolocar la web e incumple las Normas de la Comunidad, antes de volver a postear por favor revíselas.| AORV
Editado por AlmamuPP: Perdon no mire el ancho de la imagen y me parecio que era de 500x500(cosa de tener la resolucion a 1600x1200), cagada mia, no volverá a pasar.
http://spike.scu.edu.au/~barr
http://spike.scu.edu.au/~barry/interrupts.html#ah09
Algo así debería valer. El registro DS igual no lo tienes ni que cambiar.
Si no dices los modos que has probado, tampoco podemos hacer gran cosa.
Probe con el int 21h, era
Probe con el int 21h, era algo parecido a eso. El caso es que he intendado como tu me comentas(que no es muy diferente de como lo he visto en otros sitios)pero ahora mismo no obtengo ningun texto en pantalla. Me he leido la documentacion de NASM por si acaso me hacia falta algo en especial para obtener el puntero, pero por mucho que he probado, nada...
Ese codigo lo unico que hace es mover el cursor por la pantalla. como le viene en gana. He probado varias cosas mas, pero o no escribe nada en pantalla o hace lo que le viene en gana. Estoy usando NASM y TLINK 2.0(ya se que este es viejo, pero por el momento solo quiero conseguir algo funcionando...).
Uso este .bat para compilarlo:
Se linkea bien, pero con el codigo de arriba lanza un warning: no stack incluso cuando pongo la seccion del STACK y no hay manera...