- Главная
- Информатика
- Організація циклів та оброблення масивів МП І80Х86
Содержание
Слайд 2
Слайд 3
Слайд 4
Слайд 5
Слайд 6
Слайд 7
Слайд 8
Слайд 9
Слайд 10
Слайд 11
Слайд 12
#MAKE_EXE#
.stack 256
.data
n equ 10 ;Кількість елементів масивів
x dw
#MAKE_EXE#
.stack 256
.data
n equ 10 ;Кількість елементів масивів
x dw
1,2,3,4,n-4 dup (1) ;Масив: 1,2,3,4,1,1,1,1,1,1
y dw 5,6,7,8,9,n-5 dup (2) ;Масив: 5,6,7,8,9,2,2,2,2,2
z dw n dup (?) ;Для масиву суми
s dw 0 ;Для скалярного добутку
.code
MOV AX, @data ;Встановлення DS через акумулятор
MOV DS, AX
mov SI,0000 ;Обнуління індексного регістра
mov CX,n ;Завантаження лічильника
Cycl: mov AX,x[SI] ;АХ=Xі
add AX,y[SI] ;АХ=Xі+Yi
mov z[SI],AX ;Zi=Xi+Yi
mov AX,x[SI] ;АХ=Xі
imul y[SI] ;AX=Xi*Yi
add s,AX ;S=S+Xi*Yi
add SI,2 ;Збільшення індексу на 2
loop Cycl ;Перехід на початок циклу
HLT
y dw 5,6,7,8,9,n-5 dup (2) ;Масив: 5,6,7,8,9,2,2,2,2,2
z dw n dup (?) ;Для масиву суми
s dw 0 ;Для скалярного добутку
.code
MOV AX, @data ;Встановлення DS через акумулятор
MOV DS, AX
mov SI,0000 ;Обнуління індексного регістра
mov CX,n ;Завантаження лічильника
Cycl: mov AX,x[SI] ;АХ=Xі
add AX,y[SI] ;АХ=Xі+Yi
mov z[SI],AX ;Zi=Xi+Yi
mov AX,x[SI] ;АХ=Xі
imul y[SI] ;AX=Xi*Yi
add s,AX ;S=S+Xi*Yi
add SI,2 ;Збільшення індексу на 2
loop Cycl ;Перехід на початок циклу
HLT
Приклад 6 (оброблення одномірного масиву): Маємо два масиви X та Y. Необхідно отримати масив Z, елементи якого є сумами відповідних елементів масивів X, Y, а також скалярний добуток X та Y.
4. Оброблення масивів МП I80Х86
Слайд 13
Слайд 14
Слайд 15