Problema: escriba un programa en lenguaje ensamblador en un microprocesador 8085 para encontrar el complemento a 2 del contenido del registro de banderas.
Ejemplo –
Algoritmo –
- Inicializar el valor de Stack Pointer (SP) a 3999
- Empuje el contenido de PSW (par de registro formado por acumulador y registro de bandera) en la pila de memoria
- Coloca el contenido de la pila en el par de registros BC
- Mover el contenido del registro C a A
- Tomar el complemento a 1 de los contenidos de A
- Incrementa el contenido de A en 1
- Mover el contenido de A a C
- Empuje el contenido del par de registros BC en la pila
- Pop el contenido de la pila en PSW
- Deténgase
Programa –
DIRECCIÓN DE MEMORIA | MNEMOTÉCNICA | COMENTARIO | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2000 | LXI SP 3999 | PS <- 3999 | ||||||||||||||||||
2003 | PUSH PSW | Empuje el valor del acumulador y la bandera en la pila | ||||||||||||||||||
2004 | POP B | Valor POP desde la parte superior de la pila hasta el par de registros BC | ||||||||||||||||||
2005 | MOV A, C | A <-C | 2006 | CMA | A = complemento a 1 de A | 2007 | USD A | UN = UN + 1 | 2008 | MOV C, A | C <- A | 2009 | EMPUJAR B | EMPUJE el valor del par de registros BC en la pila | 200A | PSW POP | Valor POP desde la parte superior de la pila hasta el acumulador y la bandera | 200B | HLT | Deténgase |
Explicación –
- LXI SP 3999 se usa para inicializar el valor de Stack Pointer (SP) a 3999.
- PUSH PSW se utiliza para insertar el contenido de PSW en la pila de memoria.
- POP B se usa para colocar el contenido de la parte superior de la pila en el par de registros BC.
- MOV A, C mueve el contenido del registro C a A.
- CMA toma el complemento a 1 de los contenidos de A.
- INR A incrementa el contenido de A en 1.
- MOV C, A mueve el contenido de A a C.
- PUSH B se usa para empujar el contenido del par de registros BC a la pila.
- POP PSW se usa para colocar el contenido de la pila en PSW.
- HLT se utiliza para finalizar el programa.
Publicación traducida automáticamente
Artículo escrito por harshit-chhabra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA