Страница 1 из 1

Выборочное суммирование

Добавлено: 10 май 2009, 18:41
AntonBV
Помогите написать программный код на асме TMS320C6x!
В ЯП 28 разместить сумму положительных и чётных по номеру слов, а в ЯП 29 сумму отрицательных и нечётных по номеру слов.

Re: Алгоритм понимаю...

Добавлено: 10 май 2009, 23:01
Naeel Maqsudov
Сколько дано слов? Как они организованы?

PS
Тему переименовал...

Re: Выборочное суммирование

Добавлено: 10 май 2009, 23:06
AntonBV
блок данных из восьми слов (8 32-разрядных двоичных числа) со знаком размещен в памяти данных проца.процесс должен быть циклическим.
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
посмотрите правильно??

Stk SEGMENT Stack 'STACK'
dw 128
Stk ENDS
data SEGMENT word public 'DATA'
mas dw 1000, 20000, -20000, 30000, -6000, -10000
I en equ ($-mas)/2
Mas1 dw len dup(O)
data ENDS
text SEGMENT word public 'CODE'
ASSUME csrtext, DS: data, ss: stk
start:
mov AX, data
mov DS, AX
;zadaniel
mov SI, offset mas
mov DI, [SI]
push DI
mov DI,[SI+2*len-2]
push Dl
mov Dl, SI
xor вх,вх
xor BP,BP
mov cx, len
S4itaem:
mov AX,[si]
OR AX,AX
js otr
jmp poloj
otr:
inc BX
jmp dalee
polоj:
inc BP dalee:
add SI,2
Loop s4itaem
; est' li u nas i +, i -?
cmp BX,0
je exit
cmp BP,0
je exit
mov cx, BX
mov DI, offset mas
cikl:
mov SI,DI
na4alo:
mov AX,[si]
OR AX,AX
js met add SI,2 jmp na4alo
met:
mov DI, SI
NAME:
cmp si, offset mas
je nameste mov AX, [Sl-2]
OR AX,AX
js nameste
mov AX, [Sl-2]
mov BX, [SI]
mov [SI], AX
mov [SI-2], BX
sub SI, 2 jmp name
nameste:
add DI, 2 Loop cikl
exit:
;zadani e2
mov SI, offset mas mov AX, [SI]
cwd
mov BP, DX mov BX, AX
mov cx, len-1
metka:
mov AX, [SI+2]
add SI, 2
cwd
add BX, AX
adc BP, DX
loop metka
mov DX, BP
mov AX, BX
mov DI, word ptr Ten
idiv DI
;sravnim
mov si, offset mas
mov DI, offset mas1
mov CX, len
poisk:
cmp [si],AX
nenashli
mov BX, [si]
mov [DI], BX
add DI, 2 nenashli:
add si, 2
Loop poisk
mov AX,4c00h lnt 21h
text ENDS
END START