用組合語言設計程式,求無符號數中的最大值。並將最大值存入變數MAX中

時間 2021-08-13 08:50:15

1樓:生活如歌

原始檔來自《彙編子程式庫》,注釋來自

25) 標號: mms功能:求單位元組十六進製制有符號資料塊的極值入口條件:資料塊的首址在dptr中,資料個數在r7中。

出口資訊:最大值在r6中, 位址在r2r3中;最小值在r7中,位址在r4r5中。

影響資源:psw、a、b、r1~r7 堆疊需求: 4位元組mms: mov b,r7 ;儲存資料個數movx a,@dptr ;讀取第乙個資料mov r6,a ;作為最大值的初始值

mov r7,a ;也作為最小值的初始值

mov a,dpl ;取第乙個資料的位址

mov r3,a ;作為最大值存放位址的初始值mov r5,a ;也作為最小值存放位址的初始值mov a,dph

mov r2,a

mov r4,a

mov a,b ;取資料個數

dec a ;減一,得到需要比較的次數

jz mmse ;只有乙個資料,不需要比較mov r1,a ;儲存比較次數

push dpl ;保護資料塊的首址

push dph

mms1: inc dptr ;調整資料指標movx a,@dptr ;讀取乙個資料

mov b,a ;儲存

setb c ;與最大值比較

subb a,r6

jz mms4 ;相同,不更新最大值

jnb ov,mms2 ;差未溢位,符號位有效cpl acc.7 ;差溢位,符號位取反

mms2: jb acc.7,mms4;差為負,不更新最大值mov r6,b ;更新最大值

mov r2,dph ;更新最大值存放位址mov r3,dpl

sjmp mms7

mms4: mov a,b ;與最小值比較clr c

subb a,r7

jnb ov,mms6 ;差未溢位,符號位有效cpl acc.7 ;差溢位,符號位取反

mms6: jnb acc.7,mms7;差為正,不更新最小值mov r7,b ;更新最小值

mov r4,dph ;更新最小值存放位址mov r5,dpl

mms7: djnz r1,mms1 ;處理完全部資料pop dph ;恢復資料首址

pop dpl

mmse: ret

2樓:

n db 10 dup(?)

max db 0..

mov cx,10

mov bx,offset n

mov al,[bx]

next:

cmp al,[bx]

ja l1

mov al,[bx]

l1:inc bx

loop next

mov max,al;結束

用組合語言編寫乙個"求10個2位無符號數的最大值,最小值和平均值"的程式,急求答案!!哪位大神幫幫忙 10

3樓:匿名使用者

原始檔的彙編子程式庫,注意到:的 http://zhidao.baidu.com/問題/ 148383731.html

25)標籤:mms功能:單位元組的十六進製制符號資料塊的極值

入口條件:第乙個資料塊的位址在dptr,在r7資料。

出口資訊:最大值在r6中,位址在r2r3最低r7位址r 4 r 5。

影響資源:psw,a,b,r1到r7堆疊需求:4位元組

mms:mov b,r7儲存的資料

movx a,@ dptr;讀取第乙個資料

mov r6,a;最大值的初始值

mov r7,a;

mov a,dpl的初始值的最低值;第乙個資料的位址的

mov r3,a;最大儲存位址的初始值

mov r5,a;也可作為初始值最小的儲存位址

mov a,dph < / mov r2,a

mov r4,乙個

mov a,b;資料的數量

dec a;同樣需要比較的數量

jz mmse;只有乙個資料不需要進行比較

mov r1,a;儲存的比較次數

push dpl受保護的資料塊的第乙個站點

push dph

mms1:inc dptr調整資料指標

movx a _at_ dptr;讀取資料的

mov b,a;儲存

或setb,當目的地是c;

subb a比較最大r6

jz mms4相同不更新的最大

jnb ov,mms2差異沒有溢位,符號位

cpl acc.7;差異溢位符號位防 /> mms2:jb acc.7,mms4的,不同的是負面的,不更新的最大

mov r6,b,更新的最大

mov r2,dph更新最大的儲存位址

mov。 r3,dpl 由sjmp mms7

mms4:mov a,b;的

subb比較

clr c和最小,jnb ov r7

mms6;差異沒有溢位,符號位

cpl acc.7;差異溢位符號位取反

mms6:jnb acc.7,mms7,不同的是正面的,不更新的最小值

mov r7,b更新的最低值

mov r4,dph更新最小的儲存位址

mov r5,dpl

mms7:djnz r1 mms1;加工完成資料

pop dph;恢復資料的第乙個站點

pop dpl

mmse:ret

4樓:吊兒郎當_傑

樓主您好,可以用c寫麼?

用組合語言編寫程式,用組合語言編寫乙個程式

print macro para 定義乙個巨集,這樣輸出字串的時候,可以省些事兒 lea dx,para mov ah,9 int 21h endm data segment msg1 db 請用拼音輸入姓名學號 格式為 xinming,xuhao buffer db 50,52 dup 0 為什麼...

用組合語言編寫延時1S的子程式,用組合語言編寫乙個延時1S的子程式

湯旺河邊 本程式通過編譯,執行正確 code segment assume cs code,ds code subroutine 延時指定的時鐘嘀嗒數 入口 didas 時鐘嘀嗒數 1秒鐘約嘀嗒18.2次,10秒鐘嘀嗒182次。若延時不是秒的10數次倍,誤差稍微大點 delay1s proc nea...

用組合語言編寫簡單程式,用組合語言編寫一個簡單程式

sweet馮 1.計算u x y z 100 w 其中 x,y,z,w均為十六位有符號數。程式如下 data segment x dw 10 16位變數 y dw 20 z dw 30 w dw 40 u dw data ends code segment assume cs code,ds dat...