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

PM0044

STM8 addressing modes

 

 

6.9Short Pointer Indirect Long Indexed addressing mode

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

Example:

 

 

0089

0800

ptr dc.w

table

0800

10203040 table dc.b

$10,$20,$30,$40

0690

AE03

LD

X,#3

0692

92D689

LD

A,([shortptr.w],X)

 

 

 

X = 3

A = ([shortptr.w],X) = ((shortptr.w), X) = (($89.w), 3)

= ($0800,3) = ($0803) = $40

Doc ID 13590 Rev 3

49/162

STM8 addressing modes

PM0044

 

 

Figure 18. Short Pointer Indirect Long Indexed addressing mode example

Before completion

ptr .word table

08

0089

 

 

 

 

 

 

 

 

 

 

 

00

 

 

 

 

 

 

 

 

 

 

 

 

008A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PC

 

 

 

 

 

 

 

 

 

 

 

 

 

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

92

0692

 

 

 

 

 

 

0692

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D6

0693

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

89

0694

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

03

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

10

800

 

 

 

 

 

 

A

 

 

0x40

 

 

 

 

 

 

 

 

 

 

 

 

20

801

 

 

 

 

 

Previous value

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

30

802

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

40

803

 

 

 

800

03

 

 

 

 

 

 

 

 

Adder

 

 

 

 

 

 

 

 

 

Steps to determine

Effective Address

PC = 0692

PC = PC + 2 = 0694

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

EA

0803

 

 

 

 

 

 

After completion

 

ptr .word table

 

 

 

 

 

 

 

08

0089

 

 

 

 

Instruction Complete

 

00

008A

 

 

 

 

 

 

 

 

 

 

 

X

A = (EA) = 40

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

New PC = PC + 1 = 0695

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

92

0692

 

 

 

03

 

 

 

 

 

 

 

 

 

 

 

 

 

D6

0693

 

 

 

 

 

 

 

 

 

 

 

New PC

 

 

89

0694

 

 

 

 

table .byte 0x10,0x20,0x30

 

0695

 

 

 

0695

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

0800

 

 

 

 

 

0x40

 

 

 

 

 

 

 

20

0801

 

 

 

 

 

 

 

 

 

 

 

 

30

0802

 

 

 

A

 

 

40

0803

 

 

 

40

 

 

 

 

 

 

50/162

Doc ID 13590 Rev 3

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