Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Програми на асемблері

Реферат Програми на асемблері





, EDX, ESP, EBP, ESI, EDI.

Використовуючи регістр покажчика вази BP, до будь-якого елементу стека можна звернутися наступним чином:

BP, SP; (SP) ® BP

MOV AX, [BP +6]; (SS: (BP +6)) ® AX.


Вміст двох байтів пам'яті, починаючи з адреси, певного друга операндом, пересилається в регістр AX.

Наведемо приклад програми, що використовує розглянуті команди і директиви для пересилання вмісту 4 байтів пам'яті з однієї області пам'яті в іншу і вивід на екран.

Prom.ASM

Page, 120

; опис сегмента стека

SSeg Segment Para stack stack 100h DUP (?) ends

; опис сегмента даних

DSeg Segment Para Public Data

DAN DB 1, 3, 5, 7 DB 4 DUP (?)

DSeg endS

; кодовий сегмент оформлений як одна зовнішня процедура

СSeg Segment Para Public Сode SS: SSeg, DS: DSeg, CS: CSeg Proc FAR

PUSH DS; організація зв'язку з ОС

XOR AX, AX

PUSH AX

MOV AX, DSeg; ; завантаження адреси сегмента даних в регістр DS

MOV DS, AX;

; пересилання даних в зворотній послідовності з виведенням на екран

MOV AH, 6DL, DANREZ +3, DL21h

MOV DL, DAN +1 REZ +2, DL21h

MOV DL, DAN +2 REZ +1, DL21h

MOV DL, DAN +3

MOV REZ, DL21h

;

MOV AH, 4CH21hendp ends

End Start


Директива TITLE визначає заголовок лістингу програми, може містити до 60 символів. Директива NAME визначає кількість рядків на сторінці лістингу - 1-й параметр і кількість символів на сторінці - 2-й параметр. Якщо якийсь з параметрів відсутня, то використовується значення за замовчуванням. Якщо відсутні обидва параметри, то директива здійснює перехід на наступну сторінку лістингу.

Директива початку сегмента

Загальний вигляд директиви:


<ім'я> Segment <Вирівнювання> <Тип> <Розмір> < клас>


Будь-який з операндів може бути відсутнім. Якщо є, то буде виведено повідомлення про помилку при спробі запису в цей сегмент.

Операнд <вирівнювання> визначає вимоги до адресою початку сегмента. Значеннями цього операнда можуть бути:

BYTE - адреса початку сегмента може бути будь-яким,

WORD - адреса початку сегмента кратний 2,

DWORD - адреса початку сегмента кратний 4,

Para - адреса початку сегмента кратний 16 - по-замовчуванню,

Page - адреса початку сегмента кратний 256.

Операнд <тип> визначає тип сегмента. У сегменті стека вказується stack, для інших сегментів - Public. Якщо такий параметр присутній, то всі сегменти з одним ім'ям і різними класами об'єднуються в послідовність у порядку їх запису. Значення Common, каже, що сегменти з одним ім'ям об'...


Назад | сторінка 14 з 29 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка програми, що використовує однофайловий базу даних на Pascal
  • Реферат на тему: Стиль споживчого сегмента
  • Реферат на тему: Аналіз сегмента загородити ринку нерухомості
  • Реферат на тему: Артеріальна мешотчатая аневризма А1 сегмента ПМА праворуч. Емболізація ане ...
  • Реферат на тему: Аналіз знань цільового сегмента виробника побутових пральних машин