Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
8085 program to count number of once in the given 8-bit number
In this program we will see how to count number of 1's in an 8-bit number.
Problem Statement
Write 8085 Assembly language program to count number of 1s in 8-bit number stored atlocation 8000H.
Discussion
In this program we areusing the rotate operation to count the number of 1's. As there are8 different bits in 8-bit number, then we are rotating the numbereight times. we can use RRC or RLC. Here we have used the RRCinstruction. This instruction sends the LSb to MSb also to carryflag. So after each iteration we can check the carry status to getthe count of 1s.
If the number is DA (11011010) then the answer will be 5, as there are five 1s in the number.
Input
| Address |
Data |
|---|---|
| . . . |
. . . |
| 8000 |
DA |
| . . . |
. . . |
Flow Diagram

Program
| Address |
HEX Codes |
Labels |
Mnemonics |
Comments |
|---|---|---|---|---|
| F000 |
37 |
|
STC |
Set Carry |
| F001 |
3F |
|
CMC |
ComplementCarry |
| F002 |
3A, 00, 80 |
|
LDA 8000H |
Load the number into A |
| F005 |
0E, 08 |
|
MVI C,08H |
Initialize the counter to 08H |
| F007 |
06, 00 |
|
MVI B,00H |
Clear B register |
| F009 |
0F |
LOOP |
RRC |
Rotate right |
| F00A |
D2, 0E, F0 |
|
JNC SKIP |
If CY = 0,skip the next step |
| F00D |
04 |
|
INR B |
If CY = 1,increase B |
| F00E |
0D |
SKIP |
DCR C |
Decrease C by1 |
| F00F |
C2, 09, F0 |
|
JNZ LOOP |
If Z = 0,jump to loop |
| F012 |
78 |
|
MOV A,B |
Load the count to A |
| F013 |
32, 50, 80 |
|
STA 8050H |
Store theĀ result at 8050H |
| F016 |
76 |
|
HLT |
Terminate the program |
Output
| Address |
Data |
|---|---|
| . . . |
. . . |
| 8050 |
05 |
| . . . |
. . . |
Advertisements
