Write an assembly language program to check the number in memory location C000H is even or odd, if the number is even, store EEH in memory location D000H else store 00H in same location.

Write an assembly language program to check the number in memory location C000H is even or odd, if the number is even, store EEH in memory location D000H else store 00H in same location.

Algorithm for Assembly Language programming in Intel 8085 Microprocessor

Step 1: Point HL register pair to memory location C000H

Step 2: Store 05H in memory location C000H.

Step 3: Move content of memory location to the Accumulator.

Step 4: Rotate accumulator right through carry

Step 5: If carry is obtained from Step 4: then jump to Step 8:

Step 6: Load Accumulator with EEH (number is even)

Step 7: Unconditional jump to Step 9:

Step 8: Load Accumulator with 00H (number is odd)

Step 9: Store content of Accumulator to memory location D000H

Step 10: Terminate the program

 

Assembly language for programming in Intel 8085 Microprocessor

Label Instruction Comments
LXI H, C000H ; HL register pair points at memory location C000H
  MVI M, 05 H ; Stores 05H to memory location
  MOV A, M ; Moves content of memory location to accumulator
  RAR ; Rotates accumulator right with carry
  JC jump1; If carry jumps to jump1:
  MVI A, EEH ; Loads accumulator with EEH
  JMP jump2; Unconditionally jumps to jump2:
jump1: MVI A, 00H ; Loads accumulator (A) with 00H
jump2: STA D000H ; Stores content of A to D000H
  HLT ; Terminates the program


Leave a Reply