- •Охарактеризовать язык программирования низкого уровня и его особенности
- •03. Объяснить понятие сегмента памяти. Описать основные сегменты, используемые в программах, и соответствующие сегментные регистры
- •04. Описать основные регистры: сегментные, общего назначения, указатели, индексные, признаков. Охарактеризовать их использование
- •05. Описать и объяснить обобщенные форматы машинных команд и формат кодирования команд в языке ассемблера.
- •Обобщенные форматы машинных команд
- •Трехадресные команды:
- •Двухадресные команды:
- •Одноадресные команды:
- •06. Объяснить назначение комментариев, форму их записи и особенности использования.
- •7)Объяснить назначение меток, форму их записи и особенности использования.
- •8)Объяснить назначение операндов, форму их записи и особенности использования.
- •09. Рассказать о назначении директивы page и ее использовании.
- •10. Рассказать о назначении директивы title и ее использовании.
- •11. Рассказать о назначении директивы segment и ее использовании.
- •12. Рассказать о назначении директивы proc и ее использовании.
- •13. Рассказать о назначении директивы assume и ее использовании.
- •14. Рассказать о назначении директивы end и ее использовании.
- •15)Описать основные директивы определения данных и охарактеризовать их использование.
- •16) Описать и объяснить формы инициализации программ типа .Exe.
- •17)Описать и объяснить основные этапы обработки программ: ассемблирование, компоновку.
- •18) Описать особенности работы ассемблера
- •19. Описать и объяснить порядок разработки программы.
- •20) Объяснить состав и основные особенности использования арифметических команд и неявное использование регистров в них.
- •21. Объяснить состав и основные особенности использования логических команд.
- •22. Объяснить состав и основные особенности использования команд безусловного и условных переходов
- •23. Объяснить назначение регистра признаков и описать основные признаки в его составе.
- •24. Объяснить состав и основные особенности использования команд организации циклов и неявное использование регистров в них.
- •25. Описать и объяснить понятие множества, подмножества, способы задания множеств.
- •27. Описать и объяснить понятие универсума, формы задание универсума, принцип адресации элементов множества.
- •28. Описать понятие вектора принадлежности, объяснить использование вектора принадлежности для выполнения операций.
- •29. Описать и объяснить понятие массива, размера и размерности массива. Описать состав и особенности основных операций над массивами.
- •30. Описать и объяснить понятие таблицы, принципы адресации элементов таблицы.
- •31. Объяснить понятие табличного поиска, принципы организации табличного поиска.
- •32. Объяснить понятие сортировки таблицы и вектора, принцип работы алгоритма пузырьковой сортировки
- •33. Объяснить понятие символьной цепочки. Описать состав и особенности команд для работы с цепочками.
- •34. Описать неявное использование регистров в командах для работы с цепочками, объяснить назначение префикса повторения команды
- •36. Описать принципы организации внешних подпрограмм. Объяснить назначение директив extrn и public.
- •37. Рассказать об организации связи программы с подпрограммой, о способе передачи данных через стек.
- •38)Описать особенности организации вложенных и рекурсивных подпрограмм.
- •39)Разъяснить схему работы команды прерывания int. Охарактеризовать ее назначение и использование.
- •40)Описать принципы использования прерывания бсвв int 10h для установки курсора.
- •41)Описать принципы использования прерывания бсвв int 10h для очистки экрана.
- •42)Описать принципы использования прерывания бсвв int 13h, описать его основные функции и выполняемые операции.
- •Int 13h: Дисковый ввод-вывод.
- •43) Описать принципы использования прерывания dos int 21h для организации вывода на экран.
- •44. Описать принципы использования прерывания dos int 21h для организации ввода с клавиатуры.
- •45. Объяснить понятие и назначение портов и принципы работы с ними. Описать назначение и использование команд in и out.
- •46. Объяснить организацию и применение макрокоманд без параметров.
- •47. Объяснить организацию и применение макрокоманд с параметрами.
- •48) Описать и охарактеризовать дополнительные средства макрокоманд: комментарии, директиву local. Объяснить их использование.
- •49Объяснить использование макрокоманд вложенных и библиотечных
- •50)Описать и охарактеризовать дополнительные средства макрокоманд – директивы include и purge. Объяснить их назначение и использование.
23. Объяснить назначение регистра признаков и описать основные признаки в его составе.
Регистр признаков (флаговый регистр)
Содержит 16 бит признаков (флагов), которые указывают состояние процессора. Они управляются и используются различными командами. Во всех случаях признаки сохраняют значение до тех пор, пока другая команда не изменит их. Регистр признаков содержит следующие девять используемых бит (звездочками отмечены неиспользуемые биты):
номер бита: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
признак: * * * * O D I T S Z * A * P * C
CF (Carry Flag) – признак переноса. Содержит значение “переносов” (0 или 1) из старшего разряда при арифметических операциях и некоторых сдвиговых операциях.
PF (Parity Flag) – признак четности.
Проверяет младшие восемь бит результатов операций над данными. Нечетное число бит приводит к сбросу признака, четное – к установке. Не следует путать признак четности с битом контроля на четность.
AF (Auxiliary Carry Flag) – дополнительный признак переноса.
Устанавливается, если арифметическая операция приводит к переносу четвертого справа бита (бит номер 3) в регистровой однобайтовой команде. Этот признак имеет отношение к арифметическим операциям над символами кода ASCII и к десятичным упакованным полям.
ZF (Zero Flag) – признак нуля.
Устанавливается в качестве результата арифметических команд и команд сравнения. Ненулевой результат приводит к появлению нулевого значения признака, нулевой – единичного значения. Кажущееся несоответствие логически правильно, так как 0 означает нет (результат не равен нулю), а единица обозначает да (результат равен нулю). Команды условного перехода JE и JZ проверяют этот признак.
SF (SIgn Flag) – знаковый признак.
Устанавливается соответственно знаку результата (старшего бита) после арифметических операций: положительному результату соответствует 0, отрицательному – 1. Команды условного перехода JG и JL проверяют этот признак.
TF (Trap Flag) – признак пошагового выполнения.
Если признак установлен, то процессор переходит в режим пошагового выполнения команд: на каждом шаге выполняется одна команда под управлением пользователя.
IF (Interrupt Flag) – признак прерывания.
При нулевом состоянии этого признака прерывания запрещены, при единичном – разрешены.
DF (DIrection Flag) – признак направления.
Используется в цепочечных операциях для определения направления передачи данных. При нулевом состоянии команда увеличивает содержимое регистров SI и DI, вызывая передачу данных слева направо, при нулевом – уменьшает содержимое этих регистров, вызывая передачу данных справа налево.
OF (Overflow Flag) – признак переполнения.
Фиксирует арифметическое переполнение – перенос вниз старшего (знакового) бита при знаковых арифметических операциях
24. Объяснить состав и основные особенности использования команд организации циклов и неявное использование регистров в них.
Команда простого цикла
Команда LOOP обеспечивает исполнение группы команд, составляющих тело цикла, заданное количество раз. Число, задающее количество повторений цикла, нужно загрузить в регистр CX перед началом цикла. Сама команда помещается в конце цикла. При выполнении она каждый раз уменьшает значение в CX на 1. Если значение CX не равно нулю, она передает управление по адресу, указанному в операнде (на метку). Если значение равно нулю, управление передается следующей очередной команде.
Команды условных циклов
Дополнительно существует две разновидности команды цикла:
1) команда LOOPE (или LOOPZ) – цикл, если равно или нуль; передает управление по адресу операнда, если регистр CX имеет ненулевое значение и признак нуля установлен (ZF=1);
2) команда LOOPNE (или LOOPNZ) – цикл, если не равно или не нуль; передает управление по адресу операнда, если регистр CX имеет ненулевое значение и признак нуля сброшен (ZF=0).
Замечание
Все команды циклов реагируют только на нулевое значение CX. Если значение окажется отрицательным, цикл будет продолжаться.
