Problema: escriba un programa en el microprocesador 8086 para averiguar la resta de dos números BCD de 8 bits, donde los números se almacenan desde la dirección de memoria inicial 2000: 500 y almacenan el resultado en la dirección de memoria 2000: 600 y llevan (tomar prestado) en 2000: 601.
Ejemplo –
Algoritmo –
- Cargue datos desde el desplazamiento 500 para registrar AL (primer número)
- Cargue datos del desplazamiento 501 al registro BL (segundo número)
- Resta estos dos números (contenido del registro AL y registro BL)
- Aplicar instrucción DAS (ajuste decimal)
- Almacene el resultado (contenido del registro AL) para compensar 600
- Establecer registro AL a 00
- Agregar contenido del registro AL a sí mismo con acarreo (pedir prestado)
- Almacene el resultado (contenido del registro AL) para compensar 601
- Deténgase
Programa –
DIRECCIÓN DE MEMORIA | MNEMOTÉCNICA | COMENTARIO |
---|---|---|
400 | MOV AL, [500] | AL<-[500] |
404 | BL MOV, [501] | BL<-[501] |
408 | SUB AL, BL | AL<-AL-BL |
40A | DAS | AJUSTE DECIMAL AL |
40B | MOV [600], AL | AL->[600] |
40F | MOV AL, 00 | AL<-00 |
411 | CDA AL, AL | AL<-AL+AL+cy(anterior) |
413 | MOV [601], AL | AL->[601] |
417 | HLT | FINAL |
Explicación –
- MOV AL, [500] carga datos desde el desplazamiento 500 al registro AL.
- MOV BL, [501] carga datos desde el desplazamiento 501 al registro BL.
- SUB AL, BL resta contenido de los registros AL Y BL.
- Ajuste decimal DAS AL.
- MOV [600], AL almacena datos desde el registro AL hasta el desplazamiento 600.
- MOV AL, 00 establece el valor del registro AL en 00.
- ADC AL, AL añade contenido del registro AL a AL con préstamo.
- MOV [601], AL almacena datos desde el registro AL hasta el desplazamiento 601.
- Fin del HLT .
Publicación traducida automáticamente
Artículo escrito por Amber_Saxena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA