Open In App

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

Last Updated : 15 Sep, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

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 – 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 –

Memory Mnemonics Operands Comment
2000 MOV CX, 0000 [CX] <- 0000
2003 MOV BX, [3000] [BX] <- [3000]
2007 MOV AX, CX [AX] <- [CX]
2009 MUL CX [AX] <- [AX] * [CX]
200B CMP AX, BX [AX] – [BX]
200D JZ 2015 Jump if zero
2010 INC CX [CX] <- [CX] + 1
2012 JNZ 2007 Jump if not zero
2015 MOV [3002], CX [3002] <- CX
2019 HLT   Stop

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 there is no zero
  4. JZ is used to jump to the given step if there 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

Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads