DSP 彙編綜合任務程式設計 求最大最小值

2021-08-19 08:51:11 字數 1625 閱讀 1218

在資料儲存器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,則會引起呼叫的任務無限期地等待郵...