Interrupciones ensamblador

Solo disponible en BuenasTareas
  • Páginas : 5 (1141 palabras )
  • Descarga(s) : 0
  • Publicado : 7 de noviembre de 2011
Leer documento completo
Vista previa del texto
Ensamblador
Programas .COM y .EXE Interrupciones y funciones principales Ejercicios resueltos

Programas .COM
 Las ventajas de los programas .COM es que son más pequeños que programas .EXE comparables y son más fáciles de adaptar para actuar como programas residentes en memoria. El formato .COM tiene sus raíces en los días anteriores al DOS, cuando el tamaño de los programas estaba limitadoa 64K.

Diferencias entre programas .COM y .EXE
 Tamaño: un programa .EXE puede ser de cualquier tamaño, mientras que uno .COM está restringido a un segmento y a un máximo de 64K, incluyendo el PSP. EL PSP es un bloque de 256K (100H) que el DOS inserta antes de los programas cuando los carga en memoria.

Diferencias entre programas .COM y .EXE
 Segmentos: Un programa .COM genera demanera automática una pila, así que se omite su definición. Si los 64K no son suficientes, el ensamblador establece la pila fuera del programa en memoria superior. Tampoco es necesario definir un segmento de datos.

Diferencias entre programas .COM y .EXE
 Inicialización: Cuando el DOS carga un programa .COM para ejecución, inicializa de forma automática todos los registros de segmento con ladirección del PSP. Puesto que el direccionamiento comienza en un desplazamiento de 100H bytes desde el inicio del PSP, se utiliza la directiva ORG 100H lo que indica al ensamblador que inicie la generación de código objeto en un desplazamiento de 100H bytes pasando el inicio del PSP, en donde el programa .COM real inicia.

Ejemplo de programa .COM
Practica No. 3 : Uso de la instrucción JUMP paraIterar ( Función 4C00H de la INT 21H) PAGE 60,132 TITLE PROG3.EXE .MODEL SMALL ;___________________________________ .CODE ORG MAIN 100H A20: ADD ADD SHL JMP AX,01 BX,AX CX,1 A20

MOV AX,4C00H INT 21H MAIN ENDP MAIN

PROC NEAR MOV AX,01 MOV BX,01 MOV CX,01

END

Interrupciones
El BIOS maneja las interrupciones 00H-1FH y el DOS maneja las interrupciones 20H-3FH. Permite el uso de 256(100H) interrupciones, cada una con un desplazamiento:segmento relativo de 4 bytes en la forma IP:CS. Como existen 256 entradas, la tabla ocupa los primeros 1,024 bytes de memoria, desde 00H hasta 3FFH. Cada dirección de la tabla relaciona a una rutina de BIOS o del DOS para un tipo específico de interrupción. Por lo tanto los bytes 03 contienen la dirección de la interrupción 0, los bytes 4-7 para laint. 1, y así sucesivamente. INT 00H INT 01H INT 02H INT 03H INT 04H

IP:CS
00H 04H

IP:CS
08H

IP:CS
0CH

IP:CS
10H

IP:CS
...

Interrupción 21H Función 4C00H
 Int 21H Es una operación de interrupción común del DOS que utiliza código de función en el registro AH para especificar la acción realizada. Función: 4C00H Petición para la terminación de ejecución de un programa.SALIR: MOV AX,4C00H INT 21H

BEGIN

ENDP

Interrupción 21H Función 09H
 Int 21H Es una operación de interrupción común del DOS que utiliza código de función en el registro AH para especificar la acción realizada. Función: 09H Despliegue en pantalla. Requiere la definición de una cadena de despliegue en el área de datos. La cadena es seguida inmediatamente por un delimitador $ el cual utilizala operación para finalizar el despliegue.

Interrupción 21H Función 09H
Practica No. 8 : “Entrada por Teclado y Despliegue de video directo” ( Función 4C00H, 09H y 0AH de la INT 21H) ( Funciones 02H y 06H de la INT 10H) .DATA ENTRA LABEL BYTE LONMAX DB 20 LONREAL DB ? INTROD DB 21 DUP(' ') MEN DB 'INTRODUCIR NOMBRE : ' , '$' ;_____________________________________ DESPL0 PROC NEAR MOV LEA INTRET

AH,09H DX,MEN 21H

DESPL0

ENDP

Interrupción 21H Función 09H
Practica No. 9 : “Entradas y Salidas Múltiples por Teclado y Video” ( Función 4C00H, 09H y 0AH de la INT 21H) ( Funciones 02H y 06H de la INT 10H)

.DATA
INTRO3 DB 21 DUP(' ') ;-------------------------MOV AH,09H LEA DX,INTRO3 INT 21H RET DESP3 ENDP

Interrupción 21H Función 0AH
 Int 21H Es una operación de...
tracking img