Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Топ:
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Интересное:
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Дисциплины:
2017-11-17 | 206 |
5.00
из
|
Заказать работу |
|
|
Общий формат команды Ассемблера
[Метка:] Код_операции [Операнд1 [,Операнд2] ] [;Комментарий ]
Адреса памяти в командах м.б. записаны так:
· А
· А[М]
· А[М1] [М2]
Где А – адрес, М – регистр ВХ, ВР, M2 - регистр SI или DI. В случае 2 и 3 компонента А может отсутствовать (т.е. А=0).
Примеры:
Mov Ax, Si
Mov Bh, 5
Mov Di, Size X
Mov X, Ah
Mov X[Bx][Di], 5
Mov [Bx], Cl
Mov Ah, 5
Mov Ax, 5
Mov [Bx], 300
Mov Ds, Ax
Mov Cx, Bh
Mov Dl, 300
Mov [Bx], 5 - Не Определён Тип Операнда
Mov Byte Ptr [Bx], 5
Mov Word Ptr [Bx], 5
X Dw 999
Mov Ah, X
Mov Ah, Byte Ptr X
Mov Ax, 80h
Mov Ax, -128;0ff80h
Mov Ax, 128;0080h
Mov Ax, 80h;0080h
Структура простейшего программного модуля. Сегментирование
Модуль программы на языке ассемблера состоит из сегментов следующих типов:
- сегмент кода
- сегмент данных
- сегмент стека
- расширенный сегмент
Assume CS: Code, DS: Data
Code SEGMENT
org 100h
Start: …;точка входа в программу
Code ENDS
Data Segment
….
Data ENDS
END Start
Dt1 Segment
A Db 0
B Dw?
Dt1 Ends
;
Dt2 Segment
C Db ‘Hallo’
Dt2 Ends
;
Code Segment
Assume Cs:Code, Ds:Dt1, Es:Dt2
Beg: Mov Ax, Dt2
Mov Ds,Ax
Mov Bh, C
…
Code Ends
End Beg
В простейшей программе может быть всего один сегмент - кодовый, тогда необходимо в директиве Assume указать его использование и для адресации данных, а также загрузить в регистр ds его фактический адрес.
Assume CS: Code, DS: Code
Code SEGMENT
org 100h
Start: mov ax,cs
mov ds,ax
…
Функции BIOS
Функции BIOS – это функции, вызываемые по команде INT с номерами в диапазоне от 0 до 20h для обработки различных событий в ЭВМ. Детализация вызываемого сервиса обычно вводится в регистре АН.
Int 10H: Видео сервис
Ниже приведен перечень функций видеосервиса, предоставляемых подпрограммами BIOS. Номер функции определяется значением регистра ah при вызове int 10.
|
Функция | |
00h | Установить видеорежим |
01h | Установить размер и форму курсора |
02h | Установить позицию курсора |
03h | Читать позицию курсора |
04h | Читать световое перо |
05h | Выбрать активную страницу дисплея |
06h | Скроллинг окна вверх (или очистка его) |
07h | Скроллинг окна вниз (или очистка его) |
08h | Читать символ/атрибут |
09h | Вывести символ/атрибут |
0ah | Вывести символ |
0bh | Выбрать палитру/цвет рамки |
0ch | Вывести графическую точку |
0dh | Читать графическую точку |
0fh | Вывести символ в режиме TTY |
10h | Читать видео режим |
Здесь детализированы функции INT 10H стандартного видеосервиса ROM-BIOS.
AH = 00H Установка видеорежима.
Вход: AL = видеорежим
AL | Тип | Формат | Цветов |
текст | 40 х 25 | 16/8 | |
текст | 40 х 25 | 16/8 | |
текст | 80 х 25 | 16/8 | |
текст | 80 х 25 | 16/8 | |
графика | 320 х 200 | ||
графика | 320 х 200 | ||
графика | 640 х 200 | ||
текст | 80 х 25 | ||
0dh | графика | 320 х 200 | |
0eh | графика | 640 х 200 | |
0fh | графика | 640 х 350 |
Функции OS
Функции OS - это функции, выполняемые при вызове прерывания int 21h с обозначением функции в регистре AH и подфункции (если это необходимо) в регистре AL.
Ввод-вывод текстовых данных
Функция 01h: Ввод с клавиатуры
Вход AH = 01h
Выход AL = символ, полученный из устройства стандартного ввода
Описание: Считывает (ожидает) символ со стандартного устройства ввода. Отображает этот символ на стандартное устройство вывода (эхо). При распознавании Ctrl-Break выполняется int 23h.
Замечание: Ввод расширенных клавиш ASCII (F1-F12, PgUp, курсор и т. п.) требует двух обращений к этой функции. Первый вызов возвращает AL = 0. Второй вызов возвращает в AL расширенный код ASCII.
Функция 02h: Вывод на дисплей
Вход AH = 02h
DL = символ, выводимый на устройство стандартного вывода
Описание: Посылает символ из DL на устройство стандартного вывода. Обрабатывает символ Backspace (ASCII 8), перемещая курсор влево на одну позицию и оставляя его в новой позиции. При обнаружении Ctrl-Break выполняется int 23h.
|
Функция 09h: Вывести строку на дисплей
Вход AH = 09h
DS:DX = адрес строки, заканчивающейся символом '$' (ASCII 24h)
Описание: Строка, исключая завершающий ее символ '$', посылается на устройство стандартного вывода. Символы Backspace обрабатываются как в функции 02h. Обычно, чтобы перейти на новую строку, включают в текст пару CR/LF (ASCII 13h и ASCII 0ah).
Завершение программы
Функция 4dh: Дать код возврата программы (WAIT)
Вход AH = 4dh
Выход AL = код возврата последнего завершившегося процесса
AH = 0 - нормальное завершение
АН = 1 - завершение через Ctrl-Break int 23h
АН = 2 - завершение по критической ошибке устройства int 24h
АН = 3 - завершение через функцию 31h KEEP
Описание: Возвращает код возврата последнего из завершившихся процессов. Эта функция возвращает правильную информацию только однажды для каждого завершившегося процесса.
Работа с файлами
Лабораторная работа 1
Лабораторная работа 2
Общий формат команды Ассемблера
[Метка:] Код_операции [Операнд1 [,Операнд2] ] [;Комментарий ]
Адреса памяти в командах м.б. записаны так:
· А
· А[М]
· А[М1] [М2]
Где А – адрес, М – регистр ВХ, ВР, M2 - регистр SI или DI. В случае 2 и 3 компонента А может отсутствовать (т.е. А=0).
Примеры:
Mov Ax, Si
Mov Bh, 5
Mov Di, Size X
Mov X, Ah
Mov X[Bx][Di], 5
Mov [Bx], Cl
Mov Ah, 5
Mov Ax, 5
Mov [Bx], 300
Mov Ds, Ax
Mov Cx, Bh
Mov Dl, 300
Mov [Bx], 5 - Не Определён Тип Операнда
Mov Byte Ptr [Bx], 5
Mov Word Ptr [Bx], 5
X Dw 999
Mov Ah, X
Mov Ah, Byte Ptr X
Mov Ax, 80h
Mov Ax, -128;0ff80h
Mov Ax, 128;0080h
Mov Ax, 80h;0080h
|
|
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!