Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
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 в турбоассемблере?
Дата публикования: 2014-12-10; Прочитано: 416 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!