Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Лабораторна робота № 1

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра ЕОМ

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

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

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра ЕОМ  Лабораторна робота № 1 з дисципліни: " Системне програмування " Мета: Ознайомитись з програмною моделлю 32 розрядних процесорів Intel та оволодіти навиками створення програм, використовуючи 32 розрядний асемблер. Програмна модель комп'ютера, частиною якої є програмна модель мікропроцесора, яка містить 32 регістри в тій чи іншій мірі доступних для використання програмістом. Робота з масивами Регістри загального призначення використовуються для адресації масивів. При цьому застосовується адресація по базі з масштабуванням: початкова адреса + база* масштабуючий коефіцієнт бази. Допустимі значення масштабуючого коефіцієнту бази (кількість байт, які займає 1 елемент масиву) рівні 1, 2, 4, 8. Таким чином, щоб записати 3-й елемент масиву оголошеного мовою С як short arr[15] в edx треба написати код: mov eax, arr mov ebx, 2 mov edx,[eax+ebx*2] ЗАВДАННЯ 6 Знайти скільки додатних елементів масиву A={a[i]} задовольняють умову: с <= a[i] <= d   Код програми: .586 ; використати плоску модель пам'яті і узгодження імен stdcall .model flat, stdcall option casemap: none ; оголошення службових процедур, макросів, змінних, констант include \masm32\include\windows.inc include \masm32\include\kernel32.inc include \masm32\include\masm32.inc include \masm32\include\debug.inc ; підключення службових бібліотек includelib \masm32\lib\kernel32.lib includelib \masm32\lib\masm32.lib includelib \masm32\lib\debug.lib ; оголошення масиву даних .data Arr dd 15,15,20,-5,5,15,-96,9,3,60;опис масиву даних Q dw -10;опис нижньої межі Q D dw 20;опис верхньої межі D S dd 0h;кількість додатніх елементів .code start: ;виводимо елементи масиву на екран у зворотньому порядку mov ecx,10 prnt: mov eax,[Arr+ecx*4-4] PrintDec eax,"Arr value=" ; виклик макросу відлагодження dec ecx cmp ecx,0 jnz prnt ;робимо варіант по списку mov ecx,10 q1: mov eax,[Arr+ecx*4-4] cmp eax,0 ; порівнюємо число з нулем jge next jl mitkaExit next: cmp ax,Q ; порівнюємо число з нижньою межею jl mitkaExit jge mitkaD mitkaD: cmp ax, D jg mitkaExit ; порівнюємо число з верхньою межею jle Sumator Sumator: inc S ; додаємо до S одиницю, якщо всі умови справдились jmp mitkaExit mitkaExit: dec ecx cmp ecx,0 ;перевіряємо чи кінець масиву jnz q1 mov eax,S PrintDec eax,"K-st elementiv." ; виклик макросу відлагодження invoke ExitProcess, NULL ; виклик процедури завершення процесу end start  Висновок: На цій лабораторній роботі я створив програму відповідно мого варіанту і навчився використовувати 32х розрядний асемблер.
Антиботан аватар за замовчуванням

18.11.2012 20:11

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

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

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

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини