44579 (Бакалаврская работа. Программная модель 32-разядной МЭВМ фирмы Motorola), страница 2

2016-07-31СтудИзба

Описание файла

Документ из архива "Бакалаврская работа. Программная модель 32-разядной МЭВМ фирмы Motorola", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "44579"

Текст 2 страницы из документа "44579"

В МП МС68300 программно доступны восемь регистров данных, обозначенных D0-D7. Каждый из них может быть использован как источник операнда, приемник операнда или как сам операнд. Регистром данных можно оперировать как байтом (8 бит), словом (16 бит) или длинным словом (32 бита). При битовых операциях используются только младшие 8 бит, а при операциях со словами-младшие 16 бит. Старшие биты в этих операциях не участвуют.

Регистры адреса Аn

Регистры адреса главным образом используются для получения адреса операнда выполняемой команды. Большая часть операций манипулирования данными не может выполняться с помощью адресных регистров. В адресных регистрах операции с байтами не разрешены.

Как показано на рисунке в набор регистров входят девять регистров адреса, два из которых используются как указатели стека: указатель стека супервизора (SSP-Supervisor Stack Pointer) и пользовательский указатель стека (USP-User Stack Pointer). Естественно, что в каждый момент времени процессор имеет доступ только к одному из регистров стека в зависимости от режима, в котором находится процессор. Таким образом адресный регистр А7 физически представляет собой два независимых регистра. В программах на ассемблере он может указываться как A7 и как SP. Процессор автоматически формирует указатель стека при вызове подпрограмм и возврате из них, а также при обработке прерываний.

Программный счетчик РС (Program Counter)

Как и любой другой МП, МС68300 имеет в своем наборе регистров программный счетчик РС.

После выборки команды из памяти программный счетчик всегда указывает на следующую выполняемую команду. В отличие от регистров общего назначения он не может быть явно определен как операнд ни в какой из команд, исключение составляет использование РС в качестве базового регистра в командах с индексной адресацией. При выполнении команд переходов в РС загружается адрес новой команды, которой передается управление. Для всех остальных команд значение РС увеличивается на длину выполняемой команды.

Несмотря на то, что счетчик команд и адресные регистры MC68300 32-разрядные, при обращениях к памяти на внешнюю адресную шину передаются только 24 младших бита адреса. По этой причине обеспечивается доступ только к 224 (16M) байт памяти. Модификации процессора МС68020, МС68030 и 68040 имеют 32-разрядную адресную шину и способны адресовать 4Г байт.

15  14

13

12  11

10  8

7  5

4

3

2

1

0

T1-0

S

0  0

I2-0

0  0  0

X

N

Z

V

C

 

 

 

 

 

 

 

 

 

 

CCR

    Регистр состояния SR содержит два байта: системный байт и байт пользователя. Полностью регистр SR доступен только в режиме супервизора. В режиме пользователя доступны только младшие разряды (байт пользователя), которые образуют регистр условий CCR. Отдельные биты регистра CCR имеют следующее назначение:
    С - признак переноса, принимает значение C=1 при возникновении переноса из старшего разряда обрабатываемых операндов;
    V - признак переполнения, принимает значение V=1 в случае переполнения разрядной сетки при обработке операндов со знаком;
    Z - признак нуля, принимает значение Z=1 при получении нулевого результата операции;
    N - признак знака, принимает значение старшего (знакового) разряда результата операции: N=0 - положительное число, N=1 -отрицательное;
    X - признак расширения, в большинстве случаев копирует признак С, но при выполнении некоторых операций эти признаки устанавливаются по-разному.
    Биты системного байта регистра состояния SR, определяющие режимы функционирования процессора, имеют следующее назначение:
    S-признак супервизора, при S=0 процессор работает в режиме пользователя, при S=1 - в режиме супервизора;
    T1-0 - поле режима трассировки (пошаговый режим): при T1=1 процессор останавливается после каждой команды, при T0=1 - только после команд переходов и ветвлений, меняющих ход программы;
    I2-0 - поле маски прерываний, определяет минимальный уровень приоритета для обслуживания запросов прерывания. Остальные биты регистра SR не используются или резервированы для последующих моделей процессоров.

При включении микроконтроллера происходит автоматическая установка начального состояния регистров. В регистре 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,

B, W, L

+ Dn ->

1,(3-9,13)

ADD , Dn

B, W, L

Dn+ - Dn

(1-14),1

ADDA , An

W, L

+ An -> An

(1-14),2

ADDI # Im,

B, W, L

+ Im ->

12,(1,3-9,13)

ADDQ # Im,

B, W, L

+ Im ->

12,(1-9,13)

ADDX Dy, Dx

B, W, L

Dx + Dy + X -> Dx

1,1

ADDX - (Ay),- (Ax)

B, W, L

+ + X ->

5,5

SUB Dn,

B, W, L

- Dn ->

1,(3-9,13)

SUB , Dn

B, W, L

Dn+ ->

(1-14),1

SUBA ,An

W, L

An- -> An

(1-14),2

SUBI # Im,

B, W, L

- Im ->

12,(1,3-9,13)

SUBQ # Im,

B, W, L

- Im ->

12,(1-9,13)

SUBX Dy, Dx

B, W, L

Dx - Dy - X ->

1,1

SUBX - (Ay), - (Ax)

B, W, L

- - X ->

5,5

NEG

B, W, L

O - ->

(1,3-9,13)

NEGX

B, W, L

O - - X ->

(1,3-9,13)

ABCD Dy, Dx

W

Dx + Dy + X -> Dx

1,1

ABCD - (Ay), - (Ax)

W

+ + X ->

5,5

SBCD Dy, Dx

W

Dx- Dy - X -> Dx

1,1

SBCD - (Ay), - (Ax)

W

- - X ->

5,5

NBCD

W

O - - X ->

(1,3-9,13)

MULS , Dn

W, L

Dn * -> Dn

(1,3-14),1

MULS.L , Dh-Dl

L

Dn * -> Dn

(1,3-14),1

MULU , Dn

W, L

Dn * -> Dn

(1,3-14),1

MULU.L , Dh-Dl

L

Dl * -> Dh:Dl

(1,3-14),1

DIVS , Dn

W, L

Dn / -> Dn

(1,3-14),1

DIVS.L , Dr:Dq

L

Dr:Dq / -> Dr:Dq

(1,3-14),1

DIVSL.L , Dr:Dq

L

Dq / -> Dr:Dq

(1,3-14),1

DIVU , Dn

W

Dn / -> Dn

(1,3-14),1

DIVU.L , Dr:Dq

L

Dr:Dq / -> Dr:Dq

(1,3-14),1

DIVUL.L , Dr:Dq

L

Dq / -> Dr:Dq

(1,3-14),1

CLR

B,W,L

0 ->

(1,3-9,13)

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

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

Разрядность

Операции

Адресация

AND , Dn

B, W, L

Dn ^ -> Dn

(1, 3 - 14), 1

AND Dn,

B, W, L

^ Dn ->

1, (1,3 - 9,13)

ANDI # Im,

B, W, L

^ Im ->

12, (1, 3 - 9,13)

ANDI # Im, CCR

W

CCR ^ Im -> CCR

12, -

ANDI # Im, SR

W

SR ^ Im -> SR

12, -

OR , Dn

B, W, L

Dn -> Dn

(1, 3 - 14), 1

OR Dn,

B, W, L

Dn ->

1, (1,3 - 9,13)

ORI # Im,

B, W, L

Im ->

12, (1, 3 - 9,13)

ORI # Im, CCR

W

CCR Im -> CCR

12, -

ORI # Im, SR

W

SR Im -> SR

12, -

EOR Dn,

B, W, L

+ Dn ->

1, (1, 3 - 9,13)

EORI # Im,

B, W, L

dst> + Im ->

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

->

(1, 3 - 9.13)

Таблица3 - Команды сдвигов

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

Разрядность

Адресация

ASL Dx, Dv

B, W, L

1, 1

ASL # Ns, Dv

B, W, L

12, 1

ASL

W

(3 - 9,13)

ASR Dx, Dv

B, W, L

1,1

ASR # Ns, Dv

B, W, L

12,1

ASR

W

(3 - 9,13)

LSL Dx, Dv

B, W, L

1,1

LSL # Ns, Dv

B, W, L

12,1

LSL

W

(3 - 9,13)

LSR Dx, Dv

B, W, L

1,1

LSR # Ns, Dv

B, W, L

12,1

LSR

W

(3 - 9,13)

ROL Dx, Dv

B, W, L

1,1

ROL # Ns, Dv

B, W, L

12,1

ROL

W

(3 - 9,13)

ROR Dx, Dv

B, W, L

1,1

ROR # Ns, Dv

B, W, L

12,1

ROR

W

(3 - 9,13)

ROXL Dx, Dv

B, W, L

1,1

ROXL # Ns, Dv

B, W, L

12,1

ROXL

W

(3 - 9,13)

ROXR Dx, Dv

B, W, L

1,1

ROXR # Ns, Dv

B, W, L

12,1

ROXR

W

(3 - 9,13)

Таблица4 - Команды сравнения и тестирования.

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

Разрядность

Операции

Адресация

СMP , Dn

B, W, L

Dn -

(1 - 14), 1

СMP , An

W, L

An -

(1 - 14), 2

CMPI # Im,

B, W, L

- Im

12, (1, 3 - 11,13,14)

CMPM (Av) +,(Ax) +

B, W, L

-

4,4

CMP2 , Rn

B, W, L

(Rn)UB

(3,6-11,13,14), (1,2)

TST

B, W, L

- 0

(1, 3 – 9,13)

TAS

B

- 0, 1 -> b7

(1, 3 - 14)

Таблица 5 - Команды битовых операций.

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

Разрядность

Операции

Адресация

BTST Dn,

B, L

bn -> Z

1, (1, 3 - 14)

BTST # Nb,

B, L

bn -> Z

12, (1, 3 - 14)

BSET Dn,

B, L

bn -> Z, 1 -> bn

1, (1, 3 - 9,13,14)

BSET # Nb,

B, L

bn -> Z, 1 -> bn

12, (1, 3 - 9,13,14)

BCLR Dn,

B, L

bn -> Z, 0 -> bn

1, (1, 3 - 9,13,14)

BCLR # Nb,

B, L

bn -> Z, 0 -> bn

12, (1, 3 - 9,13,14)

BCHG Dn,

B, L

bn -> Z, bn -> bn

1, (1, 3 - 9,13,14)

BCHG # Nb,

B, L

bn -> Z, bn -> bn

12, (1, 3 - 9,13,14)

Таблица 6 - Команды управления и установки байтов.

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

Операции

Адресация

JMP

-> PC

(3, 6 - 11,13,14)

JSR

SP - 4 -> SP, PC -> (SP), -> PC

(3, 6 - 11,13,14)

RTS

(SP) -> PC, SP + 4 -> SP

RTR

(SP) -> CCR, SP + Z -> SP, (SP) -> PC, SP + 4 -> SP

Scc

Если (сс) выполняется, то 1 ... 1 -> ,
если (сс) не выполняется, то 0 ... 0 ->

(1, 3 - 9,13,14)

Таблица 7 - Изменение признаков после выполнения команд

Команды

X

N

Z

V

C

Примечание

ABCD, SBCD, NBCD

+

?

*

?

+

X=С - десятичный перенос

ADD, ADDI, ADDQ, SUB, SUBI, SUBQ, NEG

+

+

+

+

+

X=С - десятичный перенос

ADDX, SUBX, NEGX

+

+

*

+

+

X=С - десятичный перенос

MULS, MULU, DIVS, DIVU

-

+

+

+

0

MOVE, MOVEQ, AND, ANDI,
OR, ORI, EOR, EORI, NOT, CLR,
EXT, TAS, TST

-

+

+

0

0

CMP, CMPI, CMPM

-

+

+

+

+

CMP2

-

?

+

?

+

BTST, BSET, BCLR, BCHG

-

-

+

-

-

Z = bn (инверсия)

ASL, ASR

+

+

-

+

+

V = 1 при изменении знака

LSL, LSR

+

+

+

0

+

ROL, ROR

-

+

+

0

+

ROXL, ROXR

+

+

+

0

+

CHK

+

+

+

+

+

MOVE, ANDI, ORI, EORI to CCR или SR

+

+

+

+

+

В общем виде запись типовой двухадресной команды на языке ассемблера имеет следующий вид:

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5160
Авторов
на СтудИзбе
439
Средний доход
с одного платного файла
Обучение Подробнее