
- •10.09.2012 — Лекция №1
- •12.09.2012 — Лекция №2
- •17.09.2012 — Лекция №3
- •23.09.2012 — Лекция №4
- •26.09.2012 — Лекция №5
- •1.10.2012 — Лекция №6
- •08.10.2012 — Лекция №7
- •08.10.2012 — Лекция №8
- •22.10.2012 — Лекция №10
- •24.10.2012 — Лекция №11
- •Команды микропроцессора x086.
- •03.12.2012 — Лекция №19
- •10.12.2012 — Лекция №21
- •17.12.2012 — Лекция №22
- •19.12.2012 — Лекция №23
08.10.2012 — Лекция №7
Информация в ЭВМ может быть представлена в 3х видах:
Коды команд
Числовые данные (хранятся в ЭВМ в двоичном виде, но для удобства представления выводятся в 16ричном виде)
Символьный вид (с помощью двоичного кода закодированы определенные символы). Обычно пока еще используется ASCII стандарт. В UNICODE закодировано 65536 символов, включая 0.
Операции, выполняемые в Ассемблере.
Имеется возможность выполнять простейшие арифметические операции в поле операндов Ассемблера. Во время трансляции исходного текста программы Ассемблер сам выполнит эти действия, и результат подставит вместо операнда в 16ричном коде. Благодаря этому существенно снижается число возможных ошибок.
mov AX, K1+K2/3AH
Если необходимо использовать состояние программного счетчика, используют команду JMP
jmp $+25 – перейти на 25 байт вперед
Псевдокоманды Ассемблера – такие команды, которые реализованы только в языке Ассемблера и не имеют машинных аналогов в ЭВМ. Обычно псевдокоманд бывает до 500 штук, в зависимости от возможности Ассемблера, т.к. псевдокоманды предоставляют определенный сервис (удобства разработчику для работы с языком программирования). Самые необходимые псевдокоманды, без которых необходимо странслировать программу:
st: org 100h – задается начальный адрес трансляции. Каждая программа при трансляции начинается не с 0 адреса, т.к. первые 256 байтов отводятся для заголовка программы и Ассемблер туда вставляет свою служебную информацию. Если псевдокоманда не записана, Ассемблер по умолчанию смотрит эту псевдокоманду (адрес 100h).
End – управляющая команда Ассемблера «конец трансляции». Команда очень удобна для отладки программы. Если эту команду не указать, Ассемблер будет выполнять программу до конца исполняемого файла.
Equ – псевдокоманда присвоения имени константы. Эта псевдокоманда очень удобна для разработки команд на Ассемблере т.к. название константы можно ассоциировать с самой константой, что влечет меньшее количество ошибок. Если константа используется многократно и потребовалось изменить содержимое этой константы, то содержимое этой константы изменится везде автоматически.
Mt – определение байта данных
mt: DB ?,10,0A5h,0,0FFh
Во время трансляций содержимому mt присваивается состояние программного счетчика в данный момент, и, начиная с этого адреса в память записываются указанные через запятую данные. С помощью этой команды вводятся начальные данные (переменные), при чем имя переменной начинается с указанного имени метки. Байт резервируется по этому адресу. …
Mt1: DB 100h dop (?)
Размер данных может быть размером от 0 до FF. При несоблюдении размера во время трансляции Ассемблер выдаст ошибку. Если необходимо ввести число больше, чем 255, имеется другая псевдокоманда, при этом размер данных может быть от 0 до FFFF. Младший байт записывается по младшему адресу.
Mt2: DW 0,0FFFFh,1252
Mt3: DD 0FFFFFFh
Для передачи данных в виде слова в 8-разрядный регистр, необходимо использовать префикс
mov AL, BYTE PTR MT2+2