;本程序求N的平方根
STACK SEGMENT STACK
DW 20 DUP(?)
STACK ENDS
DATA SEGMENT
N DB 20H
M DB 01H
I DB 01H
DATA ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATA,ES:NOTHING,SS:STACK
MAIN: MOV AX,DATA
MOV DS,AX
AGAIN:MOV AL,M
CMP AL,N
JAE DONE
MOV AL,I
MOV BL,2
MUL BL
ADD M,AL
INC I
JMP AGAIN
DONE: MOV AL,M
CMP AL,N
JE EXIT
SUB I,1
EXIT: MOV DL,I
ADD DL,30H
MOV AH,02H
INT 21H
MOV AX,4C00H
INT 21H
CODES ENDS
END MAIN
;算法原理
(X+1)2 = X2 + 2 * X + 1
令Mi = I2,
则Mi+1 = Mi + 2*I +1
用此式迭代计算
该博客展示了用汇编语言编写的求N的平方根的程序,包含堆栈段、数据段和代码段的代码实现。同时介绍了算法原理,通过 (X + 1)² = X² + 2 * X + 1 迭代计算,令 Mi = I²,Mi+1 = Mi + 2*I + 1 来求解。
9745

被折叠的 条评论
为什么被折叠?



