1 / 18

Lenguaje de maquina

Unidad III. Programación en Lenguaje Ensamblador. Lenguaje de maquina. Tema:. Programación: Manejo de ficheros. Ejemplos. Objetivo General. Adquirir una sólida comprensión del funcionamiento interno de los microprocesadores.

Download Presentation

Lenguaje de maquina

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Unidad III Programación en Lenguaje Ensamblador. Lenguaje de maquina 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.

More Related