8085 programas para hallar el complemento a 2 con carry | conjunto 2

Problema 1: encuentre el complemento a 2 de un número de 8 bits almacenado en la dirección 2050. El resultado se almacena en las direcciones 3050 y 3051. La dirección inicial del programa se toma como 2000. 

Ejemplo – 
 

Algoritmo – 

  1. Estamos tomando el complemento del número usando la instrucción CMA .
  2. Luego sumando 01 al resultado.
  3. El acarreo generado al agregar 01 se almacena en 3051.

Programa – 
 

Dirección de memoria Mnemotécnica Comentario
2000 LDA 2050 A←2050
2003 CMA A←complemento de A
2004 USD A A←A+01
2005 MOV L, A L←A
2006 MVI A 00 A←00
2008 A DC A A←A+A+Llevar
2009 MOV H, A H←A
200A SHLD 3050 L→3050, H→3051
200D HLT  

Explicación – Registros utilizados: A, H, L 

  1. LDA 2050 carga contenido de 2050 en A
  2. CMA complementa los contenidos de A
  3. INR A aumenta A en 01
  4. MOV L, A copia contenido de A en L
  5. MVI A 00 mueve 00 en A
  6. ADC A agrega A, A, Carry y lo asigna a A
  7. MOV H, A copia contenido de A en H
  8. SHLD 3050 almacena el valor de H en la ubicación de memoria 3051 y L en 3050
  9. HLT deja de ejecutar el programa y detiene cualquier ejecución adicional

Problema 2: encuentre el complemento a 2 de un número de 16 bits almacenado en las direcciones 2050 y 2051. El resultado se almacena en las direcciones 3050, 3051 y 3052. La dirección inicial del programa se toma como 2000. 

Ejemplo – 

Algoritmo – 
 

  1. Estamos tomando el complemento de los números usando la instrucción CMA .
  2. Luego agrega 0001 al resultado usando la instrucción INX .
  3. El acarreo generado al agregar 0001 se almacena en 3052.

Programa – 
 

Dirección de memoria Mnemotécnica Comentario
2000 LHLD 2050 L←2050, H←2051
2003 MOV A, L A←L
2004 CMA A←complemento de A
2005 MOV L, A L←A
2006 MOV A, H A←H
2007 CMA A←Complemento de A
2008 MOV H, A H←A
2009 INXH HL←HL+0001
200A MVI A 00 A←00
200C A DC A A←A+A+Llevar
200D SHLD 3050 L→3050, H→3051
2010 STA 3052 A→3052
2013 HLT  

Explicación – Registros utilizados: A, H, L 
 

  1. LHLD 2050 carga contenido de 2051 en H y contenido de 2050 en L
  2. MOV A, L copia el contenido de L en A
  3. CMA complementa los contenidos de A
  4. MOV L, A copia contenido de A en L
  5. MOV A, H copia el contenido de H en A
  6. CMA complementa los contenidos de A
  7. MOV H, A copia contenido de A en H
  8. INX H agrega 0001 en HL
  9. MVI A 00 mueve 00 en A
  10. ADC A suma A, A, Carry y almacena el resultado en A
  11. SHLD 3050 almacena el valor de H en la ubicación de memoria 3051 y L en 3050
  12. STA 3052 almacena el valor de A en la ubicación de memoria 3052
  13. HLT deja de ejecutar el programa y detiene cualquier ejecución adicional

Consulte – Programa 8085 para encontrar el complemento de 1 y 2 de un número de 8 bits  
Programa 8085 para encontrar el complemento de 1 y 2 de un número de 16 bits
 

Publicación traducida automáticamente

Artículo escrito por AnmolAgarwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *