35397

Резервування і ініціалізація памяті

Практическая работа

Информатика, кибернетика и программирование

Мета: Навчитися резервувати і ініціалізувати память під програми на асемблері. Це основна команда пересилки даних. Вона реалізує найрізноманітніші варіанти пересилки. Відзначимо особливості застосування цієї команди.

Украинкский

2014-10-21

54.5 KB

3 чел.

еревко О.В.                                                                                                    2ПМС-07

Практична робота №19

Тема: Резервування і ініціалізація пам'яті.

Мета: Навчитися резервувати і ініціалізувати пам'ять під програми на асемблері.

Устаткування: ПК. Програма Turbo Assembler 5.0.

  1.  Правила ТБ.
  2.  Індивідуальне завдання

Текст програми

masm

model small

stack 256

.data

 per_1 db 23

 per_2 dw 9856

 per_3 dd 9875645

 per_4 dw 29857

.code

main:

   mov ax,@data

   mov ds,ax

exit:

   mov ax,4c00h

   int 21h

end main

masm

  •  транслятор

model small

- директива и модель памяти 

stack 256

- сегмент стека модуля и розміром стека

.data

- сегмент даних

per_1 db 23

per_2 dw 9856

per_3 dd 9875645

per_4 dw 29857

- присвоєння змінним значень з урахуванням типів данних

.code

  •  сегмент коду

mov ax,@data

mov ds, ax

-  загрузка в сегментний регістр ax адрес хранения переменних в памяти пам’яті використовуючи регістр ds

exit:

- обозначение метки

mov ax,4c00h

int   21h

end main

- завершение роботи

результат роботи програми

  1.  Контрольні питання.
    1.  Чим є директиви сегментації?

Програма розбивається на декілька сегментів, кожний з яких має своє функціональне призначення.

  1.  Перерахуйте сегментні регістри і групи, на які вони діляться.

Сегмент вводу cs, даних ds, стека ss, дополнительний ds

  1.  У яких випадках використовують спрощені директиви сегментації?

Спростити опис для простих програм, що містять по одному сегменту для коду, даних і стека.    

 

  1.  Команда пересилки даних mov і особливості її використовування.

Це основна команда пересилки даних. Вона реалізує найрізноманітніші варіанти пересилки. Відзначимо особливості застосування цієї команди.

  •  Командою MOV не можна здійснити пересилку з однієї області пам'яті в іншу. Якщо така необхідність виникає, то потрібно використовувати як проміжний буфер будь-який доступний в даний момент регістр загального призначення.
  •  Не можна  завантажити в сегментний регістр значення безпосередньо з пам'яті. Для такого завантаження потрібен проміжний об'єкт. Це може бути регістр загального призначення або стік. Якщо подивитися на лістинг примера1, то побачите на початку сегменту коду дві команди MOV, виконуючі настройку сегментного регістра DS. При цьому через неможливість напряму завантажити в сегментний завантаження потрібен проміжний об'єкт. Це може бути регістр загального призначення або стік. При цьому через неможливість напряму завантажити в сегментний регістр значення адреси сегменту, що міститься в приреченій змінній @data, доводиться використовувати регістр загального призначення АХ.
  •  Не можна переслати вміст одного сегментного регістра в інший сегментний регістр. Це пояснюється тим, що в системі команд немає відповідного коду операції. Але необхідність в такій дії часто виникає. Виконати таку пересилку можна, використовуючи як проміжні всі ті ж регістри загального призначення. Ось приклад ініціалізації регістра ES значенням з регістра DS:

mov  ах, ds

mov es, ах

  •  Не можна використовувати сегментний регістр CS як операнд призначення. Причина тут проста. Річ у тому, що в архітектурі процесора IA-32 пари CS:IP містить адресу команди, яка повинна виконуватися наступною. Зміна командою MOV вмісту регістра CS фактично означала б операцію переходу, а не пересилки, що неприпустимо.

     5.Директиви опису даних, цілі двійкові числа.

Ціле двійкове число — це число, закодоване в двійковій системі счислення. У архітектурі IA-32 розмірність цілого двійкового числа може складати 8, 16 або 32 біта.

Опис цілих двійкових чисел в програмі робиться з використанням директив опису даних DB, DW і DD.

DB   - тип даних байт;

DW  - тип даних слово;

DD   - тип даних подвійне слово;


 

А также другие работы, которые могут Вас заинтересовать

12355. Изучение вынужденных колебаний в колебательном контуре 343.5 KB
  Лабораторная работа № 22 Изучение вынужденных колебаний в колебательном контуре 1. Цель работы: изучение зависимости тока в колебательном контуре от частоты источника включенного в контур измерение резонансной частоты контура. 2. Вынужденные колебания в RLCконтур
12356. Скин-эффект в металле 182.5 KB
  Лабораторная работа № 21 Скинэффект в металле 1. Цель работы: Изучение скинэффекта в металле. 2. Электромагнитная индукция. Вихревое электрическое поле. Явление электромагнитной индукции состоит в том что в проводящем контуре находящемся в переменном магнитном
12357. Изучение магнитного поля соленоида с помощью датчика Холла 198.5 KB
  Лабораторная работа № 20 Изучение магнитного поля соленоида с помощью датчика Холла 1. Цель работы: исследование магнитного поля на оси соленоида с использованием датчика Холла. 2. Методика измерений. Сначала получим выражение для расчета индукции магнитного пол
12358. Определение отношения заряда электрона к его массе методом магнетрона 245 KB
  Лабораторная работа № 19 Определение отношения заряда электрона к его массе методом магнетрона 1. Цель работы: измерение удельного заряда |e|/m электрона. 2. Методика измерений Существуют различные методы определения отношения |e|/m в основе которых лежат результа...
12359. Исследование распределения термоэлектронов по скоростям 146 KB
  Лабораторная работа № 18 Исследование распределения термоэлектронов по скоростям 1. Цель работы: экспериментальное исследование распределения Максвелла. 2. Обоснование метода исследования. В замкнутом сосуде наполненном газом при температуре Т устанавливается...
12360. Ремонт стартера 427 KB
  Стартер является основным прибором системы пуска двигателя и представляет собой четырехнолюсный электродвигатель для преобразования электрической энергии аккумуляторной батареи в механическую и передачи ее на маховик с целью прокрутки коленчатого вала двигателя.
12361. Определение характеристик постоянного магнита по измерениям с датчиком Холла 249.5 KB
  Лабораторная работа № 16 Определение характеристик постоянного магнита по измерениям с датчиком Холла 1. Цель работы: Определение характеристик постоянного магнита по измерениям с датчиком Холла. 2. Эффект Холла. Эффект Холла заключается в том что если пропустит...
12362. Исследование характеристик поперечного датчика Холла 266.5 KB
  Лабораторная работа № 15 Исследование характеристик поперечного датчика Холла 1. Цель работы: Исследование характеристик поперечного датчика Холла 2. Эффект Холла. Эффект Холла заключается в том что если пропустить через металлическую или полупроводниковую пла
12363. Исследование характеристик продольного датчика Холла 266.5 KB
  Лабораторная работа № 14 Исследование характеристик продольного датчика Холла. 1. Цель работы: Изучение эффекта Холла. 2. Эффект Холла. Эффект Холла заключается в том что если пропустить через металлическую или полупроводниковую пластину рис.14.1. электрический то