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

Instruction Set

BRTC - Branch if the T Flag is Cleared

Description:

Conditional relative branch. Tests the T flag and branches relatively to PC if T is cleared. This instruction branches relatively to PC in either direction (PC - 63 destination PC + 64). The parameter k is the offset from PC and is represented in two’s complement form. (Equivalent to instruction BRBC 6,k).

Operation:

(i)If T = 0 then PC PC + k + 1, else PC PC + 1

 

Syntax:

 

 

 

 

Operands:

 

 

 

 

Program Counter:

(i)

BRTC k

 

 

 

 

-64 k +63

 

 

 

 

PC PC + k + 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PC PC + 1, if condition is false

 

16-bit Opcode:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1111

 

 

 

01kk

 

kkkk

 

k110

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Status Register (SREG) and Boolean Formulae:

 

 

 

 

 

I

 

T

 

 

H

 

S

 

V

 

N

 

Z

 

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

-

 

-

 

-

 

-

 

-

 

-

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Example:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bst

r3,5

; Store bit 5 of r3 in T flag

 

 

 

brtc

tclear

; Branch if this bit was cleared

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

tclear:

nop

 

 

 

; Branch destination (do nothing)

Words: 1 (2 bytes)

Cycles: 1 if condition is false

2 if condition is true

33

BRTS - Branch if the T Flag is Set

Description:

Conditional relative branch. Tests the T flag and branches relatively to PC if T is set. This instruction branches relatively to PC in either direction (PC - 63 destination PC + 64). The parameter k is the offset from PC and is represented in two’s complement form. (Equivalent to instruction BRBS 6,k).

Operation:

(i)If T = 1 then PC PC + k + 1, else PC PC + 1

 

Syntax:

 

 

Operands:

 

 

 

 

Program Counter:

(i)

BRTS k

 

 

-64 k +63

 

 

 

 

PC PC + k + 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PC PC + 1, if condition is false

 

16-bit Opcode:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1111

 

 

 

00kk

 

kkkk

 

k110

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Status Register (SREG) and Boolean Formulae:

 

 

 

 

 

I

 

 

T

H

 

S

V

 

N

 

Z

 

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

-

 

-

 

-

-

 

-

 

-

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Example:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bst

r3,5

 

; Store bit 5 of r3 in T flag

 

 

 

 

 

 

brts

tset

 

; Branch if this bit was set

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

tset:

nop

 

 

; Branch destination (do nothing)

Words: 1 (2 bytes)

Cycles: 1 if condition is false

2 if condition is true

34 Instruction Set

Instruction Set

BRVC - Branch if Overflow Cleared

Description:

Conditional relative branch. Tests the Overflow flag (V) and branches relatively to PC if V is cleared. This instruction branches relatively to PC in either direction (PC - 63 destination PC + 64). The parameter k is the offset from PC and is represented in two’s complement form. (Equivalent to instruction BRBC 3,k).

Operation:

(i)If V = 0 then PC PC + k + 1, else PC PC + 1

 

Syntax:

 

Operands:

 

 

 

 

Program Counter:

(i)

BRVC k

 

-64 k +63

 

 

 

 

PC PC + k + 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PC PC + 1, if condition is false

 

16-bit Opcode:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1111

 

01kk

 

 

kkkk

 

 

k011

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Status Register (SREG) and Boolean Formula:

 

 

 

 

I

 

T

H

S

V

N

Z

 

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

-

 

-

 

-

-

 

 

-

 

 

-

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Example:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

add

r3,r4

 

; Add r4 to r3

 

 

 

 

 

 

 

 

 

brvc

noover

 

; Branch if no overflow

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

noover: nop

 

 

 

; Branch destination (do nothing)

Words: 1 (2 bytes)

Cycles: 1 if condition is false

2 if condition is true

35

BRVS - Branch if Overflow Set

Description:

Conditional relative branch. Tests the Overflow flag (V) and branches relatively to PC if V is set. This instruction branches relatively to PC in either direction (PC - 63 destination PC + 64). The parameter k is the offset from PC and is represented in two’s complement form. (Equivalent to instruction BRBS 3,k).

Operation:

(i)If V = 1 then PC PC + k + 1, else PC PC + 1

 

Syntax:

 

 

 

 

Operands:

 

 

 

 

 

Program Counter:

(i)

BRVS k

 

 

 

 

-64 k +63

 

 

 

 

 

PC PC + k + 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PC PC + 1, if condition is false

 

16-bit Opcode:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1111

 

 

 

00kk

 

kkkk

 

k011

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Status Register (SREG) and Boolean Formula:

 

 

 

 

I

 

T

 

 

H

 

S

 

V

 

N

Z

 

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

-

 

-

 

-

 

-

 

-

 

 

-

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Example:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

add

r3,r4

; Add r4 to r3

 

 

 

 

 

 

 

brvs

overfl

; Branch if overflow

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

overfl:

nop

 

 

 

; Branch destination (do nothing)

Words: 1 (2 bytes)

Cycles: 1 if condition is false

2 if condition is true

36 Instruction Set

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