ВУЗ:
Составители:
18
Для МК48 и МК51 используется строго определенный и ограничен-
ный набор мнемонических кодов. Любой другой набор символов, разме-
щенный в поле операции, воспринимается ассемблером как ошибочный.
Операнды. В этом поле определяются операнды (или операнд), уча-
ствующие в операции. Команды ассемблера могут быть без-, одно- или
двухоперандными. Операнды разделяются запятой (,).
Операнд
может быть задан непосредственно или в виде его адреса
(прямого или косвенного). Непосредственный операнд представляется
числом (MOV А, #15) или символическим именем (ADDC А, #OPER2) , c
обязательным указанием префикса непосредственного операнда (#). Пря-
мой адрес операнда может быть задан мнемоническим обозначением (IN
А, Р1), числом (INC 40), символическим именем ( МОV А, MEMORY).
Указанием на косвенную адресацию служит префикс @. В командах
пере-
дачи управления операндом может являться число (LCALL 0135Н), метка
(JMP LABEL), косвенный адрес (JMPP @А) или выражение (JMP ¤ – 2,
где ¤ – текущее содержимое счетчика команд) .
Используемые в качестве операндов символические имена и метки
должны быть определены, а числа представлены с указанием системы
cчисления, для чего используется суффикс (буква, стоящая после числа): В
– для двоичной, Q – для
восьмеричной, D – для десятичной и Н – для ше-
стнадцатеричной. Число без суффикса по умолчанию считается десятич-
ным.
Обработка выражений в процессе трансляции. Ассемблеры МК48
и МК51 допускают использование выражений в поле операндов, значения
которых вычисляются в процессе трансляции.
Выражение представляет собой совокупность символических имен и
чисел, связанных операторами ассемблера. Операторы ассемблера
обеспе-
чивают выполнение арифметических ("+" – сложение, "–" – вычитание, * –
умножение, / – целое деление, MOD – деление по модулю) и логических
(OR – ИЛИ, AND – И, XOR – исключающее ИЛИ, NOT – отрицание) опе-
раций в формате 2-байтных слов.
Например, запись ADD А, #((NOT 13) + 1) эквивалентна записи
ADD А, #0FЗН и обеспечивает сложение содержимого аккумулятора с
числом – 13, представленным в дополнительном коде.
Широко используются также операторы LOW и HIGH, позволяющие
выделить
младший и старший байты 2-байтного операнда.
Комментарий. Поле комментария может быть использовано про-
граммистом для текстового или символьного пояснения логической орга-
низации прикладной программы. Поле комментария полностью игнориру-
ется ассемблером, а потому в нем допустимо использовать любые симво-
Для МК48 и МК51 используется строго определенный и ограничен- ный набор мнемонических кодов. Любой другой набор символов, разме- щенный в поле операции, воспринимается ассемблером как ошибочный. Операнды. В этом поле определяются операнды (или операнд), уча- ствующие в операции. Команды ассемблера могут быть без-, одно- или двухоперандными. Операнды разделяются запятой (,). Операнд может быть задан непосредственно или в виде его адреса (прямого или косвенного). Непосредственный операнд представляется числом (MOV А, #15) или символическим именем (ADDC А, #OPER2) , c обязательным указанием префикса непосредственного операнда (#). Пря- мой адрес операнда может быть задан мнемоническим обозначением (IN А, Р1), числом (INC 40), символическим именем ( МОV А, MEMORY). Указанием на косвенную адресацию служит префикс @. В командах пере- дачи управления операндом может являться число (LCALL 0135Н), метка (JMP LABEL), косвенный адрес (JMPP @А) или выражение (JMP ¤ – 2, где ¤ – текущее содержимое счетчика команд) . Используемые в качестве операндов символические имена и метки должны быть определены, а числа представлены с указанием системы cчисления, для чего используется суффикс (буква, стоящая после числа): В – для двоичной, Q – для восьмеричной, D – для десятичной и Н – для ше- стнадцатеричной. Число без суффикса по умолчанию считается десятич- ным. Обработка выражений в процессе трансляции. Ассемблеры МК48 и МК51 допускают использование выражений в поле операндов, значения которых вычисляются в процессе трансляции. Выражение представляет собой совокупность символических имен и чисел, связанных операторами ассемблера. Операторы ассемблера обеспе- чивают выполнение арифметических ("+" – сложение, "–" – вычитание, * – умножение, / – целое деление, MOD – деление по модулю) и логических (OR – ИЛИ, AND – И, XOR – исключающее ИЛИ, NOT – отрицание) опе- раций в формате 2-байтных слов. Например, запись ADD А, #((NOT 13) + 1) эквивалентна записи ADD А, #0FЗН и обеспечивает сложение содержимого аккумулятора с числом – 13, представленным в дополнительном коде. Широко используются также операторы LOW и HIGH, позволяющие выделить младший и старший байты 2-байтного операнда. Комментарий. Поле комментария может быть использовано про- граммистом для текстового или символьного пояснения логической орга- низации прикладной программы. Поле комментария полностью игнориру- ется ассемблером, а потому в нем допустимо использовать любые симво- 18
Страницы
- « первая
- ‹ предыдущая
- …
- 16
- 17
- 18
- 19
- 20
- …
- следующая ›
- последняя »