汇编语言“自然数1到100的求和。并写出结果输出”

各位大哥帮忙作作 啊,谢谢!

最简单的做法

code segment
assume cs:code
start:
mov ax,0 ;ax清零
mov bx,1 ;bx将从1循环加到100
mov cx,100 ;cx作为循环次数的控制变量
next:
add ax,bx ;ax保存加的结果
inc bx ;bx加一
loop next
mov ah,4ch ;主程序结束 返回dos
int 21h
code ends
end start

不明白再发消息给我吧 ^_^
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-06-03
SSEG SEGMENT PARA STACK
DW 256 DUP(0)
SSEG ENDS
DSEG SEGMENT
SHOW DB 'SUM=','$'
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START: MOV AX,DSEG
MOV DS,AX
MOV DX,OFFSET SHOW
MOV AH,09
INT 21H
MOV CX,100
XOR AX,AX
NEXT1: ADD AX,CX
LOOP NEXT1
MOV BX,10
NEXT2: CMP AX,10
JB OK
XOR DX,DX
DIV BX
PUSH DX
INC CX
JMP NEXT2
OK: MOV DL,AL
ADD DL,30H
MOV AH,02H
INT 21H
CMP CX,0
JE FINISH
NEXT3: POP DX
ADD DL,30H
MOV AH,02H
INT 21H
LOOP NEXT3
FINISH: MOV AH,4CH
INT 21H
CSEG ENDS
END START本回答被提问者采纳
第2个回答  2019-12-24
SSEG
SEGMENT
PARA
STACK
DW
256
DUP(0)
SSEG
ENDS
DSEG
SEGMENT
SHOW
DB
'SUM=','$'
DSEG
ENDS
CSEG
SEGMENT
ASSUME
CS:CSEG,DS:DSEG
START:
MOV
AX,DSEG
MOV
DS,AX
MOV
DX,OFFSET
SHOW
MOV
AH,09
INT
21H
MOV
CX,100
XOR
AX,AX
NEXT1:
ADD
AX,CX
LOOP
NEXT1
MOV
BX,10
NEXT2:
CMP
AX,10
JB
OK
XOR
DX,DX
DIV
BX
PUSH
DX
INC
CX
JMP
NEXT2
OK:
MOV
DL,AL
ADD
DL,30H
MOV
AH,02H
INT
21H
CMP
CX,0
JE
FINISH
NEXT3:
POP
DX
ADD
DL,30H
MOV
AH,02H
INT
21H
LOOP
NEXT3
FINISH:
MOV
AH,4CH
INT
21H
CSEG
ENDS
END
START
第3个回答  2008-06-03
main( )
{ int i, sum=0;
for( i=1; i<=100; i+ + ) sum+ = i;
printf(“sum=%d\n”, sum);
}
第4个回答  2008-06-03
dim a,i
j=0
for i=1 to 100
a=i+i
next
response.write a

汇编语言“自然数1到100的求和。并写出结果输出”
start:mov ax,0 ;ax清零 mov bx,1 ;bx将从1循环加到100 mov cx,100 ;cx作为循环次数的控制变量 next:add ax,bx ;ax保存加的结果 inc bx ;bx加一 loop next mov ah,4ch ;主程序结束 返回dos int 21h code ends end start 不明白再发消息给我吧 ^_^ ...

...编写程序,用函数完成:计算从1开始到n的自然数的和???
1、新建一个求1到100自然数之和项目。2、添加一个cpp文件。3、包含需要用到的头文件。4、输入main函数。5、定义两个变量,分别是:a和sum。6、使用while语句计算1到100之间所有自然数之和。7、运行程序,打印出结果。注意事项:C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性...

程序设计题:求1-100这100个自然数之和.
int i,s=0;for (i=1;i<=100;i++) s+=i;printf("%d\\n",s);}

汇编1到1000 任意自然数 连续相加
此处可以将结果输出到屏幕上或者存储到内存中 mov eax, 1 ; 调用系统调用 xor ebx, ebx ; 返回值为 0 int 0x80 ; 调用系统调用上述代码使用 x86 汇编语言实现了对 1 到 1000 的自然数进行连续相加的操作。具体来说,代码中使用 mov 指令将累加器和计数器初始化为 0 和 1...

用汇编语言编写程序:从自然数1加到100,并画出流程图.求解答.谢谢
data segment x db 1 data ends code segment assume cs:code,ds:data start:mov ax,data mov ds,ax mov ax,0 mov cx, 100 s:add ax,x add x,1 loop s mov ax,4c00h int 21h code ends end start

用汇编语言实现从1到50的自然数之和,将结果转换成十进制形式输出
.model small .stack 100h .code main proc xor ax, ax mov cx, 50 1:add ax, cx loop @@1 call print mov ax, 4c00h int 21h main endp;;print proc near push bx push dx mov bx, 10 xor dx, dx or ax, ax JZ print...

用汇编语言实现如下程序:进行自然数相加(1+2+3+……+N)。必须利用循环...
N 的极限是92681。 以下程序将其赋值 100000 时,它返回的为92681。当你给定的@N 在92681以内时,它会输出自然数累加结果。(程序是用16位的寄存器实现,比32位的寄存器实现要复杂很多 !) CODE SEGMENT ASSUME CS:CODE @N DD 100000 START: PUSH CS POP DS...

汇编语言 从键盘上输入0~9中任意一个自然数求其立方值。运行成功,但结...
-G1F ;运行到上面这一行,看输入数字的立方是否等于AX即可。please input x(0~9):9 AX=02D9 BX=0012 CX=0056 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000 DS=0B5F ES=0B4F SS=0B5F CS=0B62 IP=001F NV UP EI PL NZ AC PE NC 0B62:001F A32A00 ...

在线等,汇编语言:0~9任一个自然数 输出立方和
没执行到位置 mov dx, offset input mov ah,9 int 21h 这是输入字符串:"please input x(0~9):$"mov ah,1 int 21h 这才是读取输入的字符。你图片中的,是没有执行到输入。刚执行到输出(并且还没结束),一直用t执行下去就行了。

汇编问题,在线等待~~~
有加法,除法,减乘更为简单类推一下吧 注释写得很详细了,出口入口地址也有标记 ;n个数据相加子程序 ;11,13,15为进位。12,14,16为相加结果,分别为低8位、中、高8位 ;vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ADDP: MOV 11H,#00H MOV 12H,#00H MOV R0,#20H ;<---"20"...

相似回答