- •Лр 5 (с повторами для каждого варианта)
- •Лр 6 (с повторами для каждого варианта)
- •Чем отличаются *.Com и *.Exe исполнимые файлы, построенные Ассемблером? com файлы односегментные, а exe многосегментные. Максимальный размер com файла ограничен 64кб, а exe неограничен.
- •Лр 7 (с повторами для каждого варианта)
- •Лр 8 (с повторами для каждого варианта)
- •На вопросы, помеченные сочетанием “Доп.” (дополнительные), можно не отвечать!!!!
Лр 5 (с повторами для каждого варианта)
Какие разновидности команды XLAT Вы знаете, и чем они отличаются? DS:BX + AL. Выполнить замену байта в регистре AL байтом по этому адресу. XLATB – короткая форма команды XLAT. При её использовании процессор предполагает, что в регистре DS:BX находится адрес таблицы.
Как организовать ожидание ввода символа в Ассемблере? mov AH, 01h, INT 21h
Какие системы счисления Вы знаете? Позиционные (основания 2, 8, 16,…)
В чем отличие символьного и шестнадцатеричного представления в ОП? Отличие в представлении – либо символом («A»), либо двумя шестнадцатеричными числами (41h)
Можно ли в процедуру Ассемблера передать параметры при ее вызове и как? Явно нельзя. Можно через регистры или глобальные переменные.
Что такое стек и для чего он нужен? Структура данных, работающая по принципу LIFO (Last in First out). Сохранять значения регистров, переменных и т.п. для организации работы процедур, прерываний и т.д.
В каких командах Ассемблера неявно используется стек? При вызове процедур, при выполнении команды CALL процессор сохраняет в стеке адрес следующей за ней команды. После вызова процедуры создаются локальные переменные, которые помещаются в стек. Ещё RET, IRET.
Поясните работу команды CMP? CMP вычисляет разницу между двумя целыми операндами и изменяет OF, SF, ZF, AF, PF, CF в зависимости от результа.
Поясните работу команды условного перехода - JE/JNE? JE/JNE выполняют условный переход в зависимости от состояния флага нуля ZF = 1/0.
Какие регистры неявно используются в команде LOOP? Использует CX/ECX.
Поясните работу команды LOOP? LOOP выполняет условный переход в зависимости от значения в регистре ECX/CX. Уменьшает содержимое ECX/CX на единицу, за каждый такт цикла.
Как организовать вложенный цикл в Ассемблере? Перед началом вложенного цикла надо сохранить значение CX в стеке, а по его окончании – вынуть из стека.
Как по листингу определить размер программы в оперативной памяти (ОП)? В разделе листинга Groups & Segments сложить размеры всех сегментов программы.
Как по листингу определить длину фрагмента программы, указанного преподавателем? После номера строки в листинге идёт размер выполняемой команды. Чтобы определить размер, надо вычесть из этого значения для конца интервала вычесть значение для начала интервала (например, 02CE – 02B9)
Чем отличаются *.COM и *.EXE исполнимые файлы, построенные Ассемблером? COM файлы односегментные, а EXE многосегментные. Максимальный размер COM файла ограничен 64кб, а EXE неограничен.
Как можно в программе ассемблера организовать ветвление? Командами условного перехода (J*, где * может означать различные условия, например: JE – jump if equal, JNG – jump if not greater и т.п.).
Поясните команды условного и безусловного перехода. Команды условного перехода передают управление в зависимости от установленных флагов процессора, а безусловного передают управление в любом случае.
Какие команды сравнения Вы знаете? CMP, CMPSB, CMPSV, CMPSD, CMPS
Какие системы счисления Вы знаете?
Поясните работу команды CMP?
Поясните работу команды LOOP?
Как организовать вложенный цикл в Ассемблере?
Доп. Чем отличаются *.COM и *.EXE исполнимые файлы, построенные Ассемблером?
Как организовать вывода символа на экран в Ассемблере? mov DL, 1;тут любой номер символа ; mov AH, 01h ; INT 21h
Какие команды условного перехода Вы знаете?