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...