Складання і написання програм мовою асемблера із використанням строк. Визначення суми від'ємних елементів двох масивів

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Содержание работы

Мета роботи: Закріплення практичних навичок у складанні та написанні програм мовою асемблера із використанням строк.

1.Індивідуальне завдання

   Визначити сумму від'ємних елементів двох масивів, так щоб А[i]=B[i].

2.Алгоритм вирішення

  Описано 2 масиви. Далі в циклі почергово записуються послідовні елементи масивів А та В. Якщо вони рівні то їх значення складаються і якщо результат від’ємний, то і-тий елемент додається то загальної сумми.

3.Блок-схема алгоритму


4.Вибір змінних для написання программи

   А - вхідний масив із 10 констант.

   В – вхідний масив із 10 констант.

   Т – строка для виводу інформації на монітор.

S – сумма від’ємних елементів.

5.Текст програми на асемблері

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

6.Результати роботи програми

   На початку роботи программи:

12СС:0000 00 FE …

Після запису сумми від’ємних елементів до змінної S

12CC:0000 F3 FE...

F3 –у змінному коді і дорівнює –13. Такою і являється сумма і-тих рівних елементів двох масивів.

Висновки: На даній лабораторній роботі я придбав та закріпив навички у написанні та відладці програм мовою асемблера із використанням строк. Також, закріпив навички у використанні системного відладчика.

Похожие материалы

Информация о работе

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.