
- •1.2. Использование отладчика (симулятора) для ассемблерных модулей
- •1.3. Порядок создания программ на Ассемблере с помощью интегрированной среды
- •1.4. Порядок отладки программ на Ассемблере с помощью интегрированной среды
- •1.5. Дополнительные операторы языка Ассемблера для использования интегрированной среды
- •1.6. Задание для домашней подготовки
- •1.7. Лабораторное занятие
- •1.8. Отчет по работе
- •Лабораторная работа №2. "Исследование арифметических и логических операций над двоичными и шестнадцатеричными числами применительно к реализации в микроконтроллерах"
- •1. Логические и арифметические операции
- •2.6. Задание для домашней подготовки
- •1.7. Лабораторное занятие
- •Список рекомендованной литературы
1.5. Дополнительные операторы языка Ассемблера для использования интегрированной среды
Интегрированная среда Uvision2 используется в частности для отладки программ, написанных на языке Ассемблера для ОЭВМ семейства MCS51. Большинство операторов этого языка совпадают с мнемониками команд ОЭВМ, которые приводятся в описании ОЭВМ. Однако для правильной работы компилятора среды необходимо добавлять некоторые операторы, которые называются «невыполняемыми» и которые используются для распределения памяти и переменных.
Программный модуль на ассемблере имеет вид:
NAME <имя модуля>
CSEG AT 0000H
ORG 0000H
;строки текста программы и директивы ассемблеру
*
*
END
Что касается задания имен и меток в программе, то они могут быть любыми, но нужно руководствоваться некоторыми правилами:
они должны начинаться с буквы,
они не должны содержать знаков препинания, но могут содержать символ подчеркивания,
они не должны превышать 6 символов.
они не должны совпадать с зарезервированными именами в языке Ассемблер.
Зарезервированные имена даны именам регистров и битовых переменных ОЭВМ в пространстве спецрегистров (SFR), и их можно использовать прямо в программе, не расшифровывая:
Обозначение регистра или бита |
Альтернативное обозначение |
Назначение регистра или бита |
Регистры специальных функций |
||
ACC |
- |
аккумулятор |
B |
- |
регистр B |
DPH |
- |
старший байт DPTR |
DPL |
|
младший байт DPTR |
IE |
|
маска прерываний |
IP |
|
маска приоритетов прерываний |
P0 |
|
порт 0 |
P1 |
|
порт 1 |
P2 |
|
порт 2 |
P3 |
|
Порт 3 |
PSW |
|
слова состояние |
SBUF |
|
буфер посл. порта |
SCON |
|
настройка посл. порта |
SP |
|
Указатель стека |
TCON |
|
флаги таймеров |
TH0 |
|
старший байт таймер 0 |
TL0 |
|
младший байт таймер 0 |
TH1,TL1 |
|
То же для таймера 1 |
TMOD |
|
настройка таймеров |
Триггеры специальных функций |
||
CY |
PSW.7 |
перенос |
AC |
PSW.6 |
вспомогательный .перенос |
F0 |
PSW.5 |
общий флаг |
RS1 |
PSW.4 |
выбора банка регистров |
RS0 |
PSW.3 |
|
OV |
PSW.2 |
переполнение |
P |
PSW.0 |
четность |
TF1 |
TCON.7 |
переполнение таймера1 |
TR1 |
TCON.6 |
включение таймера1 |
TF0 |
TCON.5 |
переполнение таймера0 |
TR0 |
TCON.4 |
включение таймера0 |
IE1 |
TCON.3 |
наличие прерывания 1 |
IT1 |
TCON.2 |
управление прерыванием 1 |
IE0 |
TCON.1 |
наличие прерывания 0 |
IT0 |
TCON.0 |
управление прерыванием 0 |
SM0 |
SCON.7 |
нулевой триггер управления режимом последовательного порта |
SM1 |
SCON.6 |
управление режимом последовательного порта |
SM2 |
SCON.5 |
|
REN |
SCON.4 |
разрешения приема |
TB8 |
SCON.3 |
передаваемый 8-ой бит данных |
RB8 |
SCON.2 |
принимаемый 8-ой бит данных |
TI |
SCON.1 |
готовность передатчика |
RI |
SCON.0 |
буфер приемника заполнен |
EA |
IE.7 |
маска всех прерываний |
ES |
IE.4 |
маска прерывания от последовательного порта |
ET1 |
IE.3 |
маска прерываний от таймера1 |
ET0 |
IE.1 |
маска прерываний от таймера0 |
EX1 |
IE.2 |
маска прерываний по INT1 |
EX0 |
IE.0 |
маска прерываний по INT0 |
T1 |
P3.5 |
внешний сигнал для таймера 1 или для нужд пользователя |
T0 |
P3.4 |
внешний сигнал для таймера 0 или для нужд пользователя |
INT1 |
P3.3 |
внешний сигнал для системы прерывания 1 или общий сигнал для нужд пользователя |
INT0 |
P3.2 |
внешний сигнал для системы прерывания 1 или общий сигнал для нужд пользователя |