RSS    

   Реферат: Бакалаврская работа. Программная модель 32-разядной МЭВМ фирмы Motorola

При включении микроконтроллера происходит автоматическая установка начального состояния регистров. В регистре SR устанавливается значение бита S=1, и процессор начинает работать в режиме супервизора. Из памяти загружаются начальные значения содержимого программного счетчика PC и указателя стека. Если в процессе дальнейшей работы потребуется перевод процессора в режим пользователя, то с помощью команды MOVE to SR в регистр SR загружается новое содержимое, в котором бит S=0. Обратный перевод в режим супервизора производится при обслуживании запросов прерывания или возникновении исключительных ситуаций, а также в процессе установки процессора в начальное состояние (повторный запуск) при поступлении внешнего сигнала сброса или команды RESET.

Регистры VBR, SFC, DFC доступны только в режиме супервизора. В 32-разрядный регистр VBR заносится базовый адрес таблицы векторов исключений. Загрузка этого регистра производится командой MOVEC. При обслуживании исключений формируемое процессором значение Av=4Ne является относительным адресом (смещением), определяющим положение выбираемого вектора в таблице, которая может быть размещена в любом месте адресного пространства. В 3-разрядные регистры SFC,DFC с помощью команды MOVEC заносится код адресного пространства, который поступает на выводы FC2-0 микроконтроллера при выполнении команды MOVES. Таким образом обеспечивается расширение адресного пространства с помощью организации виртуальной памяти

Форматы данных

Процессор выполняет обработку битов, байтов, 16-разрядных слов, 32-разрядных длинных слов и двоично-десятичных чисел (1 байт = 2 десятичных разряда). Обрабатываемые данные - операнды могут располагаться в регистрах (данных или адреса) или оперативной памяти. Для выборки слова (байты B1-0) или длинного слова (байты B3-0) команда задает адрес старшего байта N, четный или кратный четырем. При этом слова и длинные слова размещаются таким образом, что младшие байты (разряды D7-0 данных) располагаются в ячейках памяти с большими адресами: N+1 или N=3 (рис.3.3). Такое размещение байтов в памяти от старшего к младшему соответствует естественному порядку их написания слева - направо. Этот порядок адресации байтов называется в зарубежной литературе "big-endian". Он отличается от порядка "little-endian", принятого компанией INTEL и рядом других производителей, когда размещение слова начинается с младшего байта, адрес которого служит адресом слова.

МП МС86300 имеет возможность доступа в памяти к байту (8 бит), слову (16 бит) и длинному слову  (32 бита).  В отличие от МП фирмы Intel (8086, 80286, 80386, 80486) в МП 68300 приняты следующие соглашения:

      слова (длинные слова) могут размещаться только по четным адресам;

      старшие байты слова (двойного слова) располагаются в ячейках с меньшими адресами;

      адресом слова (двойного слова) считается его старший байт.

Таким образом, в соответствии с концепцией, принятой фирмой Моторола, слово размещается в памяти в двух соседних ячейках и начинается со старшего байта. Это означает, что при чтении слова, размещенного по адресу Х МС68300 считывает два соседних байта, причем байт по адресу Х интерпретируется как старший, а байт по адресу Х+1 как младший.  Соответственно, длинное слово размещается в четырех смежных ячейках памяти, причем старший байт длинного слова находится по меньшему адресу.

Способы адресации

  Процессор CPU32 реализует следующие способы адресации операндов:

  • регистровая (операнд в регистре данных или адреса),
  • косвенно-регистровая (операнд в ячейке памяти, адресуемой содержимым регистра адреса),
  • косвенно-регистровая с постинкрементом (операнд в ячейке памяти, адресуемой содержимым регистра адреса, которое автоматически увеличивается после выборки операнда для адресации следующей ячейки),
  • косвенно-регистровая с предекрементом (операнд в ячейке памяти, адресуемой содержимым регистра адреса, которое автоматически уменьшается перед выборкой операнда для адресации предыдущей ячейки),
  • косвенно-регистровая со смещением (операнд в ячейке памяти, адрес которой является суммой содержимого регистра адреса и 16-разрядного смещения d16, заданного в команде),
  • косвенно-регистровая с индексированием (операнд в ячейке памяти, адрес которой является суммой содержимого регистра адреса, индексного регистра и данного в команде 8-разрядного смещения d8),
  • прямая (операнд в ячейке памяти, адрес которой задается числом Abs, указанным в команде),
  • относительная (операнд в ячейке памяти, адрес которой является суммой текущего содержимого программного счетчика PC и данного в команде 16-разрядного смещения d16 или базового смещения bd),
  • относительная с индексированием (операнд в ячейке памяти, адрес которой является суммой содержимого программного счетчика PC, индексного регистра и данного в команде 16-разрядного смещения d16 или 32-разрядного базового смещения bd),
  • непосредственная (значение операнда Im дано в команде).

 

 

 

Форматы команд

Команды процессора МС68300 могут содержать от одного до пяти слов. Любая команда всегда расположена по четному адресу. Формат команды в общем виде показан на рисунке 1:

Командное слово

(первое слово, определяющее операцию и способ адресации)

Непосредственный операнд

(одно или два слова)

Эффективный адрес источника

(одно или два слова)

Смещение

(одно или два слова)

Рисунок 1.

Система команд CPU32

Процессор CPU32 выполняет набор из 139 команд, которые реализуют следующие группы операций:

  • операции пересылки,
  • арифметические операции,
  • логические операции,
  • операции сдвига,
  • операции сравнения и тестирования,
  • битовые операции,
  • операции управления;
  • операции условной установки байтов.

Таблица1 - Набор команд процессора CPU32

Синтаксис ассемблера

Разрядность

Операция

Адресация

ADD Dn, <EA> B, W, L <dst> + Dn -> <dst> 1,(3-9,13)
ADD <EA> , Dn B, W, L Dn+ <src> - Dn (1-14),1
ADDA <EA>, An W, L <dst> + An -> An (1-14),2
ADDI # Im, <EA> B, W, L <dst> + Im -> <dst> 12,(1,3-9,13)
ADDQ # Im, <EA> B, W, L <dst> + Im -> <dst> 12,(1-9,13)
ADDX Dy, Dx B, W, L Dx + Dy + X -> Dx 1,1
ADDX - (Ay),- (Ax) B, W, L <dst> + <src> + X -> <dst> 5,5
SUB Dn, <EA> B, W, L <dst> - Dn -> <dst> 1,(3-9,13)
SUB <EA>, Dn B, W, L Dn+ <src> -> <dst> (1-14),1
SUBA <EA>,An W, L An- <src> -> An (1-14),2
SUBI # Im, <EA> B, W, L <dst> - Im -> <dst> 12,(1,3-9,13)
SUBQ # Im, <EA> B, W, L <dst> - Im -> <dst> 12,(1-9,13)
SUBX Dy, Dx B, W, L Dx - Dy - X -> <dst> 1,1
SUBX - (Ay), - (Ax) B, W, L <dst> - <src> - X -> <dst> 5,5
NEG <EA> B, W, L O - <dst> -> <dst> (1,3-9,13)
NEGX <EA> B, W, L O - <dst> - X -> <dst> (1,3-9,13)
ABCD Dy, Dx W Dx + Dy + X -> Dx 1,1
ABCD - (Ay), - (Ax) W <dst> + <src> + X -> <dst> 5,5
SBCD Dy, Dx W Dx- Dy - X -> Dx 1,1
SBCD - (Ay), - (Ax) W <dst> - <src> - X -> <dst> 5,5
NBCD <EA> W O - <dst> - X -> <dst> (1,3-9,13)
MULS <EA>, Dn W, L Dn * <src> -> Dn (1,3-14),1
MULS.L <EA>, Dh-Dl L Dn * <src> -> Dn (1,3-14),1
MULU <EA>, Dn W, L Dn * <src> -> Dn (1,3-14),1
MULU.L <EA>, Dh-Dl L Dl * <src> -> Dh:Dl (1,3-14),1
DIVS <EA>, Dn W, L Dn / <src> -> Dn (1,3-14),1
DIVS.L <EA>, Dr:Dq L Dr:Dq / <src> -> Dr:Dq (1,3-14),1
DIVSL.L <EA>, Dr:Dq L Dq / <src> -> Dr:Dq (1,3-14),1
DIVU <EA>, Dn W Dn / <src> -> Dn (1,3-14),1
DIVU.L <EA>, Dr:Dq L Dr:Dq / <src> -> Dr:Dq (1,3-14),1
DIVUL.L <EA>, Dr:Dq L Dq / <src> -> Dr:Dq (1,3-14),1
CLR <EA> B,W,L 0 -> <dst> (1,3-9,13)

Таблица2 - Команды логических операций

Синтаксис ассемблера

Разрядность

Операции

Адресация

AND <EA>, Dn B, W, L Dn ^ <src> -> Dn (1, 3 - 14), 1
AND Dn, <EA> B, W, L <dst> ^ Dn -> <dst> 1, (1,3 - 9,13)
ANDI # Im, <EA> B, W, L <dst> ^ Im -> <dst> 12, (1, 3 - 9,13)
ANDI # Im, CCR W CCR ^ Im -> CCR 12, -
ANDI # Im, SR W SR ^ Im -> SR 12, -
OR <EA>, Dn B, W, L Dn <src> -> Dn (1, 3 - 14), 1
OR Dn, <EA> B, W, L <dst> Dn -> <dst> 1, (1,3 - 9,13)
ORI # Im, <EA> B, W, L <dst> Im -> <dst> 12, (1, 3 - 9,13)
ORI # Im, CCR W CCR Im -> CCR 12, -
ORI # Im, SR W SR Im -> SR 12, -
EOR Dn, <EA> B, W, L <dst> + Dn -> <dst> 1, (1, 3 - 9,13)
EORI # Im, <EA> B, W, L dst> + Im -> <dst> 12, (1, 3 - 9,13)
EORI # Im, CCR W CCR + Im -> CCR 12, -
EORI # Im, SR W SR + Im -> SR 12, -
NOT B, W, L <dst> -> <dst> (1, 3 - 9.13)

Страницы: 1, 2, 3, 4, 5, 6


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.