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
|2000||MVI D, 01||D <- 01|
|2002||MVI E, 01||E <- 01|
|2004||LDA 2050||A <- M|
|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|
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.