Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

8086 program to find the square root of a perfect square root number | Set-2

  • Last Updated : 28 May, 2018

Prerequisite – 8086 program to find Square Root of a number
Problem – Write a program to find the square root of a perfect number where starting address for code is 2000 and number is stored at 3000 memory address and store result into 3002 memory address.

Example –

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.


Algorithm –

  1. Move 0000 to register CX immediately
  2. Move value of memory 3000 into register BX
  3. Move CX into AX
  4. Multiply value of accumulator with CX
  5. Compare AX with BX
  6. Jump if zero to step
  7. Increase CX register by 1
  8. Jump if no zero to step 3
  9. Move content of register CX into memory 3002
  10. Stop

Program –

2000MOVCX, 0000[CX] <- 0000
2003MOVBX, [3000][BX] <- [3000]
2007MOVAX, CX[AX] <- [CX]
2009MULCX[AX] <- [AX] * [CX]
200BCMPAX, BX[AX] – [BX]
200DJZ2015Jump if zero
2010INCCX[CX] <- [CX] + 1
2012JNZ2007Jump if not zero
2015MOV[3002], CX[3002] <- CX

Explanation – Registers AX, BX, CX, are used for general purpose.

  1. MOV is used to transfer the data
  2. INC is used to increase given register by 1
  3. JNZ is used to jump to the given step if their is no zero
  4. JZ is used to jump to the given step if their is zero
  5. MUL is used to multiply value of AX with the given register
  6. CMP is used to compare the value of two registers
  7. HLT is used to halt the program
My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!