Ensamblador z80
1
Contenido
2
Conjunto de instrucciones
Tipos de instrucciones
Modos de direccionamiento
El ensamblador del Z80
El simulador AVOCET
Implementación de un sistema basado en
el Z80
UNIDAD 5
EL LENGUAJE DE
ENSAMBLADOR DEL Z80
Otoño 2011
Microprocesadores
Conjunto de Instrucciones
3
Formato de la Instrucción
4
El conjunto deinstrucciones de un microprocesador
determina la capacidad de su operación y el
poder de su manipulación de datos y su facilidad
de programación.
Una instrucción es un comando al microprocesador
para que desempeñe una tarea dada sobre un
dato especifico y esta formada por:
Código Operacional
Operando
Formato de la Instrucción
5
El tamaño de las instrucciones en elZ80 van de 1 a
4 bytes
El opcode determina cual es la operación que se va
a realizar y esta incluido en el primer byte de la
instrucción.
Algunos opcode especializados se encuentran en
dos bytes
Instrucciones de 1 byte
6
El operando puede ser especificado de varias
formas:
Datos de 8 bits
Datos de 16 bits
Registros
Par de registros
Dirección de I/O
Dirección deMemoria
Opcode
Las instrucciones son clasificadas en 4 grupos de
acuerdo a su longitud
Operandos
Codigo Binario
LD
El opcode y los operandos son especificados en el
mismo byte
A, B
01 111 000 (78H)
Tarea
Copiar el contenido del
registro B en el Acumulador
El código operacional es especificado en los
primeros dos bits 01
El registro Aes representado por el código 111
El registro B es representado por el código 000
1
28/09/2011
Instrucciones de 2 bytes
Instrucciones de 3 bytes
7
8
En una instrucción de 2 bytes, el primer byte
especifica el opcode y el segundo byte el
operando
Opcode
Operandos
Codigo Binario
LD
B, 32H
0000 0110 (06H)
Tarea
Copiar el numero 32Hen el
registro B
0011 0010 (32H)
El primer byte corresponde al opcode
Los siguientes 2 bytes corresponden a una dirección o
dato de 16 bits en orden inverso
El primer byte corresponde a la parte baja del numero
El segundo byte corresponde a la parte alta del numero
Opcode
Operandos
Codigo Binario
LD
BC, 2080H
0000 0001 (01H)
1000 0000 (80H)
El opcode para LD Bes 06H
0010 0000 (20H)
Instrucciones de 4 bytes
Tarea
Copiar el numero 2080H en el
registro BC
Conjunto de instrucciones
9
10
Las instrucciones anteriores son compatibles con el 8085 (244
opcodes)
Para incluir una mayor funcionalidad se diseñaron instrucciones
especiales con opcodes de 2 bytes
Estas instrucciones son generalmente asociadas a los registrosíndice
Opcode
Operandos
Codigo Binario
LD
IX, 2000H
Transferencia
de Datos
Aritméticas
Operaciones Lógicas
Manipulación de bits
Operaciones de Decisión
Operaciones de Control de Maquina
Operaciones
1101 1101 (DDH)
0010 0001 (21H)
0000 0000 (00H)
El conjunto de instrucciones se clasifican en 6
categorías
Tarea
Copiar la dirección 2000H en
elregistro índice IX
0010 0000 (20H)
Transferencia de datos
Transferencia de datos
11
12
Estas instrucciones copian los datos de una locación
llamada fuente hacia otra llamada destino
Operaciones
Ejemplos
•
Transfiere datos de un registro hacia otro registro
•
Transfiere un byte hacia un registro o una localidad
LD B,32H
de memoria
•
Transfiere datosde 16 bits hacia un par de
registros
•
Transfiere datos de una localidad de memoria
hacia un registro o viceversa
Operaciones
•
•
LD A,B
•
Transfiere datos de un puerto de entrada hacia el
acumulador
Transfiere datos del acumulador hacia el puerto de
salida
Transfiere datos de los registros del MPU hacia el
STACK y viceversa
Ejemplos
IN A,(01H)
OUT (01H),A
PUSH BC...
Regístrate para leer el documento completo.