Общий формат команды Ассемблера — КиберПедия 

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Общий формат команды Ассемблера

2017-11-17 206
Общий формат команды Ассемблера 0.00 из 5.00 0 оценок
Заказать работу

Общий формат команды Ассемблера

 

[Метка:] Код_операции [Операнд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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.015 с.