導航:首頁 > 編程語言 > 匯編程序計算整數數組偶數之和

匯編程序計算整數數組偶數之和

發布時間:2022-08-18 10:14:58

⑴ 用匯編語言編制一個計算從2開始的N個偶數之和,將結果顯示出來

CODESEGMENT
ASSUMECS:CODE
START:PUSHCS
POPDS
PUSHCS
POPES
MOVBP,0
@0:
MOVAH,1
INT21H
CMPAL,13
JE@1
SHLBP,1
MOVDI,BP
SHLBP,1
SHLBP,1
ADDBP,DI
ANDAL,0FH
XORAH,AH
ADDBP,AX
JMP@0
@1:
MOVCX,BP
XORAX,AX
@2:
ADDAX,CX
LOOP@2
SHLAX,1
CALLLFCR
CALLDSPAX
MOVAH,4CH
INT21H

;=======================================
DSPAXPROCNEAR
PUSHAX
PUSHBX
PUSHCX
PUSHDX
PUSHF
XORCX,CX
MOVBX,10
@DSPAX1:
XORDX,DX
DIVBX
INCCX
ORDX,30H
PUSHDX
CMPAX,0
JNE@DSPAX1
MOVAH,2
@DISPAX2:
POPDX
INT21H
LOOP@DISPAX2
POPF
POPDX
POPCX
POPBX
POPAX
RET
DSPAXENDP
;==================================
LFCRPROCNEAR
PUSHAX
PUSHDX
MOVAH,2
MOVDL,13
INT21H
MOVDL,10
INT21H
POPDX
POPAX
RET
LFCRENDP
;================================
CODEENDS
ENDSTART

⑵ 請教「求1到100之間所有偶數的和」的匯編語言程序是什麼

int
beven(int
num){return
num%2?0:num;}
int
main()
{
int
i
=
0,
sum
=
0;
for
(i=0;
i<=100;
i++)
{
sum
+=
beven(i);
}
printf("100以內(含100)偶數和為%d\n",
sum);
return
0;
}

⑶ 匯編程序:求1到100中偶數的和

MOV CX,50
MOV AX,0
MOV BX,2
AGAIN: ADD AX,BX
INC BX
INC BX
LOOP AGAIN

⑷ 用匯編語言編寫子程序,計算10以內所有奇數之和與所有偶數之和

assume cs:code ;將CS段寄存器與code段關聯

code segment ;code段
start:
mov bl,10 ;這里用AL來傳送多少以內的數字
call sub1 ;調用子程序

mov ax,4c00h
int 21h
;================================================
;bl送入計算范圍,比如0~10,在主程序裡面只要把bl設置成10
;用bh返回偶數之和,用bl返回奇數之和
sub1:
push ax
push cx
push dx

dec bl
mov bh,0
mov cx,bx ;設置循環次數
mov dl,2 ;除數
mov ax,2 ;第一個數字,為什麼要使第一個數字等於2而不是0呢?因為0/2會溢出
mov bx,1 ;初始籦bx bh=0 bl=1,0000 0001=1
s1:
push ax ;把ax暫存一下,分別在jishu和oushu裡面還原,因為這里要進行除法,會改變AX
div dl ;數以2看有沒有餘數
cmp ah,0
je oushu
jishu:
pop ax
add bl,al
jmp short sub_ok
oushu:
pop ax
add bh,al
sub_ok:
inc ax
loop s1

pop dx
pop cx
pop ax
ret

code ends
end start

;程序我已經調試過了,你可以改變程序開始處得bl,編譯鏈接後用DEBUG命令裡面的G參數
;g 0005 然後看寄存器bx的高8位為偶數之和 bx的低8位為奇數之和
;注意 我這個程序的缺點是 奇數之和不能超過8位,偶數之和也不能超過8位 也就是255,否則會產生進位導致結果不準確 但是你的問題是只要計算0~10的奇數和偶數和 所以足夠用了!

我的QQ是544980123,希望能夠加我一起學習!

⑸ 利用匯編語言程序上機操作方法,求1-20的所有偶數的和

CODESEGMENT
ASSUMECS:CODE
START:MOVAX,0
MOVCX,0AH
MOVBX,2
@1:
ADDAX,BX
INCBX
INCBX
LOOP@1
CALLDSPAX
MOVAH,4CH
INT21H

;===============================
DSPAXPROCNEAR
PUSHAX
PUSHBX
PUSHCX
PUSHDX
PUSHF
XORCX,CX
MOVBX,10
@DSPAX1:
XORDX,DX
DIVBX
INCCX
ORDX,30H
PUSHDX
CMPAX,0
JNE@DSPAX1
MOVAH,2
@DISPAX2:
POPDX
INT21H
LOOP@DISPAX2
MOVDL,32
INT21H
POPF
POPDX
POPCX
POPBX
POPAX
RET
DSPAXENDP
;==================================
CODEENDS
ENDSTART

⑹ 用匯編實現1-10所有偶數的和

assume cs:code ;將CS段寄存器與code段關聯

code segment ;code段
start:
mov bl,10 ;這里用AL來傳送多少以內的數字
call sub1 ;調用子程序

mov ax,4c00h
int 21h
;================================================
;bl送入計算范圍,比如0~10,在主程序裡面只要把bl設置成10
;用bh返回偶數之和,用bl返回奇數之和
sub1:
push ax
push cx
push dx

dec bl
mov bh,0
mov cx,bx ;設置循環次數
mov dl,2 ;除數
mov ax,2 ;第一個數字,為什麼要使第一個數字等於2而不是0呢?因為0/2會溢出
mov bx,1 ;初始籦bx bh=0 bl=1,0000 0001=1
s1:
push ax ;把ax暫存一下,分別在jishu和oushu裡面還原,因為這里要進行除法,會改變AX
div dl ;數以2看有沒有餘數
cmp ah,0
je oushu
jishu:
pop ax
add bl,al
jmp short sub_ok
oushu:
pop ax
add bh,al
sub_ok:
inc ax
loop s1

pop dx
pop cx
pop ax
ret

code ends
end start

;程序我已經調試過了,你可以改變程序開始處得bl,編譯鏈接後用DEBUG命令裡面的G參數
;g 0005 然後看寄存器bx的高8位為偶數之和 bx的低8位為奇數之和
;注意 我這個程序的缺點是 奇數之和不能超過8位,偶數之和也不能超過8位 也就是255,否則會產生進位導致結果不準確 但是你的問題是只要計算0~10的奇數和偶數和 所以足夠用了!

⑺ 使用匯編語言怎樣編寫100個偶數相加的程序

我做的是從2開始的100個偶數的和,結果是2774H,即十進制的10100
沒有編寫輸出語句,要用debug看結果。
dseg segment
sum dw ?
dseg ends
cseg segment
assume cs:cseg,ds:dseg
begin: mov ax,dseg
mov ds,ax
xor ax,ax
mov cx,1
again: mov bx,cx
shl bl,1
add ax,bx
inc cx
cmp cx,100
jbe again
mov sum,ax
mov ah,4ch
int 21h
cseg ends
end begin

下面這個程序是計算100以內的偶數和,並以十六進制顯示:
dseg segment
sum dw ?
tab db '0123456789ABCDEF'
dseg ends

cseg segment
assume cs:cseg,ds:dseg
begin: mov ax,dseg
mov ds,ax
xor ax,ax
mov cx,100
again: add ax,cx
sub cx,2
jnz again
mov sum,ax
;以上是求和,並存到sum單元

mov bx,offset tab
mov dh,4
mov cl,4
next: rol ax,cl
push ax
and ax,0fh
xlat
mov dl,al
mov ah,2
int 21h
pop ax
dec dh
jnz next
mov dl,'H'
mov ah,2
int 21h
;以上是以十六進制顯示,思想是分離出四位,查表轉換成ASCII碼,並用2號功能顯示,循環4次。最後輸出後綴H
mov ah,4ch
int 21h
cseg ends
end begin

⑻ 求各位大神幫忙 用c語言編寫計算給定的整型數組的偶數之和,奇數之和

#include<stdio.h>
#include<time.h>
#include<stdlib.h>

#define N 10

int main(void){

int a[N];
int i, even=0, odd=0;

srand(time(0));
for(i=0; i<N; i++) {
a[i] = rand() % 100;
if(a[i] % 2 ==0 ) even += a[i];
else odd+= a[i];
}

printf("數組是: ");
for(i=0; i<N; i++) printf("%d ", a[i]);

printf("\n偶數之和是: %d\n", even);
printf("奇數之和是: %d\n", odd);

getchar();
}

⑼ 編寫一個程序,對一個整數數組的偶數求和。

//---------------------------------------------------------------------------
#include <iostream>

class iteg{
int *data;
int size;
public:
iteg(int n,int b):size(n) /*構造函數,n是整數數組數字的個數,b是起始數字*/
{
data=new int[n];

for (int i = 0; i<n; i++) {
data[i]=b+i;
}
}
long int sum(void) const
{
long int s(0);
for (int i = 0; i < size; i+=2) {
s+=data[i];
}
return s;
}
~iteg(){delete[] data;}
};
int main(void)
{
iteg a(100,0);
std::cout<<a.sum()<<std::endl;
return 0;
}
//---------------------------------------------------------------------------

閱讀全文

與匯編程序計算整數數組偶數之和相關的資料

熱點內容
雲點播電影網php源碼 瀏覽:93
pythonclass使用方法 瀏覽:222
移動加密軟體去哪下載 瀏覽:281
php彈出alert 瀏覽:207
吉林文檔課件加密費用 瀏覽:131
感測器pdf下載 瀏覽:284
隨車拍app綁定什麼設備 瀏覽:898
方維團購系統源碼 瀏覽:991
linux反彈shell 瀏覽:159
列印機介面加密狗還能用嗎 瀏覽:301
二板股票源碼 瀏覽:448
度人經pdf 瀏覽:902
怎麼配置android遠程伺服器地址 瀏覽:960
java程序員看哪些書 瀏覽:943
什麼app可以免費和外國人聊天 瀏覽:797
pdf手寫筆 瀏覽:182
別永遠傷在童年pdf 瀏覽:990
愛上北斗星男友在哪個app上看 瀏覽:421
主力散戶派發源碼 瀏覽:671
linux如何修復伺服器時間 瀏覽:61