Дослідження способів представлення даних в пам’яті комп’ютера з архітектурою х86

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

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

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

Рік:
2024
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Системне програмування

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

Міністерство освіти і науки України Національний університет «Львівська Політехніка» Кафедра ЕОМ / ЗВІТ з лабораторної роботи №2 з дисципліни: “Системне програмування частина 1” на тему: Дослідження способів представлення даних в пам’яті комп’ютера з архітектурою х86. Варіант – 19 Львів 2024 Мета: вивчити способи задання констант та змінних в Асемблері, набути навики інтерпретування даних в пам’яті комп’ютера з архітектурою х86. Завдання: 1. Створити *.exe програму, яка розміщує в пам’яті даних комп’ютера, операнди, що задані варіантом. Вхідні операнди А, В, С, D, E, F з індексом u вважати без знаковими і довжиною в байтах, згідно з індексу, з індексом fs вважати з рухомою комою одинарної точності (32 біти), з індексом fd вважати з рухомою комою подвійної точності (64 біти), з індексом fe вважати з рухомою комою розширеної точності (80 біт); крім цього операнд А є масивом з 3-ох елементів. При оголошені призначити операндам початкові значення використовуючи всі можливі системи лічби. К – константа, довжина якої визначається значенням(згідно варіанту), а значення задане в шістнадцятковому форматі. Для її опису слід використати директиву EQU. Задати одну мітку в довільному місці сегменту даних. Задати в сегменті даних змінну Message db 'Прізвище',13,10, , де 'Прізвище' – прізвище виконавця роботи, яке вивести на екран. 2. За допомогою меню Debug середовища Visual Studio 2019, дослідити представлення даних в пам’яті комп’ютера (продемонструвати розміщення даних та здійснити інтерпретацію). 3. Скласти звіт про виконану роботу з приведенням тексту програми з коментарями, дампу пам’яті та аналітично інтерпретувати дані для кожної з змінних. 4. Дати відповідь на контрольні запитання. Варіант 19: / Виконання роботи: Код програми: .686 .model flat, stdcall option casemap:none GetStdHandle proto STDCALL, nStdHandle : DWORD WriteConsoleA proto STDCALL, hConsoleOutput : DWORD, lpBuffert : DWORD, nNumberOfCharsToWrite : DWORD, lpNumberOfCharsWritten : DWORD, lpReserved : DWORD ExitProcess proto STDCALL, uExitCode : DWORD .data LBL1 LABEL DWORD A dd 170F2h, -153h, 4615h B dd 01001110B Cc dd 0a14Fh D dw 2.3478 E dt 0FA1h F dq 00ACh, 0A123h, 0F098h K equ 4019h hConsoleOutput dd 0 NumberOfCharsWritten dd 0 HelloMessage db 'Patsak', 10, 13 NumberOfCharsToWrite dd $-HelloMessage .code start: push -11 call GetStdHandle mov hConsoleOutput, eax push 0 push offset NumberOfCharsWritten push NumberOfCharsToWrite push offset HelloMessage push hConsoleOutput call WriteConsoleA push 0 call ExitProcess end start Результат виконання: / / A=01 70 f2 B= 4e C= a1 4f D= 46 15 ff ff fe ad 00 E=0fa1 F= 00 ac 00 a1 23 f0 98 Patsak=50 61 74 73 61 6b 0a 0d 08 Перевіримо число з плаваючою комою: Мантиса: 2,3478= 10.101 1111 1111 1111 1111 1111 1110 1010 1101 0000 00002= 1.0101 1111 1111 1111 1111 1111 1110 1010 1101 0000 0000*2^1 Знак=0 Порядок=100 0101 111+1=100 0110 000 Внутрішнє представлення: 0100 0110 0101 0001 1111 1111 1111 1111 1110 1111 1010 1101 0000 0000 4 6 5 1 f f f f e f a d 0 0 Висновок: На цій лабораторній роботі я вивчив способи задання констант та змінних в Асемблері, набути навики інтерпретування даних в пам’яті комп’ютера з архітектурою х86. Написати програму, яка розміщує в пам’яті даних комп’ютера, операнди, що задані варіантом 19.
Антиботан аватар за замовчуванням

27.10.2024 17:10-

Коментарі

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

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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