編寫求陣列中最大數的子程式,組合語言哦!謝謝

2022-02-21 08:31:04 字數 2345 閱讀 1553

1樓:

以下子程式假設默陣列認放在ds段中,其中的資料為dw型。呼叫子程式前的引數設定:bx中存放陣列的起始偏移地址,cx中存放陣列的長度。呼叫子程式後,陣列的最大值放在cx中。

array_max: push ax

mov ax,[bx] ;把陣列第一個數放到ax中

find: cmp ax,[bx] ;把ax中的數與陣列中的數逐個進行比較

ja next ;如果ax中的數比陣列中當前的數大則轉到next

mov ax,[bx] ;如果ax中的數小於或等於陣列中當前的數,則進行替換

next: add bx,2 ;對比下一個數

loop find

mov cx,ax ;把找出的最大值放入cx中

pop axret

2樓:做而論道

組合語言,有好多種。

是不是這樣的:

8086組合語言求陣列中的最大值的程式,誰會?急求……⊙﹏⊙

編寫完整組合語言程式,從長度為100的無符號字陣列array中找出最大的數,存放在變數max中?急!!!

3樓:匿名使用者

data segment

array dw 20 dup(20),80 dup(30)org 1000h

max dw ?

data ends

code segment

assume cs:code,ds:datastart:mov ax,data

mov ds,ax

mov [max],20

mov cx,100

mov si,offset array

s:mov ax,[max]

cmp ax,ds:[si]

jb swap

inc si

loop s

jmp ed

swap:mov ax,ds:[si]

mov [max],ax

jmp s

ed:mov ah,4ch

int 21h

code ends

end start

這裡我把max的地址定位1000h,是為了方便我檢視檢驗結果,經驗證為1eh 即30 題中說是100個無符號數 我是為了方便 所以直接定義20個20,80個30

微機原理組合語言:求陣列元素的最大值和最小值

4樓:做而論道

程式執行後,最大、最小值,都儲存到指定的儲存單元了。

沒有顯示結果,是因為,這程式裡面,並沒有編寫顯示資料的程式段。

用組合語言編寫,將一個包含10個帶符號數的陣列分成正數陣列和負數陣列。要**!

5樓:匿名使用者

data segment

num db 1,2,...,10 ;這個你隨便寫10個位元組的資料

p db 10 dup(?) ;正陣列pnum db 0 ;正計數n db 10 dup(?) ;負陣列nnum db 0

data ends

code segment

assume cs:code,ds:datamain proc far

start: push ds

mov ax,0

push ax

mov ax,data

mov ds,ax ;初始化完畢

mov bx,0

mov si,bx

mov di,bx

mov cx,10 ;設定相關引數

lop1: mov al,num [bx] ;取原始陣列元素cmp al,0

jge p1 ;為正則轉p1mov n [di],al

inc di

inc nnum ;負陣列增加,計數變化jmp next

p1: mov p [si],al

inc si ;正陣列增加,計數變化inc pnum

next: inc bx ;原始陣列指標偏移loop lop1 ;迴圈10次--cxret ;結束

main endp

code ends

end start

5 5 4 0 0這幾個陣列成最大數值是多少

可以組成的最大數值是 九百九十五萬五千四 方法 將其排序,大的放在高位,依次排列下去。9 9 5 5 4 0 0這幾個陣列成最大數值是多少?9的955400次方,這是組成的最大的數,如果你是在玩最囧遊戲2的話,那就是選00就好了,這意思是無窮大!可以組成的最大數值是 九百九十五萬五千四 方法 將其排...

ip地址的最大數值是多少

1 在inter 裡,ip地址來是一個 自32位的二進位制地址,為了便於 記憶,將它們分為4組,每組8位,由小數點分開,用四個位元組來表示,而且,用點分開的每個位元組的數值範圍是0 255,如202.116.0.1。2 從數值範圍可以判斷最大值為255。3 ip地址按節點計算機所在網路規模的大小分為...

c語言求各位數字組成的最大數,C語言求各位數字組成的最大數

其實吧,這個程式的核心思路也可以換種說法 就是給一個數由大到小排列 這一點你做出來了。一起 一下,我們一步步順著來看看 先來分析一下你那1100變成1001的問題 我用實際的過程讓你看一下程式執行過程吧 接下來是剝位置統計個數j,這一點很好。注意當前陣列的位置 然後實現了一次迴圈之後 第二重迴圈m ...