Requisito previo: programa 8085 para encontrar el complemento de 1 y 2 de un número de 8 bits
Problema: escriba un programa para encontrar el complemento de 1 y 2 de un número de 16 bits donde la dirección inicial es 2000 y el número se almacena en la dirección de memoria 3000 y almacena el resultado en Dirección de memoria 3002 y 3004 .
Ejemplo –
Algoritmo –
- Cargue un número de 16 bits de la memoria 3000 en un par de registros (HL)
- Mover el contenido del registro L al acumulador
- Complemento contenido del acumulador
- Mover el contenido del acumulador al registro L
- Mover el contenido del registro H al acumulador
- Complemento contenido del acumulador
- Mover el contenido del acumulador al registro H
- Almacene el contenido del par de registros en la memoria 3002 ( complemento a 1 )
- Incrementar el contenido del par de registros en 1
- Almacene el contenido del par de registros en la memoria 3004 ( complemento a 2 )
- Deténgase
Programa –
Memoria | Mnemotécnica | operandos | Comentario |
---|---|---|---|
2000 | LHLD | [3000] | [HL] <- [3000] |
2003 | MOVIMIENTO | A, L | [A] <-[I] |
2004 | CMA | [A] <- [A^] | |
2005 | MOVIMIENTO | L, A | [I] <- [A] |
2006 | MOVIMIENTO | un, h | [A] <-[H] |
2007 | CMA | [A] <- [A^] | |
2008 | MOVIMIENTO | H, A | [H] <-[A] |
2009 | SHLD | [3002] | complemento a 1 |
200C | INX | H | [HL] <- [HL] + 1 |
200D | SHLD | [3004] | complemento a 2 |
2010 | HLT | Deténgase |
Explicación –
- A es un acumulador de 8 bits que se utiliza para cargar y almacenar los datos
- LHLD se usa para cargar el par de registros HL directamente usando una dirección de 16 bits (instrucción de 3 bytes)
- MOV se utiliza para transferir los datos del acumulador al registro (cualquiera) o registro (cualquiera) al acumulador (1 byte)
- CMA se utiliza para complementar el contenido del acumulador (instrucción de 1 byte)
- SHLD se usa para almacenar datos del par de registros HL en la memoria directamente usando una dirección de 16 bits (instrucción de 3 bytes)
- INX se utiliza para aumentar el par de registros HL en 1 (instrucción de 1 byte)
- HLT se utiliza para detener el programa