急!汇编语言编程求1+3+5+…+99,结果送SUM变量

一定是要能运行的噢,是汇编语言的..谢谢各位了..

第1个回答  2009-04-08
;本程序通过编译,运行正确。

Data segment
SUM DW 0
Data Ends

Code segment
assume cs:Code,ds:Data

start: mov ax,Data
mov ds,ax
mov cx,99

Adding: test cx,1
jz Next
add sum,cx
Next: loop Adding

mov ax,4c00h
int 21h
Code Ends
end start本回答被提问者采纳
第2个回答  2009-04-08
用C还是c++后者是JAVA语言,若是这几种的话你可以到我空间里找我,若不是那就没办法了。
http://hi.baidu.com/zhang020744
汇编语言编程求1+3+5+…+99,结果送SUM变量:
经过调试成功以后的c++程序:
#include<iostream.h>
void main()
{ int n;
double sum=0;
for( n=0;n<50;n++)
{
sum+=(2*n+1);
}
cout<<"1+3+----+99="<<sum<<endl;
}
第3个回答  2009-04-08
DATA SEGMENT
sum dw ?
DATA ENDS
STACK SEGMENT
DB 200 DUP(0)
STACK ENDS

CODE SEGMENT
ORG 100H
ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV AX,DATA
MOV DS,AX
mov cx,0
mov ax,1
mov bx,1

lp:
add bx,2
add ax,bx
cmp bx,99
jnz lp

mov sum,ax
quit:
mov ah,4ch
int 21h

CODE ENDS
END START
第4个回答  2009-04-08
.386
.model flat, stdcall
option casemap:none

includelib ..\lib\msvcrt.lib

.data
sum dd 0
f db '1+3+5+..+99=%d',13,10,0

extern printf:near
extern exit:near

.code
start:
xor eax, eax
mov al, 1
add al, 99
mov bl, 25
mul bl
push eax
push offset f
call printf
add esp, 8
push 0
call exit
end start

C语言程序:求1+3+5+…+99
C语言程序:求1+3+5+…+99的方法:int main(){ int i,sum=0;for(i=1;i100;i+=2)sum+=i;printf(1+3+5+……+99=%d\\n,sum);return 0;}

编写汇编语言源程序计算Sum=1+3+5+。。。+99将结果存放在AX寄存器中
loopment:add ax,bx inc bx loop loopment ...

怎样用汇编语言编程计算 1+2+3+...+100 还有 1+3+5+...+99 ?
呵呵我就用c告诉你吧int sum=0;for(int i=1;i<=100;i++){sum+=i; }直接输出就可以了下一个int sum=1;for(int i=1;i<=100;i++){if(i%2==1)sum+=i; }

用汇编语言编程计算S=1+3+5+...+99,并以十六进制形式显示S的值。要求能...
s=1+3+5...+99 s=hex(s)

用调用子程序的方法实现1!+3!+5!+7!+9!功能,主程序用C语言实现,整数阶乘...
include<stdio.h> int funt(int n){ if(n==1)return 1;else return (n*funt(n-1));} int main(){ int i;long sum=0;for(i=1;i<10;i=i+2){sum=sum+funt(i);} printf("和是多少:%d\\n",sum);return 0;}

MATLAB编程:计算1+3+5+7+…+(2n+1)的值(用input语句输入n 值)_百度知...
1+3+5+...2*n+1 n=input('please input n=');sum=0;for i=1:n;sum=sum+2*i-1;end sum

汇编语言的编程题,求1+2+3+4+5,结果存入AL中
结果放在AL当中。。可以用循环的方式做到:mov al,0 mov dl,0 mov cx,6 s: add dl,1 add al,dl loop s 其上只是编程的思想,完整的程序我也可以为你写出来。code segment start: mov al,0 mov dl,0 mov cx,6 s: add dl,1 add al,dl loop s code ends end start ...

在dos系统下用汇编语言编写的1+2+...+100的求和运算并能显示出结果
??MOV AX,3,文本模式 ???INT 10H 还是那句话:MOV DX,偏移提示;提示 ??MOV AH,9 ???INT 21H ??调用输入接收任何两个五位数 ??调用计数;总结 ;输出十进制结果 ??MOV DX,偏移Y1 [-1]??MOV AH,9 ???INT 21H ??MOV AH,0;暂停 ???INT 16H ??CMP AH...

用汇编编写:1+2+3+4+5+……+n,和小于100,显示次数。
CODE SEGMENT ;代码段 ASSUME CS: CODE, DS: DATA START:PUSH CS POP DS MOV i, 1 MOV sum, 0 LOP:MOV AX, sum ADD AX, i CMP AX, 100 JNB EXIT MOV sum, AX MOV AX, i CALL PRINTAX MOV DL, ':'CALL PUTC MOV DL, ' 'CALL PUTC MOV AX, sum...

用汇编语言实现如下程序:进行自然数相加(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...

相似回答