8085 program to separate (or split) a byte into two nibbles


Here we will see how to split two nibbles of an 8-bit number.

Problem Statement

Write 8085 Assembly language program to split two nibbles of an 8-bit number. Number is stored at F050, we will store result at F051 and F052.

Discussion

To get the nibbles separately, at first we are taking number into B register as a copy. Now mask upper nibble to get lower nibble and store it, then take the number from B again, mask lower nibble to get upper nibble, then rotate it four times to make it lower order nibble, after that store it to another location.

Input

Address
Data
F050
35

 

Address
Data
F050
BE

 

Flow Diagram

 

Program

Address
HEX Codes
Labels
Mnemonics
Comments
F000
3A, 50 F0
 
LDA F050
Take the number from memory to Accumulator
F003
47
 
MOV B,A
Store the number Acc to B
F004
E6, 0F
 
ANI 0F
AND Acc with 0F to get lower nibble
F006
32, 52, F0
 
STA F052
Store lower nibble to memory
F009
78
 
MOV A,B
Load main number from B to A
F00A
E6, F0
 
ANI F0
AND Acc and F0 to get upper nibble
F00C
07
 
RLC
Rotate Acc to left
F00D
07
 
RLC
Rotate Acc to left
F00E
07
 
RLC
Rotate Acc to left
F00F
07
 
RLC
Rotate Acc to left
F010
32, 51, F0
 
STA F051
Store upper nibble at F051
F013
76
 
HLT
Terminate the program

 

Output

Address
Data
F051
03
F052
05

 

Address
Data
F051
0B
F052
0E

 

 

 

 

 

raja
Published on 17-Jun-2019 08:45:31
Advertisements