Головна

Спрощені директиви сегментації

  1. Compiler Directives (Директиви компілятора).
  2. Види сегментації ринку
  3. Директиви препроцесора.
  4. ДИРЕКТИВИ РЕЗЕРВУВАННЯ І ІНІЦІАЛІЗАЦІЇ ДАНИХ
  5. ДИРЕКТИВИ СЕГМЕНТАЦІЇ
  6. Діректіви_
  7. Зміна структури рекреаційних потреб і початок сегментації туристського ринку

1. Використання турбоассемблера фірми Borland дозволяє застосовувати спрощені директиви сегментації -.code, .data, .stackв режимі masm и codeseg, dataseg, stack в режимі ideal для оформлення програми.

Директива вказівки моделі пам'яті model частково управляє розміщенням сегментів і виконує функції директиви assume.Обов'язковою для директиви model є параметр моделі пам'яті. Він визначає модель сегментації пам'яті для програмного модуля: tiny -для програм типу .com; small - Для більшості програм, що мають один сегмент коду і т. Д.

Наявність в програмі директиви model дозволяє використовувати ідентифікатори @code, @data, @stack для отримання адрес відповідних сегментів.

Нижче наведена програма z1_pr1.asm зі спрощеними директивами сегментації.

; === Програма 3. Файл z2_pr3.asm ===========

masm

model small

stdout = 1

lf = 10

cr = 13

.data

mes db 'Працюєш на ПК - вивчи асемблер', cr, lf

meslen = $ - mes

stack 256

.code

myproc proc

mov AX, @ data

mov DS, AX

; Виведення рядка на екран

mov AH, 40h

mov BX, stdout

mov CX, meslen

mov DX, offset mes

int 21h

outpr: mov AH, 4Ch

mov AL, 00h

int 21h

myproc endp

end myproc

; =========================================

2. Перевірте виконання цієї програми на Вашому комп'ютері.

3. Перебудуйте її в тип .com. Для цього змініть параметр моделі пам'яті на tiny, приберіть сегмент стека і Двоходові команду заповнення регістра DS початковим адресою. Як і раніше, в сегмент коду додайте організацію програмного префікса командою: org 100h. Не забудьте опцію / t при компонуванні програми.

; === Програма 4. Файл z2_pr4.asm ===========

Контрольні питання

1. Перелічіть ще чотири, крім наведених вище, директиви сегментації турбоассемблера?

2. Які ще три моделі сегментації пам'яті є в турбоассемблере?

3. Навіщо потрібна дворядкова комбінація

mov AX, @ data

mov DS, AX

для програм типу .exe і чому її немає в програмах типу .COM?

4. Що замінює директиву макроассемблера assume в турбоассемблере?

 



Програма типу com на макроассемблере | самостійні розробки

заняття 1 | Організація роботи з асемблером | Програма типу EXE на макроассемблере | умовні переходи | Переходи з допомогою команди CALL | Mess1 db 0Ah, 0Dh | Sub AX, AX. | Jmp outprog; На завершення програми | Режими адресації. Дані. Робота з масивами | Програма пошуку елемента в масиві |

© um.co.ua - учбові матеріали та реферати