DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт до лабораторної роботи № 3 з дисципліни «Системне програмування» на тему: Змішане програмування на мовах С та АсемблеÑ

Оригінальна назва роботи

Звіт до лабораторної роботи № 3 з дисципліни «Системне програмування» на тему: Змішане програмування на мовах С та Асемблер

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
КН
Кафедра:
Кафедра електронних обчислювальних машин

Інформація про роботу

Рік:
2016
Тип роботи:
Лабораторна робота
Предмет:
Системне програмування
Група:
КІ 31
Варіант:
19
Коротко про документ

Про що ця робота

Звіт до лабораторної роботи присвячено вивченню змішаного програмування мовами С та Асемблер. Наведено лістинги програм та результати їх виконання.

У роботі розглядаються

  • Змішане програмування
  • Мова С
  • Програмні модулі
  • Стек
  • Функції printf
  • Виклики підпрограм

Зміст і розділи

  1. Теоретичні відомості
  2. Завдання
  3. Тексти програм
  4. Результат виконання
  5. Висновок
Для кого:Студенти технічних спеціальностей вищих навчальних закладів
Викладачі:Мархивка В. С.

Ключові поняття

змішане програмуваннямова Сстекмодульфункціявиразкомпіляціяпам'ять

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки Національний університет «Львівська політехніка» Кафедра ЕОМ Звіт до лабораторної роботи № 3 з дисципліни: “Системне програмування” на тему: змішане програмування на мовах с та асемблер Варіант - 19 ЗМІШАНЕ ПРОГРАМУВАННЯ НА МОВАХ С ТА АСЕМБЛЕР Мета: Оволодіти навиками створення програм частини яких написані різними мовами програмування. Засвоїти правила взаємодії між різними програмними модулями ТЕОРИТИЧНІ ВІДОМОСТІ: /ЗАВДАННЯ / / ВАРІАНТ ЗАВДАННЯ: № Вираз К  19 A2 * 4 + C1 – D2/2 + K  4019   ТЕКСТИ ПРОГРАМ: calc1.asm .386 .model flat,c .data .code calc PROC push ebp ; збереження вершини стеку для відновлення mov ebp,esp ;////////////////////////////////////// mov eax, dword ptr [ebp+8] ;дістаємо A mov ecx, 4 mul ecx add eax, dword ptr [ebp+12] ;дістаємо C mov ecx, eax mov eax, dword ptr [ebp+16] ;дістаємо D mov ebx, 2 mov edx, 0 div ebx ;операція D/K sub ecx, eax mov eax, ecx add eax, dword ptr [ebp+20] ;дістаємо константу К ;////////////////////////////////////// pop ebp ; відновлення стека ret calc ENDP END main1.asm #include <stdio.h> extern "C" int calc(short, char, short, int); void main() { const int K = 4019; short A, D; char C; printf("Enter numbers:\n"); printf("A = "); scanf("%hd", &A); printf("C = "); scanf("%hhd", &C); printf("D = "); scanf("%hd", &D); printf("A * 4 + C - D/2 + K = %d\n", calc(A, C, D, K)); } Результат виконання 1 програми: / calc2.asm .386 .model flat,c .data text BYTE "Result = %d", 10, 13, 0 .code EXTRN printf : proc ;підключення функції printf calc PROC push ebp ; збереження вершини стеку для відновлення mov ebp,esp ;////////////////////////////////////// mov eax, dword ptr [ebp+8] ;дістаємо A mov ecx, 4 mul ecx add eax, dword ptr [ebp+12] ;дістаємо C mov ecx, eax mov eax, dword ptr [ebp+16] ;дістаємо D mov ebx, 2 mov edx, 0 div ebx ;операція D/K sub ecx, eax add ecx, dword ptr [ebp+20] ;дістаємо константу К ;////////////////////////////////////// lea ebx, text push ecx push ebx call printf ;виклик printf (ebx, ecx) ;////////////////////////////////////// pop ebx pop ecx pop ebp ret calc ENDP END main2.asm #include <stdio.h> extern "C" int calc(short, char, short, int); void main() { const int K = 4019; short A, D; char C; printf("Enter numbers:\n"); printf("A = "); scanf("%hd", &A); printf("C = "); scanf("%hhd", &C); printf("D = "); scanf("%hd", &D); calc(A, C, D, K); } Результат виконання 2 програми: / ВИСНОВОК: На даній лабораторній роботі я оволодів навиками створення програм частини яких написані різними мовами програмування. Засвоїти правила взаємодії між різними програмними модулями.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!