- •Оглавление
- •Вопрос №3
- •Вопрос №4
- •Вопрос №5
- •Вопрос №6 Системы исчисления
- •Вопрос №7
- •Вопрос №8
- •Вопрос №9
- •Вопрос №10
- •Вопрос №11
- •Вопрос №12
- •Вопрос №13
- •Вопрос №14
- •Вопрос №15
- •Вопрос №16
- •Вопрос №17
- •Вопрос №18
- •Вопрос №19
- •Вопрос №20
- •Вопрос 21
- •Вопрос 22
- •Вопрос 23
- •Вопрос №24
- •Вопрос № 25
- •Вопрос № 26
- •Вопрос №27
- •Вопрос №28
- •1. Команда пересылки данных.
- •Вопрос №29
- •Вопрос №30
- •Вопрос №31
- •Вопрос №32
- •Вопрос №33
- •Вопрос №33(Краткая версия)
- •1) Команда вызова процедуры.
- •2) Команда возврата управления.
- •Вопросы №34
- •Вопросы №35
- •Вопрос №36
- •1) Команда организации цикла.
- •2) Команда перехода по обнуленному счетчику.
- •3) Команды организации цикла с условием.
- •Вопрос №37
- •Вопросы №38
- •Вопрос №39
- •Вопрос №40
Вопрос № 26
Специфика программ на ассемблере состоит в том, что они работают с аппаратными ресурсами компьютера. Для локализации ошибок используют специальный тип программного обеспечения – программный отладчик.
Отладчики бывают 2-х типов:
Интегрированные, в виде интегрирующей среды, напоминающей среду языков высокого уровня.
Автономные, представляющие собой отдельные программы. Td.exe или prog.exe
В пакете TASMиспользуется отладчикTurboDeburger(TD), представляющий собой оконную среду отладки программы на уровне ассемблеровского текста и позволяет решать 2 задачи:
1. Место ошибки.
2. Причина ошибки.
Возможности TD:
Трассировка программы в обратном направлении.
Просмотр и изменение состояния обратных ресурсов при трассировки в обратном направлении.
Не позволяет вносить исправления в исходный текст программы.
Возможность вносить изменения в машинный код.
Запустить программу в отладчике можно в одном из режимов:
безусловного выполнения (требуется рассмотреть поведение программы в целом)
Выполнение по шагам (для детального изучения).
выполнение программы по текущему положению курсора.
выполнение с установкой точек прерывания.
При выполнении программы возможно использование окна ЦПУ, которое состоит из 5-ти подчиненных окон:
В окне с исходной программой в дезассемблеровком виде представлена та же программа, но в машинных кодах.
В окне регистров процессора отражается текущее содержимое регистров.
В окне флагов отражается текущее состояние флагов процессора.
Окно стека отражает содержимое памяти, выделенной для текущего стека.
Окно Dumpотражает содержимое области памяти по адресу, который формируется из компонентов, указанных в нижней части окна.
Вопрос №27
Система команд процессора IA32.
4 группы:
1. Процессор
2. Сопроцессор
3. MMXрасширение
4. XMMрасширение
По функциональному признаку команды можно классифицировать:
Пересылка данных
- Общего назначения
- Работа со стеком
- Преобразование данных
2. Арифметические
- двоичной арифметики
- десятичной арифметики
3. Логические
4. Передача управления
- безусловные
- условные
5. Цепочечные
6. Управление состоянием ЦП
- работа с флагами
- работа с системными ???
Вопрос №28
1. Команда пересылки данных.
MOV <адрес приемника> ,< адрес источника>
используется для пересылки данных длиной I или 2 байта из регистра в регистр, из регистра в основную память, из основной памяти в регистр, а также для записи в регистр или основную память данных, непосредственно записанных в команде.
Приведем примеры:
а) mov ax, bx- пересылка содержимого регистра bx в регистр ax;
б) mov cx, exword - пересылка 2 байт, расположенных в поле exword, из основной памяти в регистр cx;
в) mov si, 1000 - запись числа 1000 в регистр si;
г) mov word ptr [di+515], 4 - запись числа 4 длиной 2 байта в основную память по адресу [di+515].
Для загрузки "прямого" адреса в сегментный регистр используются две команды пересылки:
mov ax, code
mov ds, ax
Командой MOV нельзя осуществить пересылку из одной области памяти в другую.
Двунаправленная пересылка данных XCHGxchgal,bl
Команда записи в стек.
PUSH < операнд>
организует запись в стек слова, адрес которого указан в операнде. Например;
push dx - запомнить содержимое регистра dx в стеке.
Команда восстановления из стека.
POP < операнд>
организует чтение из стека последнего слова и помещает его по адресу, указанному во втором операнде. Например:
pop dx - восстановить содержимое регистра dx из стека.
Команда добавления единицы.
INC <операнд>
значение операнда увеличивается на единицу.
Команда вычитания единицы.
DEC <операнд>
значение операнда уменьшается на единицу.
Команда сравнения.
СМP <операнд 1> , < операнд 2>
выполняется операция вычитания без записи результата и устанавливаются признаки во флажковом регистре.