La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación en Lenguaje Ensamblador.

Presentaciones similares


Presentación del tema: "Programación en Lenguaje Ensamblador."— Transcripción de la presentación:

1 Programación en Lenguaje Ensamblador.
Lenguaje de maquina Unidad III Programación en Lenguaje Ensamblador. Tema: Programación: Manejo de ficheros. Ejemplos.

2 Objetivo General Adquirir una sólida comprensión del funcionamiento interno de los microprocesadores. Conocer y emplear eficientemente el entorno de programación del Lenguaje Ensamblador. Elaborar programas a nivel avanzado que permiten manejar eficientemente los recursos del microprocesador

3 Objetivo Terminal Implementar correctamente rutinas para el manejo de dispositivos de almacenamiento.

4 Objetivo Instruccional
Desarrollar aplicaciones para la administración de datos almacenados en archivos

5 SEMANA 13_1

6 Lenguaje de maquina MANEJO DE ARCHIVOS UN ARCHIVO ES UNA COLECCIÓN DE DATOS (BLOQUES DE OCTETOS) QUE CON UN NOMBRE SE ESCRIBEN O ALMACENAN EN ALGUN DISPOSITIVO MAGNETICO. ESTOS DATOS PUEDEN SER DESPUES LEIDOS O RECUPERADOS DEL ARCHIVO. EL SISTEMA OPERATIVO DOS PROVEE VARIAS FORMAS PARA TRABAJAR CON ARCHIVOS USANDO EL LENGUAJE ENSAMBLADOR. UNA DE ELLAS CONSISTE EN ASIGNARLE A UN ARCHIVO UN NUMERO DE 16 BITS AL CUAL DENOMINAREMOS DESCRIPTOR DEL ARCHIVO (FILE HANDLE). POR MEDIO DEL DESCRIPTOR SE REALIZAN LAS OPERACIONES BASICAS DE LECTURA, ESCRITURA Y MOVIMIENTO DEL ARCHIVO.

7 MANEJO DE ARCHIVOS: FUNCIONES
Lenguaje de maquina MANEJO DE ARCHIVOS: FUNCIONES LAS FUNCIONES DEL DOS PARA MANEJAR ARCHIVOS SON: CREACION : 3CH APERTURA : 3DH CIERRE : 3EH LECTURA : 3FH ESCRITURA : 40H BORRAR ARCHIVO : 41H MOVIMIENTO DEL PUNTERO DE ARCHIVO : 42H TODAS SE EJECUTAN CON : INT 21H ESTAS INSTRUCCIONES UTILIZAN EL INDICADOR DE ACARREO CF PARA DETERMINAR SI SE HAN EJECUTADO CORRECTAMENTE (SIN ACARREO)

8 MANEJO DE ARCHIVOS: FUNCIONES
Lenguaje de maquina MANEJO DE ARCHIVOS: FUNCIONES PARA DESACTIVAR O BORRAR EL ACARREO SE PUEDE UTILIZAR, POR EJEMPLO: CLC ; (CLEAR CARRY) BORRA ACARREO SUB AL,AL ; HACE AL=0 Y BORRA ACARREO SE PUEDEN EMPLEAR LAS INSTRUCCIONES DE SALTO CORTO SEGÚN EL ACARREO: JC DESTINO ; (JUMP IF CARRY) SALTAR SI HAY ACARREO JNC DESTINO ; (JUMP IF NOT CARRY) SALTAR SI NO HAY ; ACARREO NOTA: EL VALOR DEL DESCRIPTOR DE UN ARCHIVO QUE SE CREA O ABRE ES ASIGNADO (ELEGIDO) POR EL SISTEMA OPERATIVO DOS.

9 CREACION DE ARCHIVOS: 3CH
Lenguaje de maquina CREACION DE ARCHIVOS: 3CH SE DEBE TENER: EN AH EL CODIGO 3CH EN DS:DX LA DIRECCION DEL COMIENZO DEL NOMBRE DEL ARCHIVO A CREARSE (ESTE NOMBRE DEBE TERMINAR CON 0) EN CX EL VALOR 0 (MODO NORMAL DE CREACION) Y SE EJECUTA CON INT 21H. RESULTADO: - SI HAY ACARREO NO SE CREA EL ARCHIVO Y AX RESULTA CON EL CODIGO DE ERROR (EJM. DISCO LLENO) - SI NO HAY ACARREO, SE CREA EL ARCHIVO Y AX RESULTA CON EL DESCRIPTOR ASIGNADO

10 APERTURA DE ARCHIVOS: 3DH
Lenguaje de maquina APERTURA DE ARCHIVOS: 3DH SE DEBE TENER: EN AH EL CODIGO 3DH EN DS:DX LA DIRECCION DE INICIO DEL NOMBRE DEL ARCHIVO A ABRIRSE (EL NOMBRE DEBE TERMINAR CON 0) EN AL EL CODIGO DE ACCESO: 0 = SOLO LECTURA 1 = SOLO ESCRITURA 2 = LECTURA/ESCRITURA Y SE EJECUTA CON INT 21H. RESULTADO: - SI HAY ACARREO NO SE PUEDE ABRIR Y AX CONTIENE EL CODIGO DE ERROR - SI NO HAY ACARREO, SE ABRE EL ARCHIVO Y AX RESULTA CON EL DESCRIPTOR ASIGNADO

11 EN BX EL DESCRIPTOR DEL ARCHIVO A CERRAR Y SE EJECUTA CON INT 21H.
Lenguaje de maquina CIERRE DE ARCHIVOS: 3EH SE DEBE TENER: EN AH EL CODIGO 3EH EN BX EL DESCRIPTOR DEL ARCHIVO A CERRAR Y SE EJECUTA CON INT 21H. RESULTADO: - SI HAY ACARREO NO SE PUEDE CERRAR EL ARCHIVO Y AX CONTIENE EL CODIGO DE ERROR - SI NO HAY ACARREO, SE CIERRA EL ARCHIVO

12 LECTURA DE ARCHIVOS: 3FH
Lenguaje de maquina LECTURA DE ARCHIVOS: 3FH SE DEBE TENER: EN AH EL CODIGO 3FH EN BX EL DESCRIPTOR DEL ARCHIVO A LEER EN CX EL NUMERO DE OCTETOS A SER LEIDOS EN DS:DX LA DIRECCION DEL AREA DE RECEPCION DE DATOS (BUFFER) Y SE EJECUTA CON INT 21H. RESULTADO: - SI HAY ACARREO, ERROR DE LECTURA CON CODIGO DE ERROR EN AX - SI NO HAY ACARREO, AX CONTIENE EL NUMERO DE OCTETOS LEIDOS, SIENDO ESTE CERO SI SE ESTA EN EL FINAL DEL ARCHIVO

13 ESCRITURA DE ARCHIVOS: 40H
Lenguaje de maquina ESCRITURA DE ARCHIVOS: 40H SE DEBE TENER: EN AH EL CODIGO 40H EN BX EL DESCRIPTOR DEL ARCHIVO A LEER EN CX EL NUMERO DE OCTETOS A SER ESCRITOS EN DS:DX LA DIRECCION DEL AREA DE DATOS A COPIAR (BUFFER) Y SE EJECUTA CON INT 21H. RESULTADO: - SI HAY ACARREO, ERROR DE ESCRITURA CON CODIGO DE ERROR EN AX - SI NO HAY ACARREO, LA OPERACIÓN DE ESCRITURA HA SIDO CORRECTA

14 EN DS:DX LA DIRECCION DEL NOMBRE DE ARCHIVO (TERMINA CON 0)
Lenguaje de maquina BORRAR ARCHIVOS: 41H SE DEBE TENER: EN AH EL CODIGO 41H EN DS:DX LA DIRECCION DEL NOMBRE DE ARCHIVO (TERMINA CON 0) Y SE EJECUTA CON INT 21H. RESULTADO: - SI HAY ACARREO, ERROR DE BORRADO CON CODIGO DE ERROR EN AX - SI NO HAY ACARREO, LA OPERACIÓN DE BORRADO HA SIDO CORRECTA

15 MOVIMIENTO DEL PUNTERO DE UN ARCHIVO: 42H
Lenguaje de maquina MOVIMIENTO DEL PUNTERO DE UN ARCHIVO: 42H DENTRO DE UN ARCHIVO ES POSIBLE DESPLAZARSE A UNA DIRECCION ESPECIFICA Y LUEGO EJECUTAR OPERACIONES DE LECTURA O DE ESCRITURA A PARTIR DE LA DIRECCION SIGUIENTE. UTILIZANDO ESTA FUNCION, EL ARCHIVO PUEDE SER TRATADO COMO UNO DE ACCESO ALEATORIO O DIRECTO. POR EJEMPLO, SI SE TRABAJA CON U ARCHIVO FORMADO POR REGISTROS DE 150 OCTETOS DE LONGITUD, PARA ACCEDER AL CUARTO REGISTRO SERA NECESARIO LOCALIZAR EL COMIENZO DEL CUARTO BLOQUE DE 150 OCTETOS, ESTE ES DADO POR EL NUMERO 3*150, PUES LOS OCTETOS DEL ARCHIVO SE NUMERAN EMPEZANDO POR 0.

16 MOVIMIENTO DEL PUNTERO DE UN ARCHIVO: 42H
Lenguaje de maquina MOVIMIENTO DEL PUNTERO DE UN ARCHIVO: 42H NOTA: LAS CLASES DE OPERACIONES A REALIZAR EN UN ARCHIVO DEPENDEN DEL MODO DE ACCESO QUE SE HAYA ESCOGIDO EN EL MOMENTO DE CREARLO O DE ABRIRLO. IGUAL QUE EN EL DIRECCIONAMIENTO DE MEMORIA, LAS DIRECCIONES EN UN ARCHIVO EMPLEAN UN PAR DE PALABRAS DE 16 BITS I : J.

17 MOVIMIENTO DEL PUNTERO: 42H
Lenguaje de maquina MOVIMIENTO DEL PUNTERO: 42H SE DEBE TENER: -EN AH EL CODIGO 42H EN BX EL DESCRIPTOR DEL ARCHIVO A LEER EN EL PAR CX:DX EL DESPLAZAMIENTO DEL APUNTADOR, ESTO ES, EL NUMERO DE DIRECCIONES QUE HA DE MOVERSE CON RESPECTO A UN PUNTO DE REFERENCIA. EN AL EL CODIGO DEL PUNTO DE REFERENCIA: 0 = PARA EL COMIENZO DEL ARCHIVO 1 = PARA LA POSICION ACTUAL 2 = PARA EL FINAL DEL ARCHIVO Y SE EJECUTA CON INT 21H. RESULTADO: - SI HAY ACARREO, OPERACIÓN INCORRECTA - SI NO HAY ACARREO, EL PAR DX:AX CONTIENE LA DIRECCION ACTUAL DEL APUNTADOR QUE DEBE SER IGUAL A: = DIRECCION DEL PUNTERO DE REFERENCIA + VALOR DE CX:DX

18 EJEMPLOS: PROGRAMA : CREAR PROGRAMA : MAYUSCUL PROGRAMA : INCLUIR
Lenguaje de maquina EJEMPLOS: PROGRAMA : CREAR PROGRAMA : MAYUSCUL PROGRAMA : INCLUIR EJERCICIOS: ELABORAR UN PROGRAMA PARA DAR MANTENIMIENTO A UN ARCHIVO QUE ALMACENA NOMBRES DE LIBROS.


Descargar ppt "Programación en Lenguaje Ensamblador."

Presentaciones similares


Anuncios Google