КАТЕГОРИИ: Архитектура-(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; Просмотров: 503; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |