Мета роботи: Закріплення практичних навичок у складанні та написанні програм мовою асемблера із використанням строк.
Визначити сумму від'ємних елементів двох масивів, так щоб А[i]=B[i].
2.Алгоритм вирішення
Описано 2 масиви. Далі в циклі почергово записуються послідовні елементи масивів А та В. Якщо вони рівні то їх значення складаються і якщо результат від’ємний, то і-тий елемент додається то загальної сумми.
3.Блок-схема алгоритму
4.Вибір змінних для написання программи
А - вхідний масив із 10 констант.
В – вхідний масив із 10 констант.
Т – строка для виводу інформації на монітор.
S – сумма від’ємних елементів.
DATA segment
S db 0 ; Summa
A db -2,3,1,-8,5,6,7,-3,4,4 ; 1-j massiv
B db -2,5,4,-8,6,7,9,-3,7,6 ; 2-j massiv
T db 'Strings',0ah,0dh,'$' ; text
DATA ends
CODE segment
assume cs:CODE,ds:DATA,es:DATA
BEGIN: mov ax,DATA
mov ds,ax
mov es,ax
mov ah,9h
lea dx,T
int 21h ; na ekran 'STRINGS'
xor ax,ax
lea si,A+9
lea di,B+9
mov cx,10
m2:repe cmps A,B ; sravnivat poka neravni
jcxz m1
inc cx ; esli ravni
mov bx,cx
mov dl,A[bx]
cmp al,dl
js m3 ; esli polojitelnoe
add S,dl ; esli otricatelnoe
m3:loop m2
;--------------------------------
m1:mov cl,s
mov ah,4ch ; normalnoe zavershenie raboti
int 21h
CODE ends
end BEGIN
На початку роботи программи:
12СС:0000 00 FE …
Після запису сумми від’ємних елементів до змінної S
12CC:0000 F3 FE...
F3 –у змінному коді і дорівнює –13. Такою і являється сумма і-тих рівних елементів двох масивів.
Висновки: На даній лабораторній роботі я придбав та закріпив навички у написанні та відладці програм мовою асемблера із використанням строк. Також, закріпив навички у використанні системного відладчика.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.