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   - тип даних подвійне слово;


 

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

24173. Классификация исторических источников 24.19 KB
  Например письменные источники делятся на следующие виды: законодательные акты актовый материал материалы делопроизводства политические сочинения и проекты публицистика периодика источники личного происхождения документы политических партий и общественных организаций статистические материалы научные и учебные труды литературные произведения экономикогеографические описания сочинения иностранцев справочные издания. Исторические источники также делят на намеренные и ненамеренные. Таким образом намеренные источники это те...
24174. Основные школы в российской исторической науке 18.08 KB
  11 века – Житие Феодосия Печерского Житие о погубления Бориса и Глеба.18 века Отечественная история как наука была написана История Российская с самых древнейших времен первый научный обобщающий труд. 7Рубец 1819 века Радищев выдвинул тезис о закономерности революционной переворотов в Истории. 8начало 19 века Николай Михайслович Казамзин написал История гос.
24175. Восто́чные славя́не 21.04 KB
  Восточнославянские племена Прарусские Вятичи верхняя и средняя Ока и Москварека Радимичи частично прабелорусы междуречье верхнего Днепра и Десны по течению Сожа и его притоков Северяне частично праукраинцы территория современных Черниговской Сумской Курской и Белгородской областей Ильменские словене бассейн озера Ильмень и верхнее течение Мологи Кривичи частично прабелорусы территория нынешних Витебской Могилёвской Псковской Брянской и Смоленской областей а также восточной Латвии Праукраинцы Белые хорваты окрестности...
24176. Образование древнерусского государства 24.46 KB
  Древнерусского государство складывалось в процессе развития феодальных отношений возникновения классовых противоречий и принуждения. Поэтому годом образования древнерусского государства считается 862 год.Байер доказывали скандинавскую теорию образования древнерусского государства Руси.
24177. Первые русские князья. Основные направления внутренней и внешней политики. (Олег, Владимир 1, Ярослав Мудрый, Владимир Мономах, [Изяслав, Всеслав, Всеволод, Святослав]) 32.27 KB
  Олег Владимир 1 Ярослав Мудрый Владимир Мономах [Изяслав Всеслав Всеволод Святослав]. В 980 к власти пришел Владимир в междуусобице погибли Олег и Ярополк. Владимир вошел в историю как крупный государственный деятель. Владимир разослал по отдельным областям своих сыновей.
24178. Принятие христианства на Руси и её значение 48.38 KB
  Значение принятие на Руси христианства: Стремление укрепить международный авторитет Киевской Руси. Крещение Руси и её расцвет: При князе Владимире Святославиче правившем между 978 и 1015 официальной религией Киевского государства в 988 стало христианство. О высоком уровне грамотности жителей Руси свидетельствуют дошедшие до нашего времени многочисленные берестяные грамоты.
24179. Время правления Ярослава Мудрого 30.48 KB
  его сын Ярослав посаженный княжить в Новгороде наняв варягов отказался платить традиционную дань 2000 гривен 1 гривна = ок. Но в современной историографии есть версия что их убил Ярослав Мудрый мудрый в старину означало хитрый. В это время варяги нанятые Ярославом ведут себя бесцеремонно в Новгороде и новгородцы убивают их часть.
24180. Внешняя и внутренняя политика в годы правления Владимира Мономаха 28.06 KB
  Немудрено ведь годы правления Владимира Мономаха фактически начались еще при князе Всеволоде его отце и он активно участвовал во всех государственных делах при Святополке. Внутренняя политика в годы правления Владимира Мономаха. Князь сразу же принял решение расширить и обновить Русскую правду которую стали называть в результате его решительных действий Устав Владимира Мономаха.
24181. Причины феодальной раздробленности Древнерусского государства 42.71 KB
  Причины феодальной раздробленности Древнерусского государства Для возникновения феодальной раздробленности были экономические социальные и этнические причины. Появление изгоев и закупов свидетельствует о наличии расслоения в старой свободной общине и создании категорий крестьян вынужденных вступать в поземельную зависимость не от государства а от частных господ. На этом более высоком уровне феодализации политическая раздробленность Древнерусского государства была закономерной и вела к укреплению его функций в интересах отдельных земель...