8085 program to find square root of a number
Problem β Write an assembly language program in 8085 microprocessor to find square root of a number. Example β Assumptions β Number, whose square root we need to find is stored at memory location 2050 and store the final result in memory location 3050. Algorithm β
- Assign 01 to register D and E
- Load the value, stored at memory location 2050 in accumulator A
- Subtract value stored at accumulator A from register D
- Check if accumulator holds 0, if true then jump to step 8
- Increment value of register D by 2
- Increment value of register E by 1
- Jump to step 3
- Move value stored at register E in A
- Store the value of A in memory location 3050
Program β
MEMORY ADDRESS | MNEMONICS | COMMENT |
---|---|---|
2000 | MVI D, 01 | D <- 01 |
2002 | MVI E, 01 | E <- 01 |
2004 | LDA 2050 | A <- M[2050] |
2007 | SUB D | A <- A β D |
2008 | JZ 2011 | Jump if ZF = 0 to memory location 2011 |
200B | INR D | D <- D + 1 |
200C | INR D | D <- D + 1 |
200D | INR E | E <- E + 1 |
200E | JMP 2007 | Jump to memory location 2007 |
2011 | MOV A, E | A <- E |
2012 | STA 3050 | A -> M[3050] |
2015 | HLT | END |
Explanation β Registers used A, D, E:
- MVI D, 01 β initialize register D with 01
- MVI E, 01 β initialize register E with 01
- LDA 2050 β loads the content of memory location 2050 in accumulator A
- SUB D β subtract value of D from A
- JZ 2011 β make jump to memory location 2011 if zero flag is set
- INR D β increments value of register D by 1. Since it is used two times, therefore value of D is incremented by 2
- INR E β increments value of register E by 1
- JMP 2007 β make jump to memory location 2007
- MOV A, E β moves the value of register E in accumulator A
- STA 3050 β stores value of A in 3050
- HLT β stops executing the program and halts any further execution
Advantages of finding the square root:
- It is an important mathematical operation used in various fields, such as engineering, physics, and finance.
- It can be used to find the distance between two points in a coordinate plane, the length of a side of a square, or the velocity of an object.
- It is a fundamental operation used in more advanced mathematical operations, such as calculus.
Disadvantages of finding the square root:
- It can be a time-consuming and complex operation, especially for larger numbers.
- Some methods for finding the square root may not always provide an exact answer and may require rounding or approximations.
- The accuracy of the result may depend on the chosen method and the number of iterations used.