在資料儲存器60h-69h設定數
組a[10]= ]=
在資料儲存器0100h-0109h設定數
組x[10]=,要求
分別計算a0*x0,a1*x1,……,a9*x9乘積的最大值和最小值,結
果分別放在資料儲存器1000h和1001h單元。
.title
"min_max.asm"
.mmregs
;將暫存器符號設定為全域性可用
y.usect
"y",10h ;定義乙個叫 y的暫存器
x.usect
"x",10h ;定義乙個叫 x的暫存器
.data
table:
.word
5,9,3,2,6,1,4,8,7,10
tal:
.word
25,34,15,26,31,62,51,18,26,54
.def start ;.def表示某符號在本檔案定義,可為其他檔案引用
.text
start: stm #y,ar2 ;將立即數存放 在ar2儲存器映像暫存器
rpt #9
mvpd table,*ar2+ ;實現table裡的10個數傳到資料儲存器60h--69h
stm #x,ar3 ;將立即數存放 在ar3儲存器映像暫存器
rpt #9
mvpd tal,*ar3+ ;實現tal裡的10個數傳到資料儲存器100h-109h
ld#0,a
stm #y,ar3
stm #x,ar2
ld *ar3+,t
mpyu *ar2+, a
ld *ar3,t
mpyu *ar2,b
min b
call sum
ld#0,a
stm #y,ar3
stm #x,ar2
ld *ar3+,t
mpyu *ar2+, a
ld *ar3,t
mpyu *ar2,b
max b
call stlm ; 呼叫子程式
end: b end
sum:
stm #8,ar4
loop:
ld *ar3+,t
mpyu *ar2+, a
min b
stl b,*(1001h)
banz loop,*ar4- ;判斷ar4中的數是否為0,不為0就跳到loop
retstlm:
stm #8,ar4
lop:
ld *ar3+,t
mpyu *ar2+, a
max b
stl b,*(1000h)
banz lop,*ar4- ;判斷ar4中的數是否為0,不為0就跳到loop
ret.end
匯程式設計序 求最大數
任務 求最大數 在buffer處給出了多個無符號數,請找出其中的最大值,放至max指定的儲存單元中。data segment buffer dw 35098,17758,54582,61504,46054,58513,4409,7902,14255 dw 40623,47645,15575,5157...
匯程式設計序 求總成績
在下面的資料段中,給出了全班5名同學os al se db課程的成績,請程式設計計算出總成績,寫在0值處 datasg segment dw 54,74,71,52,0 dw 68,54,93,95,0 dw 81,52,97,67,0 dw 98,77,69,99,0 dw 79,71,69,73...
純新手DSP程式設計 5 30 任務的通訊和同步
dsp bios中提供的用於執行緒之間協調的管理模組 1 mbx郵箱管理模組 mbx模組使用一組函式通過郵箱物件的控制代碼管理郵箱的訪問。通常mbx pend函式來等待信箱的資訊。這個函式可以帶乙個超時引數,以控制允許任務等待的時間。若引數設為sys forever,則會引起呼叫的任務無限期地等待郵...