Ensamblador - Quien me ayuda?

 
Vista:

Quien me ayuda?

Publicado por Jazmin (8 intervenciones) el 06/10/2003 08:51:00
Esto es ensamblador?
MOV DX, 110
MOV AH, 9
INT 21
RET
-E110 0D, 0A, '$'
-G=100

Si es asi me pueden escribir que responder?

Desde ya muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Quien me ayuda?

Publicado por Jorge (126 intervenciones) el 06/10/2003 19:37:25
Hola,
efectivamente el código es assembler, excepto las últimas dos líneas que deben ser información del debugger.
Este código simplemente imprime en pantalla un ENTER. La tecla enter al ser detectada por el sistema se desdobla en dos códigos: avance de línea (0D) y retorno de carro (0A).
¿Cómo funciona este programita? fácil:
Según la primer línea de información de debugger (-E110 0D, 0A, '$') en la dirección 110 hay tres caracteres: el 0D, el 0A y el $. Como te habrás dado cuenta, los dos primeros juntos son los que te simulan un ENTER. El símbolo $ lo usan las funciones del DOS para indicar fin de string (como el cero en C).
La función que utiliza este programa es la 09h de la interrupción 21h (la h es porque los números están en hexadecimal). La interrupción 21h es una función propia del sistema y provee varias subfunciones numeradas que se seleccionan colocando el número de subfunción en el registro AH. Particularmente la subfunción 09h es una rutina de impresión a pantalla, que imprime un string de caracteres a la posición actual del cursor. La dirección del string debe ser pasada a la rutina en DX

(sigue en el siguiente mensaje)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Continuación...

Publicado por Jorge (126 intervenciones) el 06/10/2003 19:39:15
(Viene del mensaje anterior)...

Con lo anterior vemos que:
MOV DX, 110 ;pone en DX la dirección del string a imprimir
MOV AH, 9 ;selecciona la subrutina a ejecutar (impresión de string a pantalla)
INT 21 ;incova la interrupción 21 para que ejecute la rutina en AH

RET ; retorna a la dirección desde la que fue llamada

Con respecto al RET, es una intrucción que retorna al punto desde el que fue llamado el mini programita este que mandaste. Seguramente se trata de un procedimiento y fue llamado con una instrucción CALL.

Bueno, espero haber sido claro y que te sirva, chau!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Thank

Publicado por Jazmin (8 intervenciones) el 13/10/2003 09:55:54
Hola en realidad estoy recien comenzando con este lenguaje.
Y muchas cosas no las tengo claras.

Pero te agradezco mucho.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar