1 / 20

Lenguaje de maquina

Unidad I. Introducción al lenguaje ensamblador. Lenguaje de maquina. Tema:. Diseño de Software: Instrucciones de control, Diagramas de flujo. Codificación de las instrucciones. Objetivo General. Adquirir una sólida comprensión del funcionamiento interno de los microprocesadores.

vienna
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 I Introducción al lenguaje ensamblador Lenguaje de maquina Tema: Diseño de Software: Instrucciones de control, Diagramas de flujo. Codificación de las instrucciones.

  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 Conocer los registros internos y la forma como operan en un microprocesador.

  4. Objetivo Instruccional Conocer y comprender las instrucciones de control, así como su respectiva codificación. Describir el comportamiento del segmento de pila

  5. SEMANA 05_1

  6. Lenguaje de maquina DIRECCIONES CORTA, CERCANA Y LEJANA • UNA OPERACIÓN DE SALTO ALCANZA UNA DIRECCION CORTA DE UN DESPLAZAMIENTO DE UN BYTE, LIMITADO A UNA DISTANCIA DE -128 A -127 BYTES. • UNA OPERACIÓN DE SALTO ALCANZA UNA DIRECCION CERCANA POR MEDIO DE UN DESPLAZAMIENTO DE UNA PALABRA, LIMITADO A UNA DISTANCIA DE -32768 A 32767 BYTES DENTRO DEL MISMO SEGMENTO. • UNA DIRECCION LEJANA PUEDE ESTAR EN OTRO SEGMENTO Y ES ALCANZADA POR MEDIO DE UNA DIRECCION DE SEGMENTO Y UN DESPLAZAMIENTO; CALL ES LA INSTRUCCIÓN NORMAL PARA ESTE PROPOSITO.

  7. Lenguaje de maquina DIRECCIONES CORTA, CERCANA Y LEJANA

  8. Lenguaje de maquina ETIQUETAS DE INSTRUCIONES • LAS INSTRUCCIONES JMP, Jnnn (SALTO CONDICIONAL) Y LOOP REQUIEREN UN OPERANDO QUE SE REFIERE A LA ETIQUETA DE UNA INSTRUCCIÓN. • EJEMPLO: • JMP A90 • … • A90: • MOV AH,00 • …

  9. Lenguaje de maquina LA INSTRUCCIÓN LOOP • LA INSTRUCCIÓN JMP PROVOCA UN CICLO INFINITO. PERO ES MAS PROBABLE QUE UNA RUTINA REALICE UN CICLO DE UN NUMERO ESPECIFICO DE VECES O HASTA QUE SE ALCANZE UNA CONDICION PARTICULAR. • LA INSTRUCCIÓN LOOP, QUE SIRVE PARA ESTE PROPOSITO, REQUIERE UN VALOR INICIAL EN EL REGISTRO CX. EN CADA ITERACION, LOOP DE FORMA AUTOMATICA DISMINUYE 1 DE CX. SI EL VALOR EN EL CX ES CERO, EL CONTROL PASA A LA INSTRUCCIÓN QUE SIGUE, SI EL VALOR EN EL CX NO ES CERO, EL CONTROL PASA A LA DIRECCION DEL OPERANDO.

  10. Lenguaje de maquina LA INSTRUCCIÓN LOOP … … MOV CX,10 ; INICIALIZA EL CONTADOR A20: INC AX ADD BX,AX SHL DX,1 ; MULTIPLICA POR DOS A DX LOOP A20 … …

  11. Lenguaje de maquina REGISTROS DE BANDERAS (FLAGS) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 CF (BANDERA DE ACARREO). CONTIENE UN ACARREO (0 ó 1) DEL BIT DE ORDEN ALTO (EL MAS A LA IZQUIERDA) DESPUES DE OPERACIONES ARITMETICAS Y ALGUNAS OPERACIONES DE CORRIMIENTO Y ROTACION. PF (BANDERA DE PARIDAD).CONTIENE UNA VERIFICACION DE LOS OCHO BITS DE ORDEN BAJO DE OPERACIONES DE DATOS. LA BANDERA DE PARIDAD NO DEBE SER CONFUNDIDA CON EL BIT DE PARIDAD Y RARA VEZ INTERESA EN PROGRAMACION CONVENCIONAL. UN NUMERO IMPAR DE BITS EN 1 LIMPIAN LA BANDERA A CERO Y UN NUMERO PAR LO ESTABLECE EN 1.

  12. Lenguaje de maquina REGISTROS DE BANDERAS (FLAGS) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 AF (BANDERA DE ACARREO AUXILIAR). TIENE QUE VER CON ARITMETICA EN CAMPOS ASCII I BCD EMPACADOS . UNA OPERACIÓN PROVOCA UN ACARREO EXTERNO EN EL BIT 3, PONE EN 1 ESA BANDERA. ZF (BANDERA DE CERO).COMO RESULTADO DE UNA OPERACIÓN ARITMETICA O DE COMPARACION ESTA BANDERA SE PONE EN 1 O EN 0. DE MODO INESPERADO, UN RESULTADO NO CERO PONE EN 0 A LA BANDERA Y UN RESULTADO CERO LO PONE EN 1. JE Y JZ PRUEBAN ESTA BANDERA.

  13. Lenguaje de maquina REGISTROS DE BANDERAS (FLAGS) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 SF (BANDERA DE SIGNO). SE ESTABLECE DE ACUERDO CON EL SIGNO (EL BIT DE ORDEN MAS ALTO) DESPUES DE UNA OPERACIÓN ARITMETICA. POSITIVO PONE LA BANDERA EN 0 Y NEGATIVO LO PONE EN 1. JG Y JL PRUEBAN ESTA BANDERA. TF (BANDERA DE TRAMPA).CUANDO ESTA EN 1, HACE QUE EL PROCESADOR EJECUTE EN MODO DE UN SOLO PASO, ESTO ES, UNA INSTRUCCIÓN A LA VEZ BAJO EL CONTROL DEL USUARIO. YA ESTABLECIO ESTA BANDERA CUANDO INGRESO EL COMANDO T EN DEBUG.

  14. Lenguaje de maquina REGISTROS DE BANDERAS (FLAGS) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 IF (BANDERA DE INTERRUPCION). NO PERMITE INTERRUPCION CUANDO ESTA EN 0 Y PERMITE INTERRUPCION CUANDO ESTA EN 1. DF (BANDERA DE DIRECCION).UTILIZADO EN OPERACIONES DE CADENA PARA DETERMINAR LA DIRECCION DE TRANSFERENCIA DE DATOS. CUANDO LA BANDERA ESTA EN 0, LA OPERACIÓN INCREMENTA LOS REGISTROS DI Y SI , HACIENDO QUE LA TRANSFERENCIA SEA DE IZQUIERDA A A DERECHA. USANDO LA BANDERA EN 1, LA OPERACIÓN DECREMENTA DI Y SI HACIENDO QUE LA TRANSFERENCIA DE DATOS SEA DE DERECHA A IZQUIERDA.

  15. Lenguaje de maquina REGISTROS DE BANDERAS (FLAGS) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OF (BANDERA DE DESBORDAMIENTO). INDICA UN ACARREO INTERNO Y UNO EXTERNO EN EL BIT DE SIGNO DE ALTO ORDEN DESPUES DE UNA OPERACIÓN ARITMETICA CON SIGNO

  16. Lenguaje de maquina LA INSTRUCCIÓN CMP ES UTILIZADA PARA COMPARAR DOS CAMPOS DE DATOS. [ETIQUETA:] CMP (REG/MEM),(REG/MEM/INM) … … CMP BX,0 JZ B50 … … B50: …

  17. Lenguaje de maquina LA INSTRUCCIÓN DE SALTO CONDICIONAL [ETIQUETA:] Jnnn DIRECCION_CORTA SALTOS CON BASE EN DATOS SIN SIGNO

  18. Lenguaje de maquina LA INSTRUCCIÓN DE SALTO CONDICIONAL [ETIQUETA:] Jnnn DIRECCION_CORTA SALTOS CON BASE EN DATOS CON SIGNO

  19. Lenguaje de maquina LA INSTRUCCIÓN DE SALTO CONDICIONAL [ETIQUETA:] Jnnn DIRECCION_CORTA PRUEBAS ARITMETICAS ESPECIALES

  20. Lenguaje de maquina LLAMADA A PROCEDIMIENTOS OPERACIONES CALL Y RET LA INSTRUCCIÓN CALL TRANSFIERE EL CONTROL A UN PROCEDIMIENTO LLAMADO, Y LA INSTRUCCIÓN RET REGRESA DEL PROCEDIMIENTO LLAMADO AL PROCEDIMIENTO ORIGINAL QUE HIZO LA LLAMADA. RET DEBE SER LA ULTIMA INSTRUCCIÓN EN UN PROCEDIMIENTO LLAMADO. LOS FORMATOS SON: [ETIQUETA:] CALL PROCEDIMIENTO [ETIQUETA:] RET [INMEDIATO]

More Related