Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Перечислите составляющие процедуры формирования исполняемой программы и укажите их функциональное назначение




У большинства существующих реализаций ассемблера нет интегрированной среды, подобной Turbo Pascal или Turbo C. Поэтому для выполнения функций по вводу кода программы, ее трансляции и редактирования и отладке необходимо использовать отдельные служебные программы. На рис. 3 приведена общая схема процесса разработки программы на ассемблере, в которой выделено 4 этапа:

- ввод кода программы текстовым редактором,

- трансляция программы с применением программы MASM,

- создание загрузочного модуля программой LINK.EXE,

- отладка программой TD.EXE.

Текст программы на языке ассемблер пишется при помощи любого редактора, сохраняющего текст в виде стандартных кодов ASCII. Проще всего в нашем варианте воспользоваться редактором ЕDIT (клавиши Shift-F4 и F4).

Затем транслятор MASM (“Макроассемблер” фирмы Microsoft) переводит исходный файл с расширением *.asm в файл, содержащий машинные коды команд ассемблера, так называемый объектный файл (*.obj). Естественно перевод состоится лишь в том случае, если исходный файл содержит программу, написанную без ошибок. Одновременно с объектным файлом могут быть созданы файлы листинга (*.lst) и перекрестных ссылок (*.crf).

Чтобы операционная система, например MS-DOS, смогла считать программу и поместить ее в подходящее место памяти, необходимо создать перемещаемый исполняемый файл. Этим занимается программа компоновщик (загрузчик), она может объединять несколько объектных файлов в один исполняемый файл (расширение exe).

 

60. Команды организации циклов: особенности выполнения.

При организации циклов широко используются команды INC (инкремент) и DEC (декремент), что означает добавление или вычитание единицы из целого числа, помещенного в ячейку памяти, РОН или индексный регистр. Команды имеют формат:

INC операнд

DEC операнд

 

46.Какие типы адресации операндов используются при работе со структурами данных?

При работе со структурами данных для доступа к элементам структуры необходимо указывать смещение элемента относительно начала структуры. Для этих целей удобны такие типы адресации, в которых исполнительный адрес вычисляется как сумма смещения начала структуры и смещения элемента структуры относительно ее начала. Такую возможность обеспечивают адресация по базе, адресация по базе с индексированием и прямая адресация с индексированием. Например, в случае двумерного массива базовый адрес может содержать начальный адрес массива, а значения сдвига и индексного регистра могут содержать смещения по строке и столбцу, вследствие чего команда пересылки может быть следующей:

MOV AX, [BX+2+DI]

55. Условные переходы при использовании операндов без знака. Какие флаги используются, и при каких значениях флагов происходит переход?

В этой таблице отражается действие команд условного перехода при использовании операндов без знака по значениям анализируемых этими командами флагов:

49. Команда пересылки данных: возможности и ограничения.

К этой группе команд относятся команды:

Mov <Операнд назначения (приемник)>, <операнд- источник>

Xchg <Операнд1>, <операнд2>.

Mov – это основная команда пересылки данных. В ней допустимо большинство из возможных сочетаний операндов:

Mov ax, table; пересылка из памяти в регистр

Mov table, ax; и наоборот

Mov ds, ax; пересылка между 16-битовыми регистрами

Mov bl, al; пересылка между 8-битовыми регистрами

Mov cl,-30; пересылка константы в регистр

Mov table, word ptr 25h; пересылка константы в память

Если в команде пересылки одним из операндов является регистр, то ассемблер пересылает столько байтов, каков размер регистра. При отсутствии в команде регистра ассемблер не знает, одну, двух или четырехбайтовую константу необходимо пересылать в память. В таком случае подсказкой для ассемблера должны быть модификаторы BYTE PTR (пересылка одного байта), WORD PTR (пересылка слова – двух байтов), DWORD PTR (пересылка двойного слова – четырех байтов).

В команде Mov исключаются следующие сочетания операндов:

- сегментный регистр-память. Нельзя загрузить в сегментный регистр значение непосредственно из памяти. Поэтому для такой загрузки используют обычно 2 команды пересылки – через регистр общего назначения или через стек;

- ячейка памяти-ячейка памяти. Нельзя осуществлять непосредственную пересылку данных из одной ячейки памяти в другую.

- сегментный регистр-сегментный регистр. Нельзя пересылать содержимое одного сегментного регистра в другой сегментный регистр, однако при необходимости такой пересылки поступают так же, как и в предыдущих случаях: пересылку осуществляют через регистр общего назначения;

- нельзя использовать сегментный регистр CS в качестве операнда назначения (приемника).

Команда Xchg (exchange) меняет между собой значения двух регистров общего назначения или регистра ОН и ячейки памяти. Необходимое требование к операндам – чтобы они имели один тип. Например:

Xchg AX, BX; обменять значения двух регистров (слова

Xchg AL, BH; или байты)

Xchg WORD1, DX; обменять значения регистра и

Xchg DL, BYTE1; ячейки памяти.

 

 

50. Логические команды: правила установки флагов.

Логические операции, кроме NOT, устанавливают флаги SF (знака), ZF (нуля) и PF(четности), флаг переноса устанавливается в 0. Все команды, за исключением TEST, сохраняют результат логической операции в приемнике. Команда TEST выполняет такую же операцию, что и AND. Различие только в том, что результат операции TEST не сохраняется в приемнике, а используется для следующей команды перехода по нулю.

Поскольку логические команды устанавливают флаги, их можно применять для проверки значений регистров. Например,

OR DX, DX; проверить значение в регистре.

При проверке четности или нечетности значения в регистре, можно воспользоваться командой

AND DX, 1H; выделить младший бит,

учитывая, что двоичное представление четных чисел имеет нулевой последний бит. Следует отметить, что при использовании команды AND значение в регистре будет этой командой изменено. Если необходимо оставить значение в регистре DX без изменений, то следует воспользоваться командой TEST, например, таким образом:

TEST DX, 00000001B; проверить младший бит.

 

 




Поделиться с друзьями:


Дата добавления: 2015-04-24; Просмотров: 481; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.