Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LK_MashZavYP_Akchurin_2011.pdf
Скачиваний:
190
Добавлен:
10.06.2015
Размер:
8.79 Mб
Скачать

BF Смещение, Условие Быстрый условный переход

Переход на (Смещение) при выполнении (Условия)

BANZ Смещение, Ист2

8.5.12. Ветвления

Синтаксис мнемоники команды: Имя Смещение, Условие

Если условие выполняется, то содержимое счетчика команд меняется на величину (Смещения). Мнемоника проверяемых условий:

Условие

Объяснение

Проверяемые флаги

NEQ

не равно

Z=0

EQ

равно

Z=1

GT

больше

Z=0 и N=0

GEQ

больше или равно (не меньше)

N=0

LT

меньше

N=1

LEQ

меньше или равно (не больше)

Z=1 или N=1

HI

выше

C=1 и Z=0

HIS, C

выше или тоже самое

C=1

LO, NC

ниже, переноса нет

C=0

LOS

ниже или тоже самое

C=0 или Z=1

NOV

нет переполнения.

V=0

OV

переполнение

V=1

NTC

бит теста не установлен

TC=0

TC

бит теста установлен.

TC=1

NBIO

входной сигнал BIO нулевой

BIO=0

UNC

безусловный

 

8.5.13. Основные инструкции для работы с регистрами

Инструкция.

Мнемоника

Действие

ADDB

ADDB XARn, #7bit

XARn = XARn + #7bit

 

#7bit - 7-битовая константа без знака

 

ADRK

ADRK XARn, #8bit

XARn = XARn + #8bit

 

#7bit - 8-битовая константа без знака

 

ADDK

addk (.unit) cst, dst

cst+dst => dst

416

 

.unit = .S1, .S2

 

SUB

sub (.unit) src1, src2, dst

src1=src2 => dst

SUBU

.unit = .L1, .L2, S1, S2

 

ABS

abs (.unit) src, dst

abs(src) => dst

 

.unit = .L1, .L2

 

B

b (.unit) label

 

 

.unit = S1, S2

 

CMPEQ

cmpeq (.unit) src1, src2, dst

1 => dst

 

.unit = .L1, .L2

при src1=src2

CMPGT

cmpgt (.unit) src1, src2, dst

1 => dst

CMPGTU

.unit = .L1, .L2

при src1>src2

CMPLT

cmplt (.unit) src1, src2, dst

1 => dst

CMPLTU

.unit = .L1, .L2

при src1<src2

MPY

mpy (.unit) src1, src2, dst

src1*src2 => dst

MPYU

.unit = .M1, .M2

 

MV

mv (.unit) src, dst

src => dst

 

.unit = .L1, .L2, S1, .S2, .D1, .D2

 

MVK

mvk (.unit) cst, dst

cst => dst

 

.unit = .S1, .S2

 

NEG

neg (.unit) src, dst

=src => dst

 

.unit = .L1, .L2, .S1, .S2

 

NOP

nop

 

STB

stb (.unit) src, *+baseR[offserR]

src => baseR[offsetR]

STH

.unit = .D1, .D2

 

STW

 

 

LDB

ldb (.unit) *+baseR[offserR], dst

baseR[offsetR] => dst

LDH

.unit = .D1, .D2

 

LDW

 

 

AND

and (.unit) src1, src2, dst

src1 AND src2 => dst

 

.unit = .L1, .L2, S1, S2

 

OR

or (.unit) src1, src2, dst

src1 OR src2 => dst

 

.unit = .L1, .L2, .S1, .S2

 

XOR

xor (.unit) src1, src2, dst

src1 XOR src2 => dst

 

.unit = .L1, .L2, S1, S2

 

NOT

not (.unit) srt, dst

 

 

.unit = .L1, .L2, .S1, .S2

 

SHL

shl (.unit) src2, src1, dst

(src2 на src1 ) => dst

 

.unit = .S1, .S2

 

 

 

417

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]