Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Мета роботи: Здобуття та закріплення практичних навичок у написанні та відладці програм з використанням типу даних “структура” мовою асемблера.
Задана послідовність структур. Структура має поля по характеристиці студентських груп: назва групи, середня оцінка успішності, номер курсу. Використати «за вмовчуванням» в полі Нназва групи - назву своєї групи.
Знайти середню успішність всіх груп.
2.Алгоритм вирішення
Спочатку до регістру BL по черзі заносяться всі середні оцінки (всіх груп) і вони по черзі додаються до регістру AL. Після закінчення циклу, відбувається ділення націло на 10 – кількість груп, того значення, що знаходиться в AL. Потім середня оцінка заноситься да змінної.
3.Блок-схема алгоритму
4.Вибір змінних для написання программи
GRUP STRUC
Nazv db 'AP-51B'
Middle db 1
Kurs db ?
М – змінна, що буде зберігати значення середньої успішності
N – змінна, що вказує на кількість елементів
GRUP STRUC
Nazv db 'AP-51B'
Middle db 1
Kurs db ?
GRUP ends
DATA segment
S GRUP <,5,2>
GRUP <,3,3>
GRUP <,2,1>
GRUP <,4,2>
GRUP <,1,3>
GRUP <,5,4>
GRUP <,3,2>
GRUP <,3,3>
GRUP <,4,4>
GRUP <,5,5>
M dw 1
N dw 10
DATA ends
CODE segment
assume cs:CODE,ds:DATA
BEGIN : mov ax, DATA
mov ds, ax
mov cx, N
xor ax, ax
mov bx, ax
mov dx, ax
lea si, S
m1: mov bl, [si].Middle
add al, bl
mov dx, size GRUP
add si, dx
loop m1
div byte ptr N
lea di, M
mov [di],al
mov ah, 4Ch
int 21h
CODE ends
end BEGIN
До виконання програми:
-n lab8.exe
-l
-g 5
AX=13D5 BX=0000 CX=008D DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=13D5 ES=13C5 SS=13D5 CS=13DB IP=0005 NV UP EI PL NZ NA PO NC
13DB:0005 8B0E5200 MOV CX,[0052] DS:0052=000A
-d ds:0
13D5:0000 41 50 2D 35 31 42 05 02-41 50 2D 35 31 42 03 03 AP-51B..AP-51B..
13D5:0010 41 50 2D 35 31 42 02 01-41 50 2D 35 31 42 04 02 AP-51B..AP-51B..
13D5:0020 41 50 2D 35 31 42 01 03-41 50 2D 35 31 42 05 04 AP-51B..AP-51B..
13D5:0030 41 50 2D 35 31 42 03 02-41 50 2D 35 31 42 03 03 AP-51B..AP-51B..
13D5:0040 41 50 2D 35 31 42 04 04-41 50 2D 35 31 42 05 05 AP-51B..AP-51B..
13D5:0050 01 00 0A 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
13D5:0060 B8 D5 13 8E D8 8B 0E 52-00 33 C0 8B D8 8B D0 8D .......R.3......
13D5:0070 36 00 00 8A 5C 06 02 C3-BA 08 00 03 F2 E2 F4 F6 6...\...........
Після виконання програми:
-g
Нормальное завершение работы программы
-d ds:0
13D5:0000 41 50 2D 35 31 42 05 02-41 50 2D 35 31 42 03 03 AP-51B..AP-51B..
13D5:0010 41 50 2D 35 31 42 02 01-41 50 2D 35 31 42 04 02 AP-51B..AP-51B..
13D5:0020 41 50 2D 35 31 42 01 03-41 50 2D 35 31 42 05 04 AP-51B..AP-51B..
13D5:0030 41 50 2D 35 31 42 03 02-41 50 2D 35 31 42 03 03 AP-51B..AP-51B..
13D5:0040 41 50 2D 35 31 42 04 04-41 50 2D 35 31 42 05 05 AP-51B..AP-51B..
13D5:0050 03 00 0A 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
13D5:0060 B8 D5 13 8E D8 8B 0E 52-00 33 C0 8B D8 8B D0 8D .......R.3......
13D5:0070 36 00 00 8A 5C 06 02 C3-BA 08 00 03 F2 E2 F4 F6 6...\...........
Як можна побачити, змінна М прийняла значення 3, і якщо порахувати задані мною дані, то вийде 3,5. Але виконівалося цілочисленне ділення, отже программа працює вірно.
Висновки:
На даній лабораторній роботі я придбав та закріпив навички у написанні та відладці програм мовою асемблера із використанням структур.
Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.