Central Processing Unit Q.8

Consider the following assembly language program for a hypothetical processor. A, B and C are 8 bit registers. The meanings of various instructions are shown as comments.
MOV B, # 0 ; B ⇽ 0
MOV C, # 8 ; C ⇽ 8
Z : CMP C, # 0 ; Compare C with 0
JZ X ; Jump to X if 0 flag is set
SUB C, # 1 ; C ⇽ C – 1
RRC A, # 1 ; Rotate right A through carry by one bit
JC Y ; Jump to Y if any carry flag is set
JMP Z ; Jump to Z
Y : ADD B, # 1 ; B ⇽ B + 1
JMP Z ; Jump to Z
X

0. If the initial value of register A is A0 , the value of register B after the program execution will be

  • Option : B
  • Explanation : The value of B after execution of the program is number of 1 bits in A0 because Jump is occur only when carry flag is set to 1.
Cancel reply

Your email address will not be published. Required fields are marked *


Cancel reply

Your email address will not be published. Required fields are marked *