Problem – Write an assembly language program in 8085 microprocessor to check whether the 8 bit number which is stored at memory location 2050 is even or odd. If even, store 22 at memory location 3050 otherwise store 11 at memory location 3050. Example –
A number is said to be odd if its lower bit is 1 otherwise even. Therefore to identify whether the number is even or odd, we perform AND operation with 01 by the help of ANI instruction. If number is odd then we will get 01 otherwise 00 in accumulator. ANI instruction also affect the flags of 8085. Therefore if accumulator contains 00 then zero flag becomes set otherwise reset. Algorithm –
- Load the content of memory location 2050 in accumulator A.
- Perform AND operation with 01 in value of accumulator A by the help of ANI instruction.
- Check if zero flag is set, i.e if ZF = 1 then store 22 in accumulator A otherwise store 11 in A.
- Store the value of A in memory location 3050
Program –
MEMORY ADDRESS |
MNEMONICS |
COMMENT |
2000 |
LDA 2050 |
A <- M[2050] |
2003 |
ANI 01 |
A <- A (AND) 01 |
2005 |
JZ 200D |
Jump if ZF = 1 |
2008 |
MVI A 11 |
A <- 11 |
200A |
JMP 200F |
Jump to memory location |
200D |
MVI A 22 |
A <- 22 |
200F |
STA 3050 |
M[3050] <- A |
2012 |
HLT |
END |
Explanation – Registers used A:
- LDA 2050 –loads the content of memory location 2050 in accumulator A
- ANI 01 –performs AND operation between accumulator A and 01 and store the result in A
- JZ 200D –jump to memory location 200D if ZF = 1
- MVI A 11 –assign 11 to accumulator
- JMP 200F –jump to memory location 200F
- MVI A 22 –assign 22 to accumulator
- STA 3050 –stores value of A in 3050
- HLT –stops executing the program and halts any further execution
Advantages:
- Simple and easy to understand logic
- Uses only a few instructions, making it efficient in terms of memory usage and execution time
Can be easily modified to check for other properties of numbers, such as divisibility by certain numbers
Disadvantages:
- Only works for 8-bit numbers
- Requires an additional branch instruction (JZ) to check whether the number is even or odd, which can add overhead to the program
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!
Last Updated :
25 Apr, 2023
Like Article
Save Article