Skip to main content

Logical Group Instructions (Part-VI) - RLC, RRC, RAL, RAR

RLC:
  • This instruction rotates the contents of accumulator to the left by one bit.
  • It will shift B0 to B1, B1 to B2,............B7 to B0 as well as to carry flag.
  • Only CY flag is modified.
  • It is a one byte instruction.
  • Implied addressing mode is used.
Before execution:


After execution:

Example:
If A = 0101 0111 = 57H and CY = 1
RLC ; Now A = 10101110 = AEH and CY = 0.

RRC:
  • This instruction rotates the contents of accumulator to the right by one bit.
  • It will shift B7 to B6, B6 to B5,............B0 to B7 as well as to carry flag.
  • Only CY flag is modified.
  • It is a one byte instruction.
  • Implied addressing mode is used.
Before execution:


After execution:


Example:
If A = 1001 1010 = 9AH and CY = 1
RLC ; Now A = 0100 1101 = 4DH and CY = 0.

RAL:
  • This instruction rotates the contents of accumulator to the left by one bit along with the carry.
  • It will shift B0 to B1, B1 to B2,............B7 to CY and CY to B0.
  • Only CY flag is modified.
  • It is a one byte instruction.
  • Implied addressing mode is used.
Before execution:


After execution:


Example:
If A = 0101 0111 = 57H and CY = 1
RLC ; Now A = 1010 1111 = AFH and CY = 0.

RAR:
  • This instruction rotates the contents of accumulator to the right by one bit along with the carry.
  • It will shift B7 to B6, B6 to B5,............B0 to CY and CY to B7.
  • Only CY flag is modified.
  • It is a one byte instruction.
  • Implied addressing mode is used.
Before execution:


After execution:


Example:
If A = 1001 1010 = 9AH and CY = 1
RLC ; Now A = 1100 1101 = CDH and CY = 0.

Comments

Popular posts from this blog

Program to exchange the contents of two memory locations

Statement: Exchange the contents of memory locations 2000H and 2001H. Example:  Initially, (2000H) = 34H (2001H) = 20H After exchanging, (2000H) = 20H (2001H) = 34H Program 1 using direct addressing instructions: LDA 2000H               ; Get the contents of location 2000H into accumulator MOV B, A                  ; Move the contents of accumulator into register B LDA 2001H                ; Get the contents of location 2001H into accumulator STA 2000H                 ; Store the contents of accumulator into location 2000H MOV A, B                  ; Move the contents of register B into accumulator STA 2001H                 ; Store the contents of accumulator into location 2001H HLT  ...

Logical Group Instructions (Part-I) - ANA and ANI

ANA R:  This instruction logically AND the contents of the specified register with the contents of the accumulator. Register R can be any 8-bit general purpose register like A, B, C, D, E, H and L. The result is stored in the accumulator. S (Sign flag), Z (Zero flag), P (Parity flag) are modified. CY (Carry flag) is reset and AC (Auxiliary Carry flag) is set. It is a one byte instruction. Register addressing mode is used. Example: If A = 0101 1001 = 59H and B = 0000 0011 = 03H ANA B ; This instruction will logically AND the contents of A (59H) with the contents of B (03H) and the result (01H) is stored in A. ANA M: This instruction logically AND the contents of the memory location pointed by HL register pair with the contents of the accumulator. The result is stored in the accumulator. S (Sign flag), Z (Zero flag), P (Parity flag) are modified. CY (Carry flag) is reset and AC (Auxiliary Carry flag) is set. It is a one byte instruction. Register indirect a...