скачать рефераты
  RSS    

Меню

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

скачать рефераты

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

br>

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

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

Разрядность

Адресация

ASL Dx, Dv B, W, L 1, 1
ASL # Ns, Dv B, W, L 12, 1
ASL <EA> W (3 - 9,13)
ASR Dx, Dv B, W, L 1,1
ASR # Ns, Dv B, W, L 12,1
ASR <EA> W (3 - 9,13)
LSL Dx, Dv B, W, L 1,1
LSL # Ns, Dv B, W, L 12,1
LSL <lEA> W (3 - 9,13)
LSR Dx, Dv B, W, L 1,1
LSR # Ns, Dv B, W, L 12,1
LSR <lEA> W (3 - 9,13)
ROL Dx, Dv B, W, L 1,1
ROL # Ns, Dv B, W, L 12,1
ROL <EA> W (3 - 9,13)
ROR Dx, Dv B, W, L 1,1
ROR # Ns, Dv B, W, L 12,1
ROR <EA> W (3 - 9,13)
ROXL Dx, Dv B, W, L 1,1
ROXL # Ns, Dv B, W, L 12,1
ROXL <EA> W (3 - 9,13)
ROXR Dx, Dv B, W, L 1,1
ROXR # Ns, Dv B, W, L 12,1
ROXR <EA> W (3 - 9,13)

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

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

Разрядность

Операции

Адресация

СMP <EA>, Dn B, W, L Dn - <src> (1 - 14), 1
СMP <EA>, An W, L An - <src> (1 - 14), 2
CMPI # Im, <EA> B, W, L <dst> - Im 12, (1, 3 - 11,13,14)
CMPM (Av) +,(Ax) + B, W, L <dst> - <src> 4,4
CMP2 <EA>, Rn B, W, L (Rn)<LB, (Rn)>UB (3,6-11,13,14), (1,2)
TST <EA> B, W, L <dst> - 0 (1, 3 – 9,13)
TAS <EA> B <dst> - 0, 1 -> b7 (1, 3 - 14)

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

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

Разрядность

Операции

Адресация

BTST Dn, <EA> B, L bn -> Z 1, (1, 3 - 14)
BTST # Nb, <EA> B, L bn -> Z 12, (1, 3 - 14)
BSET Dn, <EA> B, L bn -> Z, 1 -> bn 1, (1, 3 - 9,13,14)
BSET # Nb, <EA> B, L bn -> Z, 1 -> bn 12, (1, 3 - 9,13,14)
BCLR Dn, <EA> B, L bn -> Z, 0 -> bn 1, (1, 3 - 9,13,14)
BCLR # Nb, <EA> B, L bn -> Z, 0 -> bn 12, (1, 3 - 9,13,14)
BCHG Dn, <EA> B, L bn -> Z, bn -> bn 1, (1, 3 - 9,13,14)
BCHG # Nb, <EA> B, L bn -> Z, bn -> bn 12, (1, 3 - 9,13,14)

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

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

Операции

Адресация

JMP <EA> <dst> -> PC (3, 6 - 11,13,14)
JSR <EA> SP - 4 -> SP, PC -> (SP), <dst> -> PC (3, 6 - 11,13,14)
RTS (SP) -> PC, SP + 4 -> SP
RTR (SP) -> CCR, SP + Z -> SP, (SP) -> PC, SP + 4 -> SP
Scc <EA>

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

(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 + + + + +

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

COP.x   <src>, <dst>

где в качестве COP указывается мнемокод соответствующей команды, а вместо x ставится символ, определяющий разрядность операндов: B - байт, W - слово, L - длинное слово. Если после мнемокода отсутствует символ разрядности, то по умолчанию операндом служит слово.
       Операнды условно обозначаются как <src> - источник, <dst> - приемник, причем в качестве приемника указывается операнд, на месте которого помещается результат операции. При записи конкретных команд в качестве <src>, <dst> указываются символические адреса операндов на языке ассемблера в соответствии с используемым способом их адресации. Для одноадресных команд в поле операндов дается один символический адрес, в безадресных командах адрес операнда в явном виде не задается. При непосредственной адресации вместо указывается значение операнда Im, перед которым ставится префиксный символ #.
  Числа Im, d8, d16, bd, Abs.W, Abs.L в поле операндов могут даваться в различных системах счисления, которые определяются префиксным символом:
  & - десятичное число,
  % - двоичное число,
  @ - восьмеричное число,
  $ - шестнадцатиричное число.
При отсутствии префиксного символа число воспринимается как десятичное.
       С целью повышения производительности в CPU32 организован трехступенчатый конвейер выполняемых команд. Контроль состояния конвейера обеспечивается с помощью выходных сигналов процессора:
  IPIPE# - принимает значение 0 в первом такте выполнения каждой команды в конвейере;
  IFETCH# - принимает значение 0 при загрузке очередной команды в конвейер, а также при освобождении конвейера (отсутствии команд).
       Данные сигналы могут использоваться внешним анализатором для контроля текущего состояния процессора.
  Ниже в этом разделе рассматриваются команды, выполняемые процессором CPU32. В таблицах для каждой команды дан ее синтаксис на языке ассемблера и указана разрядность операндов: фиксированная (указывается числом) или изменяемая (определяется символом B,W,L, который ставится после мнемокода команды). Операнды, адрес которых вычисляется в соответствии с заданным способом адресации, обозначены символами <EA>. При выполнении многих команд для вычисления EA можно использовать только определенные способы адресации.  

Команды MOVE, MOVEA и MOVEQ

Команда MOVE, в зависимости от формата её операнда, может перемещать байт, слово или длинное слово из регистра в регистр, между регистром и памятью и между памятью и памятью. Эта команда может также перемещать слово в (из) регистра состояния и длинное слово между пользовательским указателем стека (USP) и регистром адреса. Когда USP определён как операнд, или регистр состояния (SR) - как приёмник операнда, команда становится привилегированной и, следовательно, не может быть выполнена в пользовательском режиме.

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


Новости

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

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

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.