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

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

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

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

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

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

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

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

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

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

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

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

Звіт до лабораторної роботи присвячено дослідженню способів представлення даних у пам'яті комп'ютера з архітектурою x86 на мові асемблера. У роботі виконано створення та аналіз сегментів даних із різними вирівнюваннями й типами операндів.

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

  • Архітектура x86
  • Мова асемблера
  • Представлення даних у пам'яті
  • Сегментація пам'яті
  • Вирівнювання даних
  • Системи числення

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

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

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

пам'ять комп'ютераархітектура x86сегмент данихоперандвирівнюванняконстантазміннадамп пам'ятідирективастек

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

Міністерство освіти і науки, молоді та спорту України Національний університет “Львівська політехніка” Кафедра ЕОМ Звіт з лабораторної роботи № 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 '[ім’я автора приховано]',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 '[ім’я автора приховано]',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 '[ім’я автора приховано]',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 Висновок: на даній лабораторній роботі я навчився задавати константи та змінні в Асемблері, набув навики інтерпритування даних в пам’яті комп’ютера.
Допоможи студентському архіву

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

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

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

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

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

Admin

26.02.2023 12:38

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