彙編十個數字分別相乘再相加

2021-07-11 09:23:49 字數 822 閱讀 6303

datas segment

;此處輸入資料段**

org 1000h;為除錯方便將資料存於指定位址處,

a db 89, 5, 56, 80,90,99,67,78,93,100; 10個資料

org 2000h;便於檢視和設定

b db 18, 29, 12, 38,79,63,88,7,10,17; 10個資料

org 3000h;

sum dw ?

datas ends

stacks segment

;此處輸入堆疊段**

stacks ends

codes segment

assume cs:codes,ds:datas,ss:stacks

start:

mov ax,datas

mov ds,ax

;此處輸入**段**

mov dx,0

mov si,0

mov cx,10;由於要實現十個數相乘,所以要迴圈次數為10

lop1:mov al,a[si];取被乘數a[si]

mul b[si];a[si]*b[si],結果在ax中

add dx,ax;由於要進行10次迴圈相加,所以dx初始化為0;把ax+dx的結果存於dx中空出ax

inc si;si=si+1指標移向下一位元組

loop lop1 ;☆

mov sum,dx

mov ah,4ch

int 21h

codes ends

end start

十個數排序

對10個數進行排序 include intmain int i,j,temp for i 1 i 10 i printf 輸出排好的數列是 n for i 1 i 10 i include define size 10 intmain 十個數的無序數列 int i,j char t printf 此...

根據上排十個數,算出下排十個數

以下為一給出的數學解法,還沒細看正確與否,先記下,留待後用 給你10分鐘時間,根據上排給出十個數,在其下排填出對應的十個數 要求下排每個數都是先前上排那十個數在下排出現的次數。上排的十個數如下 0,1,2,3,4,5,6,7,8,9 舉乙個例子,數值 0,1,2,3,4,5,6,7,8,9 分配 6...

比較十個數的大小

includeint main int i int max 0 for i 0 i sizeof arr sizeof arr 0 i printf d n max return 0 sizeof arr 是整個陣列所佔的位元組數,sizeof arr 0 是乙個元素所佔的位元組數,他倆一除就是整個...