Ayuda con interrupciones..

Iniciado por Vaagish, 2 Mayo 2013, 23:45 PM

0 Miembros y 1 Visitante están viendo este tema.

Vaagish

Hola amigos, espero anden bien..
Me quede trancado con algo bien simple.. :/
Por que puede ser que no funcionen las interrupciones del DOS ?? No puedo imprimir una cadena en la pantalla con 21h

Gracias y Saludos!

x64core

Hola


   assume   cs:cseg,ds:dseg,ss:sseg

cseg   segment
start:
   mov   ax, dseg
   mov   ds, ax
   mov   dx, offset msg
   mov   ah, 09h
   int   21h
   mov   ax, 4C00h
   int   21h
cseg   ends

dseg   segment   byte
msg   db   'hey!',0Dh,0Ah,'$'
dseg   ends

sseg   segment   stack
   db   100h dup(?)
sseg   ends

   end   start


Ensamblar... ahora cual es el problema? entorno de 64-bits?

Vaagish

No se si tengo que declarar algo antes.. o que.. en un rato pruebo eso a ver en que estoy errando..

si pongo por ejemplo... no se.. cualquier cosa asi:

.data

Msg db "Hola mundo", 0

.code
inicio:

mov dx, offset Msg
mov ah, 09h
int 21h

end inicio

No funciona... :/

x64core

Un exe de 16 bits...

dependiendo de que tipo de ejecutable quieres generar se agrega:
.model tipo
[.stack xxh]

Leer este libro:
http://www.amazon.com/Windows-Assembly-Language-Systems-Programming/dp/087930474X/ref=sr_1_1?s=books&ie=UTF8&qid=1367602645&sr=1-1&keywords=assembly+language+16+bits

o alguna vieja version del libro de K. irvine.

Vaagish

Haaa... Me parecia si que habia algo de eso.. recuerdo haber leido que no funcionaba en todos los "modos" si se puede decir asi..
Bueno, entonces seguramente debo implementar alguna rutina mia, no ? Pero.. como envio el texto a la consola ?

Gracias!!

x64core

Cita de: Vaagish en  3 Mayo 2013, 19:42 PM
Haaa... Me parecia si que habia algo de eso.. recuerdo haber leido que no funcionaba en todos los "modos" si se puede decir asi..
Bueno, entonces seguramente debo implementar alguna rutina mia, no ? Pero.. como envio el texto a la consola ?

Gracias!!

Sí, debes de leer para saber como funciona.
Y para las interrupciones: http://www.ctyme.com/intr/int.htm