- •Охарактеризовать язык программирования низкого уровня и его особенности
- •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. Объяснить их назначение и использование.
40)Описать принципы использования прерывания бсвв int 10h для установки курсора.
Функция 02h. Установка позиции курсора.
Задаёт положение курсора на экране в текстовых координатах, с которых в дальнейшем будет выводиться текст. Отсчёт номера строки и столбца ведётся от верхнего левого угла. Курсор можно установить как в текстовом, так и в графическом режиме, однако, в графическом режиме курсор не виден. BIOS поддерживает до восьми независимых курсоров – по одному на каждую страницу (см. табл. 2) независимо от того, какая страница является активной. Функцию 02hBIOS можно использовать в комбинации с функциями DOS для организации вывода на экран.
Вызов: AH = 02h; BH = номер страницы (0,1,...7),обычно 0;
DH = строка; DL = столбец.
Вызов разрушает регистры AX, BP, SI и DI.
41)Описать принципы использования прерывания бсвв int 10h для очистки экрана.
Функция 00h. Установка видеорежима (таблица 2) текущей видеостраницы с очисткой экрана(быстрая очистка экрана реализуется функцией 06h и 07h).
Вызов: AH = 00h,
Al = видеорежим (код режима задаётся в младших 7 битах, установка в 1 старшего бита запрещает очистку экрана).
Вызов разрушает регистры AX, BP, SI, и DI.
42)Описать принципы использования прерывания бсвв int 13h, описать его основные функции и выполняемые операции.
Int 13h: Дисковый ввод-вывод.
Прерывание Int 13h, функция 01 h: определить текущее состояние дисковой системы
Функция возвращает код завершения последней операции, выполненной на указанном дисководе.
Перед вызовом прерывания требуется записать в регистры следующие значения:
• в АН — значение Olh;
• в DL — номер дисковода (0Qh-7Fh — гибкий диск, 80h—FFh — жесткий диск).
После завершения операции функция возвращает в регистре АН состояние дисковой системы.
Прерывание Int 13h, функция 02h: читать сектор
Функция выполняет операцию считывания в заданную область оперативной памяти информации из одного или нескольких секторов диска.
ПРИМЕЧАНИЕ
При использовании жестких дисков старшие два бита 10-разрядного номера цилиндра помещаются в старшие два бита регистра CL.
Перед вызовом прерывания требуется записать в регистры следующие значения:
• в АН — значение 02h;
• в AL — число считываемых секторов (должно быть больше 0);
[1]в СН — номер цилиндра;
• в CL — номер начального сектора;
• в DH — номер головки;
• в DL — номер дисковода (00h-7Fh — гибкий диск, 80h-FFh — жесткий диск);
• в ES ВХ — указатель на адрес буфера, в который производится считывание информации.
После завершения операции функция возвращает в регистре АН состояние дисковой системы. В случае успешного завершения операции будет возвращена следующая информация:
• в AL — число прочитанных секторов;
• в буфере — прочитанная с диска информация.
Прерывание Int 13h, функция 03h: записать сектор
Функция переписывает данные из заданной области оперативной памяти в один или несколько указанных секторов диска. Перед вызовом прерывания требуется записать в регистры следующие значения:
• в АН — значение 03h;
• в AL — число записываемых секторов (должно быть больше 0);
• в СН — номер цилиндра;
• в CL — номер начального сектора;
• в DH — номер головки;
• в DL — номер дисковода (00h-7Fh — гибкий диск, BOh-FFh — жесткий диск);
• в ES • ВХ — указатель на адрес буфера, из которого производится считывание информации.
Прерывание Int 13h, функция 04h: проверить правильность записи
Функция предназначена для контроля правильности выполнения записи данных на диск путем считывания данных и проверки контрольного кода CRC.
Перед вызовом прерывания требуется записать в регистры следующие значения:
• в АН — значение 04h;
• в AL — число проверяемых секторов (должно быть больше 0);
• в СН — номер цилиндра;
• в CL — номер начального сектора;
• в DH — номер головки;
• в DL — номер дисковода (00h-7Fh — гибкий диск, 80h-FFh — жесткий диск);
• в ES: ВХ — указатель на адрес буфера, в который производится считывание информации.
функция 05h: форматировать дорожку гибкого диска
Функция предназначена для форматирования дорожек, то есть подготовки поверхности диска к выполнению операций чтения/записи данных.
Перед вызовом прерывания требуется записать в регистры следующие значения:
• в АН — значение 05h;
• в СН — номер цилиндра (дорожки);
• в DH — номер головки;
• в DL — номер дисковода (00h-7Fh);
• в ES: ВХ — указатель на адрес буфера, в котором содержится список адресных полей. Список состоит из 4-байтных элементов (формат которых описан в табл. 6.12) — по одному элементу на каждый создаваемый сектор. После завершения операции функция возвращает в регистре АН состояние дисковой системы.
функция 08h: получить параметры дисковода
Функция предназначена для определения параметров дисководов. Перед вызовом прерывания требуется записать в регистры следующие значения:
• в АН — значение 08h;
• в DL — номер дисковода (00h-7Fh — гибкий диск, 80h-FFh — жесткий диск).
После завершения операции функция возвращает в регистре АН состояние дисковой системы.
В случае успешного завершения операции функция возвращает в регистрах следующую информацию:
• в BL — код типа дисковода (код выдается только для гибких дисков, возможные значения кода описаны в табл. 6.13);
• в СН — младшие 8 разрядов максимального номера цилиндра;
• в CL — максимальный номер сектора (разряды 0-5) и два старших бита максимального номера цилиндра (разряды 6-7);
• в DH — максимальный номер головки;
• в DL — общее число дисководов в системе;
• в ES: DI — указатель на таблицу параметров гибкого диска (выдается только для гибких дисков).
Таблица 6.13. Значения кодов типа дисковода
Код |
Тип дисковода |
1 |
5,25", 360 Кбайт, 40 дорожек |
2 |
5,25", 1,2 Мбайт, 80 дорожек |
3 |
3,5", 720 Кбайт, 80 дорожек |
4 |
3,5", 1,44 Мбайт, 80 дорожек |
функция ODh: i сброс контроллера жесткого диска
Функция выполняет инициализацию контроллера жесткого диска, не затрагивая (в отличие от функции OOh) контроллер гибких дисков. Головки заданного дисковода перемещаются при этом на нулевую дорожку.
Перед вызовом прерывания требуется записать в регистры следующие значения:
• в АН — значение ODh;
• в DL — номер жесткого диска (80h-FFh).
После завершения операции функция возвращает в регистре АН состояние дисковой системы.
Вызывать данную функцию следует при возникновении ошибок в работе контроллера (см. табл. 6.11 кодов состояния системы).
Прерывание Int 13h, функция 10h: проверить готовность жесткого диска к работе
Функция определяет готовность диска к выполнению операций ввода-вывода.
Перед вызовом прерывания требуется записать в регистры следующие значения:
• в АН — значение 10h;
• в DL — номер жесткого диска (80h-FFh).
После завершения операции функция возвращает в регистре АН состояние дисковой системы.
Прерывание Int 13h, функция 11 h: рекалибровка жесткого диска
Функция выполняет перемещение головок заданного дисковода на нулевую дорожку.
Перед вызовом прерывания требуется записать в регистры следующие значения:
• в АН — значение llh;
• в DL — номер жесткого диска (80h-FFh).
После завершения операции функция возвращает в регистре АН состояние дисковой системы.
Вызывать данную функцию следует в случае возникновении сбоев в работе диска (см. табл. 6.11).
Прерывание Int 13h, функция 16h: проконтролировать смену гибкого диска
Функция предназначена для обеспечения целостности данных на диске, то есть для защиты прикладной программы от внезапной смены пользователем гибкого диска. В дисковых дупликаторах (специальных программах, предназначенных для копирования гибких дисков) и инсталляторах (программах, обеспечивающих установку на компьютер прикладных пакетов) данная функция, наоборот, обеспечивает замену уже использованного гибкого диска на следующий. Перед вызовом прерывания требуется записать в регистры следующие значения:
• в АН — значение 16h;
• в DL — номер дисковода гибких дисков (00h-7Fh).
После завершения операции функция возвращает в регистре АН результат проверки (значение 0 — диск не менялся, значение 06h — диск был заменен).
Прерывание Int 13h, функция 18h: установить тип носителя для форматирования
Функция позволяет установить основные параметры, используемые при форматировании диска. Эту функцию необходимо вызвать перед началом работы с функцией 05h, чтобы система BIOS могла установить корректное значение скорости передачи данных для используемого дисковода.
Перед вызовом прерывания требуется записать в регистры следующие значения:
• в АН — значение 18h;
• в СН — число цилиндров;
• в CL — число секторов на дорожке;
• в 0L — номер дисковода (00h-7Fh).
После завершения операции функция возвращает в регистре АН состояние дисковой системы.
В случае успешного завершения операции функция возвращает в ES:DI указатель на таблицу параметров гибкого диск
