
- •36 Вопрос
- •15 Вопрос
- •9Вопрос
- •5 Вопрос
- •8 Вопрос
- •9 Вопрос
- •10Вопрос
- •14 Вопрос
- •15 Вопрос
- •16Вопрос
- •22 Вопрос
- •12 Вопрос
- •13 Вопрос
- •15 Вопрос
- •16 Вопрос
- •17 Вопрос
- •1 Вопрос
- •19 Вопрос
- •52 Вопрос
- •21 Вопрос
- •30 Вопрос
- •21 Вопрос
- •25 Вопрос
- •22 Вопрос
- •23 Вопрос
- •24 Вопрос
- •25 Вопрос
- •26 Вопрос
- •27 Вопрос
- •32 Вопрос
- •29 Вопрос
- •30 Вопрос
- •35 Вопрос
- •37 Вопрос
- •34 Вопрос
- •35 Вопрос
- •40 Вопрос
- •37 Вопрос
- •46 Вопрос
- •50Вопрос
- •42Вопрос
- •43 Вопрос
- •44 Вопрос
- •44 Вопрос
- •42 Вопрос
- •54 Вопрос
36 Вопрос
Программа на языке ассемблера состоит из строк, имеющих следующий вид:
Метка(имя) мнемокод(команда/директива) операнды ; комментарий
имя — идентификатор, отличающий данную директиву от других одноименных директив. В результате обработки ассемблером определенной директивы этому имени могут быть присвоены определенные характеристики;
директива — это мнемонические обозначения соответствующей машинной команды, макрокоманды или директивы транслятора;
операнды — части команды, макрокоманды или директивы ассемблера, обозначающие объекты, над которыми производятся действия. Операнды ассемблера описываются выражениями с числовыми и текстовыми константами, метками и идентификаторами переменных с использованием знаков операций и некоторых зарезервированных слов.
Причем все эти поля необязательны. Метка может быть любой комбинацией букв английского алфавита, цифр и символов _, $, @, ?, но цифра не может быть первым символом метки, а символы $ и ? иногда имеют специальные значения и обычно не рекомендуются к использованию.
15 Вопрос
Данные могут размещаться в участках памяти которые называются сегментами:
Сегмент кода
Сегмент данных
Сегмент стека
Сегменты описываются с помощью директивы ассемблера SEGMENT или с помощью управляющих директив:
.CODE
.DATA
.MODEL
Для инициализации простых типов используются простые директивы Dx, являющиеся указанием компилятору на выделение определенных объектов памяти
DB — определить байт;
DW — определить слово (2 байта);
DD — определить двойное слово (4 байта);
DQ — определить учетверенное слово (8 байт);
DT — определить 10 байт (80-битные типы данных, используемые FPU).
Например
text_string db 'Hello world!'
number dw 7
float_number dd 3.5e7
9Вопрос
Заголовок программы |
Title «заголовок программы» |
Модель памяти |
.madel_large модель с несколькими сегментами кода и данных .model_tiny .model_small .model_medium .model_compact .model_huge |
Сегмент стека |
.Stack |
Директивы распределения и инициализации памяти |
Dx |
Сегмент данных |
.Data |
Описание директивы внешних переменных |
Dx .Extrn |
Сегмент кода |
.Code |
Директивы распределения и инициализации памяти |
Dx |
Директивы описания внешних переменных |
Extrn |
Проуедуры |
PROC ……. Endp |
Конец программы |
End |
5 Вопрос
8 Вопрос
Для получения объектного модуля исходный файл необходимо подвергнуть трансляции при помощи программы Tasm.exe
Формат командной строки для запуска TASM.exe
TASM[опции] имя исходного файла [,имя объектного файла] [,имя файла листинга][,имя файла перекрестных ссылок]
Обязательным аргументом командной строки является лишь имя исходного файла. Этот файл должен находится на диске и иметь расширение .asm
TASM.exe z1.asm, , ,
TASM.exe z1, z2, z3, z4