Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция - red 25.12.12.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
156.67 Кб
Скачать

08.10.2012 — Лекция №7

Информация в ЭВМ может быть представлена в 3х видах:

  1. Коды команд

  2. Числовые данные (хранятся в ЭВМ в двоичном виде, но для удобства представления выводятся в 16ричном виде)

  3. Символьный вид (с помощью двоичного кода закодированы определенные символы). Обычно пока еще используется 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