注册 登录
编程论坛 汇编论坛

[求助]一道汇编语言设计题(用程序代码)

p10179 发布于 2006-12-26 15:18, 959 次点击
试编写一个汇编程序,求级数1×1+2×2+3×3+4×4+…..n×n(可认为是㎡)的n和大于1000的最小项,将项数存入到T单元中,并显示出项数n的值。
高手们我急用,谢谢!
4 回复
#2
lefttime2006-12-26 15:43
因为和最大只到1000,项数必定在99以内,故程序中用了AAM

CSEG SEGMENT
ASSUME CS:CSEG
MAIN: MOV BX,0
MOV CX,0
NEXT: MOV AX,0
INC CL ;以CL作因子,且先加比较容易判断项数,楼主可以自行测试
MOV AL,CL
MUL CL
ADD BX,AX ;这里用BX存放各数平方的和
CMP BX,1000
JB NEXT
MOV AL,CL ;存放的项数在99内,所以用二-十进制(BCD码)转换
AAM
MOV DX,AX
MOV AH,2
OR DX,3030H
XCHG DH,DL
INT 21H
XCHG DH,DL
INT 21H
MOV AX,4C00H
INT 21H
CSEG ENDS
END MAIN
#3
24tian2006-12-26 19:42

楼上的大哥,把MOV BX,0这几个改成xor bx,bx好些把。结果是实际的大1把。

#4
lefttime2006-12-26 19:56
效果一样,占用两个字节、占用两个时钟同期
#5
lefttime2006-12-26 19:58
至于结果,这里是以因子(CL)作为项数,且要求是从1开始,所以不会大1
1