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

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

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

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

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

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

Міністерство освіти і науки, молоді та спорту України Національний університет “Львівська політехніка” Кафедра ЕОМ Звіт з лабораторної роботи № 3 на тему: " Дослідження способів представлення даних в пам’яті комп’ютера з архітектурою х86" з дисципліни: " Засоби системного програмування" Львів – 2013 Мета: вивчити способи задання констант та змінних в Асемблері, набути навики інтерпретування даних в пам’яті комп’ютера з архітектурою х86 ЗАВДАННЯ: Створити *.exe програму, яка розміщує в пам’яті даних комп’ютера, операнди, що задані варіантом. Вхідні операнди А, В, С, D, E, F з індексом u вважати без знаковими і довжиною в байтах, згідно з індексу, з індексом fs вважати з рухомою комою одинарної точності (32 біти), з індексом fd вважати з рухомою комою подвійної точності (64 біти), з індексом fe вважати з рухомою комою розширеної точності (80 біт); операнди А, В, С розмістити в сегменті DATA з довільним вирівнюванням сегменту, D, E, F розмістити в сегменті DATA1 з вирівнюванням сегменту BYTE, WORD, DWORD, PARA, PAGE (див. [5]). Крім цього операнд А є масивом з 3-ох елементів. При оголошені призначити операндам початкові значення використовуючи всі можливі системи лічби. К – константа, довжина якої визначається значенням(згідно варіанту), а значення задане в шістнадцятковому форматі. Для її опису слід використати директиву EQU. Задати одну мітку в довільному місці сегменту даних. В одному з сегментів на вибір розташувати змінну Message db 'Прізвище',13,10,'$', де 'Прізвище' – прізвище виконавця роботи, яке вивести на екран. За допомогою Debug, дослідити представлення даних в пам’яті комп’ютера для кожного з варіантів вирівнювання (продемонструвати розміщення даних та здійснити інтерпретацію). Скласти звіт про виконану роботу з приведенням тексту програми з коментарями, дампу пам’яті для кожного з варіантів вирівнювання стеку, та аналітично інтерпретувати дані для кожної зі змінних. Дати відповідь на контрольні запитання. Хід роботи: Варіант №1 Задані операнди: A2,B1u,C4,Dfd,E10,F3, K = 1254021 Отже, сегмент даних може буде описаний таким чином: DATA SEGMENT WORD 'DATA' HelloMessage db 'Bagrij',13,10,'$' A dw 0101Q,016Ch, 9874 B dw 07CAh C dd 256h DATA ENDS DATA1 SEGMENT DWORD 'DATA1' LBL LABEL BYTE D dd 7.56e5 E dw 259879 F dd C17h K equ 1254021 DATA1 ENDS . 2. Розміщення даних в пам’яті: Сегмент DATA / HelloMessage db 'Bagrij',13,10,'$' / A dw 0101Q,016Ch, 9874 Dw – слово 2 байти 0101Q – вісімковий формат числа 1018 = 4116 / 016Ch – число 16С 16 01 6С в пам’яті зберігається як 6С 01 / 987410= 26 9216 В пам’яті 92 26 / B dw 07CAh 07CA16 В пам’яті CA 07 / C dd 256h DD (подвійне слово – 4 байти), 02 56 / Вирівнювання сегменту, до розміру рівного 8 Адреса 001016=1610 / Сегмент DATA1 D dd 7.56e5 dd - подвійне слово 4 байт / E dw 2598 259810= А2616 ВПК 26 0А / F dd 0C17h / Лістинг програми STACK SEGMENT PARA STACK 'STACK' db 100h DUP (?) STACK ENDS DATA SEGMENT WORD 'DATA' HelloMessage db 'Bagrij',13,10,'$' A dw 0101Q,016Ch, 9874 B dw 07CAh C dd 256h DATA ENDS ;===================================================================== DATA1 SEGMENT DWORD 'DATA1' LBL LABEL BYTE D dd 7.56e5 E dw 2598 F dd 0C17h K equ 1254021 DATA1 ENDS CODE SEGMENT PARA 'CODE' ASSUME cs:CODE, ds:DATA ProgramStart: push ds ;initialize stack segment sub ax,ax ;initialize stack segment push ax ;initialize stack segment mov ax,Data ;initialize data segment mov ds,ax ;initialize data segment mov ah,09 ;display message mov dx,OFFSET HelloMessage int 21h mov ah,4Ch ;DOS terminate program function int 21h ;end of the program CODE ENDS END ProgramStart Висновок: на даній лабораторній роботі я навчився задавати константи та змінні в Асемблері, набув навики інтерпритування даних в пам’яті комп’ютера.
Антиботан аватар за замовчуванням

18.03.2015 01:03-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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