Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
58
Добавлен:
01.03.2016
Размер:
921.07 Кб
Скачать

PM0044

STM8 addressing modes

 

 

6.10Long Pointer Indirect Long Indexed addressing mode

The pointer address is a word, the pointer size is a word, thus allowing up to 128 KB addressing space, and requires 2 bytes after the op-code.

Example:

1089 1800 ptr dc.w table

1800 10203040 table dc.b $10,$20,$30,$40

1690

AE03

LD

X,#3

1692

72D61089

LD

A,([longptr.w],X)

X = 3

A = ([longptr.w],X) = ((longptr.w), X) = (($1089.w), 3)

= ($1800,3) = ($1803) = $40

Doc ID 13590 Rev 3

51/162

STM8 addressing modes

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PM0044

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Figure 19. Long Pointer Indirect Long Indexed addressing mode example

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Before completion

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ptr .word table

 

18

1089

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Steps to determine

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

108A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PC

 

 

 

Effective Address

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LD A,([longptr.w],X)

 

72

1692

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1692

 

 

 

PC = 1692

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D6

1693

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PC = PC + 2 = 1694

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

 

X

 

 

 

 

 

1694

 

 

 

 

 

 

 

 

 

 

 

 

 

EA= (((PC) : (PC+1)) :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

89

1695

 

 

 

 

 

 

 

 

 

 

03

 

 

 

((PC) : (PC+1) +1)) + X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

 

 

EA = 1803

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

table .byte 0x10,0x20,0x30,

 

10

1800

 

 

 

 

 

 

 

 

 

 

Previous value

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0x40

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20

1801

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

30

1802

 

 

 

 

 

 

 

 

1800

 

03

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Adder

 

 

 

 

 

 

 

40

1803

 

 

 

 

 

EA

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1803

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

After completion

 

 

 

 

 

ptr .word table

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

18

 

1089

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Instruction Complete

 

 

 

00

 

108A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

A = (EA) = 40

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LD A,([longptr.w],X)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

New PC = PC + 2 = 1696

 

92

 

1692

 

 

 

 

 

 

 

 

 

03

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D6

 

1693

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

1694

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

89

 

1695

 

 

 

 

 

 

 

 

 

New PC

 

 

 

 

 

 

 

 

 

1696

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1696

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

table .byte 0x10,0x20,0x30,

10

 

1800

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0x40

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20

 

1801

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

30

 

1802

 

 

 

 

 

 

 

 

 

A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

40

 

1803

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

40

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

52/162

Doc ID 13590 Rev 3

Соседние файлы в папке Минимум документации STM8_1