MACRO SQRT IFZ varSQRT MacroDone IFN varSQRT MacroDone GV varSQRTb (varSQRT/2) GV varSQRTround (.00001*varSQRT) :MacroLoop GV varSQRTa varSQRTb GV varSQRTb (.5*(varSQRTa+(varSQRT/varSQRTa))) GV varSQRTdiff (varSQRTa-varSQRTb) IFN varSQRTdiff MacroNeg GV varTol (varSQRTdiff-varSQRTround) IFN varTol MacroFound GOTO MacroLoop :MacroNeg GV varTol (varSQRTdiff+varSQRTround) IFP varTol MacroFound GOTO MacroLoop :MacroFound GV varSQRT varSQRTb :MacroDone ENDM