Home

Find the number of negative, zero and positive numbers

Statement: A list of 50 numbers is stored in memory, starting at 6000H. Find number of negative, zero and positive numbers from this list and store these results in memory locations 7000H, 7001H, and 7002H respectively.

Source program :

  • LXI H, 6000H : Initialize memory pointer
  • MVI C, 00H : Initialize number counter
  • MVI B, 00H : Initialize negative number counter
  • MVI E, 00H  : Initialize zero number counter
  • BEGIN:MOV A, M : Get the number
  • CPI 00H : If number = 0
  • JZ ZERONUM : Goto zeronum
  • ANI 80H : If MSB of number = 1i.e. if
  • JNZ NEGNUM number is negative goto NEGNUM
  • INR D : otherwise increment positive number counter
  • JMP LAST
  • ZERONUM:INR E : Increment zero number counter
  • JMP LAST
  • NEGNUM:INR B : Increment negative number counter
  • LAST:INX H : Increment memory pointer
  • INR C : Increment number counter
  • MOV A, C
  • CPI 32H : If number counter = 5010 then
  • JNZ BEGIN : Store otherwise check next number
  • LXI H, 7000 : Initialize memory pointer.
  • MOV M, B : Store negative number.
  • INX H
  • MOV M, E : Store zero number.
  • INX H
  • MOV M, D : Store positive number.
  • HLT : Terminate execution

Flowchart for program

32-Find the number of negative, zero and positive numbers

Related Programs for Beginners: (Click down)

Calculate the sum of series of numbers

Find the square of given number

Count number of one's in a number

Unpack a BCD number