Программная модель 32-разядной МЭВМ фирмы MotorolaРефераты >> Программирование и компьютеры >> Программная модель 32-разядной МЭВМ фирмы Motorola
В зависимости от режима при выполнении программ разрешается доступ ко всем ресурсам микроконтроллера или их части. В режиме супервизора разрешается выполнение любых команд, реализуемых процессором, и доступ ко всем регистрам. В режиме пользователя запрещается выполнение ряда команд и доступ к некоторым регистрам, чтобы ограничить возможности таких изменений состояния системы, которые могут помешать выполнению других программ или нарушить установленный супервизором режим работы процессора. Режим функционирования определяется значением бита S в регистре состояния процессора SR.
МП МС68300 имеет 32-битовую внутреннюю структуру и поэтому может выполнять арифметические и логические операции над 32-разрядными числами.
Технические средства МП 68300, используемые для программирования, показаны на рис. Регистры общего назначения объединены в два набора - регистры данных (D0-D7) и адресные регистры (A0-A7).
Регистры данных:
31 16 15 8 7 0
D0 | ||||
D1 | ||||
D2 | ||||
D3 | ||||
D4 | ||||
D5 | ||||
D6 | ||||
D7 |
Регистры адреса:
31 16 15 8 7 0
A0 | ||||
A1 | ||||
A2 | ||||
A3 | ||||
A4 | ||||
A5 | ||||
A6 |
Два указателя стека:
31 0
Указатель стека пользователя |
USP |
Указатель стека супервизора |
SSP |
Программный счётчик:
31 0
PC |
Регистр состояния:
15 8 7 0
CCR |
SR |
Регистры данных Dn
В МП МС68300 программно доступны восемь регистров данных, обозначенных D0-D7. Каждый из них может быть использован как источник операнда, приемник операнда или как сам операнд. Регистром данных можно оперировать как байтом (8 бит), словом (16 бит) или длинным словом (32 бита). При битовых операциях используются только младшие 8 бит, а при операциях со словами-младшие 16 бит. Старшие биты в этих операциях не участвуют.
Регистры адреса Аn
Регистры адреса главным образом используются для получения адреса операнда выполняемой команды. Большая часть операций манипулирования данными не может выполняться с помощью адресных регистров. В адресных регистрах операции с байтами не разрешены.
Как показано на рисунке в набор регистров входят девять регистров адреса, два из которых используются как указатели стека: указатель стека супервизора (SSP-Supervisor Stack Pointer) и пользовательский указатель стека (USP-User Stack Pointer). Естественно, что в каждый момент времени процессор имеет доступ только к одному из регистров стека в зависимости от режима, в котором находится процессор. Таким образом адресный регистр А7 физически представляет собой два независимых регистра. В программах на ассемблере он может указываться как A7 и как SP. Процессор автоматически формирует указатель стека при вызове подпрограмм и возврате из них, а также при обработке прерываний.
Программный счетчик РС (Program Counter)
Как и любой другой МП, МС68300 имеет в своем наборе регистров программный счетчик РС.
После выборки команды из памяти программный счетчик всегда указывает на следующую выполняемую команду. В отличие от регистров общего назначения он не может быть явно определен как операнд ни в какой из команд, исключение составляет использование РС в качестве базового регистра в командах с индексной адресацией. При выполнении команд переходов в РС загружается адрес новой команды, которой передается управление. Для всех остальных команд значение РС увеличивается на длину выполняемой команды.