viernes, 28 de enero de 2011

Guia de Laboratorio No.6: Lista de interrupciones

http://www.emu8086.com/assembler_tutorial/8086_bios_and_dos_interrupts.html

Guia de Laboratorio No.5 Conjunto de Instrucciones

http://www.emu8086.com/assembler_tutorial/8086_instruction_set.html

Guia de Laboratorio No.4

GUIA DE LABORATORIO No 4


• ALGUNAS FUNCIONES DE LA INT 21H

• INSTRUCCIONES DE SALTOS CONDICIONALES

• MODOS DE DIRECCIONAMIENTO


ALGUNAS FUNCIONES DE LA INT 21


Función      Entrada Salida

01              ah              al                 lee un carácter del teclado

0A             ah              dx                lee una cadena de caracteres del teclado

02              ah             dl                  imprime un carácter en pantalla

09              ah             dx                 imprime una cadena de caract. en pantalla

08              ah             al                   lee un carácter del teclado sin eco

2A             ah             al                  día de la semana

                                  cx                 año

                                  dh                 mes

                                  dl                 día del mes

4c              ah             al                 Finalizar un proceso

30             ah              al                Versión del DOS.


1. Uso de la instrucción INT 21 para ver algunos recursos de la PC


a) Como obtener el número de versión del DOS


La instrucción que entrega el número de versión es INT 21h del DOS, función 30h.
Usar el programa Emu8086 para visualizar los registros


MOV AH, 30h
INT 21h

Ahora se puede ver en AL el número principal de la versión del DOS, como X en DOS X.20, y en AH el número secundario de la versión, como 14H (20) en DOS X.20.




Ahora puede ver en AL el número principal de la versión del DOS, como X en DOS X.20, y en AH el número secundario de la versión, como 14H (20) en DOS X.20.


b) Como obtener la fecha actual


MOV AH, 2Ah

INT 21h


Usar el programa Emu8086 para visualizar el contenido de los registros:


AL = Día de la semana

CX =Año en hexadecimal, convertirlo a decimal

DH = Mes (01 a 12)

DL =Día del mes (01 a 31)


2. Muestre el contenido de los registros y determine lo que realiza el programa tras ejecutar cada instrucción:



a)                                                       
                                                AX                 BX                  CX                  DX         IP
mov ax,01                     
            mov bx,01
            mov dx,02
            mov cx,01
Ciclo:  inc ax
add bx,ax
 xchg ax,bx
 loop ciclo
salir:    mov ah,4ch
            int 21h




Reemplace la instrucción Loop por la instrucción jmp y verifique nuevamente el contenido de los registros tras ejecutar cada instrucción.




b) El programa siguiente lee un carácter del teclado, compara si es “enter” para salir, de lo contrario continua leyendo.(usar directivas convencionales de segmentos)
                                               AH                  AL                  DL             IP

inicio:
 mov ah,01
 int 21h
 cmp al,0d
 jne inicio
 mov ah,02
 mov dl,al
 int 21
salir: mov ah,4ch
int 21h



3. Usando Instrucciones de saltos condicionales e incondicionales


Elabore un programa que imprima 5 veces una cadena de caracteres, utilizando:

a) Utilice la instrucción Loop para el control del ciclo

b) Utilice la instrucción JNE para el control del ciclo

c) Utilice la instrucción JCXZ para el control del ciclo

d) Utilice la instrucción JE para el control del ciclo

e) Utilice la instrucción JZ para el control del ciclo

f) Utilice la instrucción JNZ para el control del ciclo



4. Elabore los programas que se solicitan a continuación:




Elabore un programa que muestre los primeros 100 codigos ASCII del sistema y los imprima en panatalla.

Elabore un programa que genere los numeros impares 1 3 5 7 9 y los numeros pares 0 2 4 6.




5. Comprobar cada uno de los modos de direccionamientos de la tabla 3.1 a la tabla 3.8 :

a) Direccionamiento de registro
b) Direccionamiento inmediato
c) Direccionamiento directo
d) Direccionamiento de registro indirecto
e) Direccionamiento de base más índice
f) Direccionamiento de registro relativo
g) Direccionamiento de base relativa más índice