Clase 6 Assembly - Simulador MSX88 Subrutinas.

Slides:



Advertisements
Presentaciones similares
Organización de la unidad central de procesamiento (CPU)
Advertisements

Instrucciones de operación sobre datos
1 Uso de una CALL GATE Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco.
Assembler Set de Instrucciones.
REGISTROS INTERNOS DEL PROCESADOR.
CLASE 7 CONJUNTO DE INSTRUCCIONES. TRANSFERENCIA
TEMA 2 Arquitectura de un Ordenador
INSTTUTO TECNOLOGICO DE APIZACO
No. Lista 31 Teresita Ramírez Uribe HORA: 8:00-9:00AM.
MODOS DE DIRECCIONAMIENTO
N.L 32 ROMERO HERNÁNDEZ GABRIELA VERÓNICA. HORA: 8:00-9:00AM ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR.
Programación en ensamblador
SEMANA 9_2.
Programación en Lenguaje Ensamblador.
INTRODUCCION AL ASSEMBLER 86
SEMANA 05_2.

Evidencia no. 5 modos de direccionamiento Paréntesis para poder resolverla ADD OP-DESTINO, OP.FUENTE OP1 OP2 SUMA= ADD ¿Cómo funciona? Op_Destino=Op_Destino+Op.Fuente.
MODOS DE DIRECCIONAMIENTO No. Lista 21 7am Rivas chacón Ana cristina
MODOS DE DIRECCIONAMIENTO
Introducción al lenguaje ensamblador
Tema 2: INTRUCCIONES Profesor: Carlos Concha S LENGUAJES DE BAJO NIVEL.
2.2 Registro de Banderas Conjunto de bits que nos dan información sobre el estado del procesador y sobre el resultado de la última operación efectuada.
MODOS DE DIRECCIONAMIENTO
Instrucciones de Pentium

Lenguaje de Programación cap. 1 Estructura del Computador.
Microprocesador (80X86) Universidad Nacional de Ingeniería
PBN © Jaime Alberto Parra Plaza CLASE 9 INSTRUCCIONES ARITMÉTICAS. GENERACIÓN DE EXPRESIONES.
Estructura de Computadores Comandos DEBUG Programación en Assembler Profesora : Tatiana Marín R.
Tema 1: DATOS Y REGISTROS
Unidad I: Registros e Interrupciones Facilitador: Ing. Eduardo Brando.
Organización del Computador
MODOS DE DIRECCIONAMIENTO
A este registro se le conoce también como registro de estado. Consta de 16 bits y únicamente 9 de ellos contiene información, indican el estado de la.
introducción al Lenguaje Ensamblador
MODOS Y METODOS DE DIRECCIONAMIENTO
1 Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas M.C. Juan Carlos Olivares Rojas.
N.L 32 ROMERO HERNÁNDEZ GABRIELA VERÓNICA. HORA: 8:00-9:00AM ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR.
No. 26 8:00 a.m. Lenguaje Ensamblador. Segmento de Pila  Model small  stack  Data  Code  mov  mov ds, ax  push ds  …código del programa.
TEMA : ARQUITECTURA DE COMPUTADORAS

introducción al Lenguaje Ensamblador
Maquinas Digitales UNIDADES DE CONTROL.
Unidad Central de Proceso
Aprende el arte de la ingeniería inversa
2. ELEMENTOS DEL LENGUAJE 2.1 INTRODUCCIÓNES LINEALES
Arquitectura de Computadores
Etapas de solución de un problema. Módulo o secciones de un algoritmo.
El microprocesador y su arquitectura
Lenguaje ensamblador Conceptos introductorios. Formatos de Instrucción. Modos de Direccionamiento. Conjunto de instrucciones básico. Introducción al Lenguaje.
Arquitectura de PCs El ambiente de desarrollo. Introducción Ambiente de desarrollo del curso: - CPU Intel Teclado - Monitor color - Disco duro.
Arquitectura de PCs Lenguaje ASM Intel Lenguaje de máquina y ASM Toda CPU interpreta su código de máquina propio Instrucciones en código de máquina.
Arquitectura de PCs Arquitectura básica del PC. Introducción El PC es el resultado de una especificación técnica de IBM El hardware se organiza de forma.
Arquitectura de Computadores Clase 13 Subrutinas y Manejo de Stack IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela.
Arquitectura de PCs Secuencia de compilación de un programa.
Arranque desde CD en modo de no emulación Instalación y Configuración de Computadores, Redes y Periféricos.
Page 1 Macroensamblador José Andrés Vázquez Flores Verano 2016 FCC-BUAP.
Arquitectura 2013 Explicación 3 - continuación.
Clase 7 Assembly - Simulador MSX88.
Explicación 3 Periféricos.
Manejador de interrupción (subrutina)
PILAS. Operaciones de las Pilas Operaciones que se pueden realizar con una pila son: -PUSH (pila, elemento) -POP (pila) -VACIA (pila)
Arquitectura 2013 Explicación 5 Parte II.
Arquitectura 2014 Explicación 1.
LENGUAJE DE PROGRAMACION “PILAS”
Explicación 2 Interrupciones.
Estas dos líneas de código permiten al Asm iniciar en Code Segment
Lenguaje Ensamblador. Repertorio de instrucciones Microprocesador Z80.
MC Beatriz Beltrán Martínez Otoño 2017
Transcripción de la presentación:

Clase 6 Assembly - Simulador MSX88 Subrutinas

registros enteros (16 bits) Pila La pila es un sector de la memoria con acceso LIFO. Se requiere un registro Puntero de Pila: SP Se encuentra (de forma implícita) en el tope de la pila. PILA Operaciones para utilizar la pila: PUSH dato POP dest 7FEEH 7FEFH 7FF0H 7FFAH 7FFBH 7FFCH 7FFDH 7FFEH 7FFFH 8000H Siempre se apilan registros enteros (16 bits) SP =

Pila Ejemplo de uso de la pila AX Pila Dato 3 SP Dato 2 Dato 3 SP PUSH Dato2 PUSH Dato3 POP AX Dato 3 SP Dato 2 AX Dato 3 SP SP Dato 1

Ejemplo en Assembly Ejemplo: Pila 1000h 1001h 1002h 1003h 1004h 55h ORG 1000H Datos DB 55h, 33h, 44h, 22h ORG 2000H MOV BX, 1000H MOV AX, [BX] PUSH AX MOV BX, 1002H MOV CX, [BX] PUSH CX POP AX POP CX HLT END 1000h 1001h 1002h 1003h 1004h 55h 33h 44h 22h Pila SP 44h 22h AX 33h 55h 22h 44h BX 10 00h 10 02h SP 55h 33h CX 22h 44h 33h 55h SP

Subrutinas Al igual que en otro lenguajes, en Asembly se puede programar de forma modular. ; Memoria de Datos ORG 1000H … ; Memoria de Instrucciones ORG 3000H ; Subrutina SUB1 SUB1: CMP AL, 0 RET ORG 2000H ; Programa principal CALL SUB1 HLT END DECLARACIÓN RETORNO INVOCACIÓN

Subrutinas - Invocación Cuando se encuentra la instrucción CALL nombre_SUB … ORG 3000H SUB1: CMP AL, 0 RET ORG 2000H ; Programa principal CALL SUB1 Pila SP IP_L IP_H SP Dato_x ip sig al call de SUB1 dir_de_SUB1 IP Dir de la instrucción a ejecutar

Ejercicio 2 ¿Cuál es la tarea realizada por ambos programas?

Ejercicio 2 ¿Qué hace? Multiplica num1 y num2 AL = 05H AH = 00 DX = 0000 CL = 03H AX = 0005H DX = 000A DX = 0005 DX = 000F CL = 02H CL = 01H CL = 00H ¿Qué hace? Multiplica num1 y num2

Ejercicio 2 AL = 05H AH = 00 DX = 0000 CL = 03H DX = 000A DX = 0005 DX = 000FH CL = 02H CL = 01H CL = 00H

Ejercicio 4 4) Otra forma de implementar la multiplicación. AX BX BX ; Memoria de datos ORG 1000H NUM1 DW 5H NUM2 DW 3H AX 05H 00H 03H 00h 1000H 1001H 1002H 1003H BX 10 BX 10 02 h 00h ; Memoria de Instrucciones ORG 3000H ; Subrutina MUL MUL: MOV DX, 0 LAZO: MOV BX, AX ADD DX, [BX] PUSH DX MOV BX, CX MOV DX, [BX] DEC DX MOV [BX], DX POP DX JNZ LAZO RET 2H 1H 00H BX CX 10 02 h DX 2H 1H 0FH 0AH 3H 5H 5H 0AH 0FH 1H 0H 2H 7FFBH 7FFCH 7FFDH 7FFEH 7FFFH 8000H 0FH 5H 0AH SP IP L SP IP H ORG 2000H ; Programa principal MOV AX, OFFSET NUM1 MOV CX, OFFSET NUM2 CALL MUL HLT END SP