Микропроцессорная техника / Семейство микроконтроллеров MSP430x2xx_
.pdf4.4. Режимы адресации 111
Нижние 64 KБ |
|
|
|
|
PC.19:16 = 0 |
|
19 16 15 |
0 |
|
FFFFF |
|
0 |
|
Счётчик |
|
|
команд PC |
||
|
|
|
||
|
|
|
|
|
|
|
S Смещение (в байтах) |
16 битный индекс со знаком |
|
10000 |
|
|
|
|
0FFFF |
KБ64 |
16 битное сложение |
|
|
|
|
|||
|
|
|
||
PC.19:0 |
Нижние |
|
|
|
00000 |
0 |
|
Адрес в памяти |
|
|
|
|
|
Рис. 4.19. Относительный режим адресации в нижней 64 КБ области памяти.
|
До операции |
После операции |
|||
|
Адресное |
|
Адресное |
||
пространство |
пространство |
||||
0103Ah |
|
|
0103Ah |
|
PC |
|
|
|
|||
xxxxh |
|
xxxxh |
|||
|
|
|
|
|
|
01038h |
F740h |
|
01038h |
F740h |
|
|
|
|
|
|
|
01036h |
4766h |
|
01036h |
4766h |
|
01034h |
05D0h |
PC |
01034h |
50D0h |
|
|
|
|
|
|
|
|
|
|
01038h |
|
|
|
32h |
src |
|
|
|
|
|
|
|||
0077Ah |
xxxxh |
|
0077Ah |
xxxxh |
||||
|
+0F740h |
|
+45h |
dst |
||||
|
|
|
00778h |
|
|
|
77h |
Sum |
00778h |
xx45h |
|
00778h |
xx77h |
||||
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
01036h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0579Eh |
xxxxh |
|
+04766h |
0579Eh |
xxxxh |
|
|
|
0579Ch |
|
|
0579Ch |
xx32h |
|
0579Ch |
xx32h |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
112 Глава 4. 16#битное RISC ЦПУ MSP430X
Команды MSP430 и относительный режим адресации верхней области памяти
Если счётчик команд указывает на адрес, расположенный за пределами нижней 64 КБ области памяти, то для вычисления адреса операнда используются биты 19:16 этого регистра. Таким образом, операнд может быть расположен в диапазоне адре сов PC ±32 КБ, поскольку индекс X является 16 битным числом со знаком. При этом итоговый адрес может выйти за пределы адресного пространства ЦПУ и в ре зультате отобразиться на нижнюю 64 КБ область памяти (см. Рис. 4.20 и Рис. 4.21).
Длина: |
Два или три слова. |
Операция: |
Индекс (смещение), представляющий 16 битное число со зна |
|
ком и находящийся в следующем после команды слове, прибав |
|
ляется к 20 битному содержимому счётчика команд PC. В ре |
|
зультате формируется 20 битный адрес из диапазона |
|
0…FFFFFh. Операндом является содержимое ячейки памяти по |
|
данному адресу. |
Комментарий: Допускается для источника и приёмника. Ассемблер автомати чески вычисляет смещение и вставляет его в итоговый код.
Верхняя область памяти |
|
|
PC.19:16 > 0 |
FFFFF |
|
PC.19:0 |
PC ±32 KБ |
10000 |
|
0FFFF |
|
00000 |
|
19 |
16 15 |
0 |
1 ... 15
Счётчик команд PC
S |
S Смещение (в байтах) |
16 битный индекс со знаком |
(знак расширяется до 20 бит) |
||
KБ |
20 битное сложение |
|
Нижние 64 |
|
|
|
Адрес в памяти |
Рис. 4.20. Относительный режим адресации верхней области памяти.
FFFFF |
|
|
PC.19:0 |
КБ |
|
±32 |
||
|
||
10000 |
|
|
0FFFF |
64 KБ |
|
PC.19:0 |
||
Нижние |
||
0000C |
PC.19:0 |
|
PC.19:0 |
KБ |
|
±32 |
Рис. 4.21. Выход за границы адресного пространства при использовании относительного ре жима адресации.
4.4. Режимы адресации 113
Пример
ADD.W EDE,&TONI
Эта команда выполняет сложение 16 битных значений операнда источника EDE и операнда приёмника TONI. 16 битный результат сложения сохраняется в операнде приёмнике. В данном примере команда расположена по адресу 2F034h.
Источник: |
Для адресации слова EDE, расположенного по адресу 3379Ch, |
|
используется выражение PC + 04766h. Значение смещения опре |
|
деляется выражением 3379Ch – 2F036h = 04766h, где 2F036h — |
|
адрес, по которому хранится смещение в данном примере. |
Приёмник: |
Для адресации слова TONI используется его абсолютный адрес |
|
00778h. |
До операции |
После операции |
|
||||||||
|
Адресное |
|
|
|
Адресное |
|
|
|
||
пространство |
|
|
пространство |
|
|
|
||||
2F03Ah |
|
|
|
|
2F03Ah |
|
|
PC |
|
|
|
|
|
|
|
|
|
||||
xxxxh |
|
|
|
xxxxh |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
2F038h |
0778h |
|
|
|
2F038h |
0778h |
|
|
|
|
2F036h |
4766h |
|
|
|
2F036h |
4766h |
|
|
|
|
2F034h |
5092h |
|
PC |
2F034h |
5092h |
|
|
|
|
|
|
|
|
|
2F036h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3379Eh |
xxxxh |
|
|
+04766h |
3379Eh |
xxxxh |
|
|
|
|
3379Ch |
5432h |
|
|
3379Ch |
3379Ch |
5432h |
|
|
|
|
|
|
|
|
|
|
|
|
|
5432h |
src |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
||
0077Ah |
xxxxh |
|
|
|
0077Ah |
xxxxh |
|
|
+2345h |
|
|
|
|
|
|
dst |
|||||
00778h |
2345h |
|
|
|
00778h |
7777h |
|
|
7777h |
|
|
|
|
|
|
Sum |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Команды MSP430X и относительный режим адресации
При использовании относительного режима адресации с командами MSP430X, операнды могут быть расположены по любому адресу в диапазоне PC ± 19 бит.
Длина: |
Три или четыре слова. |
Операция: |
Адрес операнда вычисляется как сумма 20 битного значения |
|
счётчика команд и 20 битного индекса. Четыре старших бита |
|
индекса хранятся в слове расширения, а остальные 16 битов — |
|
в слове, расположенном после команды. |
Комментарий: Допускается для источника и приёмника. Ассемблер автомати чески вычисляет смещение и вставляет его в итоговый код.
114 Глава 4. 16#битное RISC ЦПУ MSP430X
Пример
ADDX.B EDE,TONI
Эта команда выполняет сложение 8 битных значений операнда источника EDE и операнда приёмника TONI. Результат сложения сохраняется в операнде приёмнике.
Источник: |
Для адресации байта EDE, расположенного по адресу 3579Ch, |
||||||||||
|
|
используется выражение PC + 14766h. Значение смещения оп |
|||||||||
|
|
ределяется выражением 3579Ch – 21036h = 14766h, где 21036h — |
|||||||||
|
|
адрес, по которому хранится смещение в данном примере. |
|||||||||
Приёмник: |
Для адресации байта TONI, расположенного по адресу 77778h, |
||||||||||
|
|
используется выражение PC + 56740h. Значение смещения оп |
|||||||||
|
|
ределяется выражением 77778h – 21038h = 56740h, где 21038h — |
|||||||||
|
|
адрес, по которому хранится смещение в данном примере. |
|||||||||
До операции |
|
После операции |
|
||||||||
Адресное пространство |
|
Адресное пространство |
|
||||||||
2103Ah |
|
|
|
|
|
|
2103Ah |
|
PC |
|
|
|
|
|
|
|
|
|
|
||||
|
xxxxh |
|
|
|
|
xxxxh |
|
||||
21038h |
|
|
|
|
|
|
21038h |
|
|
|
|
|
6740h |
|
|
|
|
6740h |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
21036h |
|
4766h |
|
|
|
|
21036h |
4766h |
|
|
|
21034h |
|
50D0h |
|
|
|
|
21034h |
50D0h |
|
|
|
21032h |
|
18C5h |
PC |
|
21032h |
18C5h |
|
|
|
||
|
|
|
|
|
21038h |
|
|
|
|
32h |
src |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|||
7777Ah |
|
xxxxh |
|
|
7777Ah |
xxxxh |
|||||
|
|
|
+56740h |
|
|
+45h |
dst |
||||
77778h |
|
xx45h |
|
|
77778h |
|
77778h |
xx77h |
|
77h |
Sum |
|
|
|
|
|
21036h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3579Eh |
|
xxxxh |
|
|
+14766h |
|
3579Eh |
xxxxh |
|
|
|
3579Ch |
|
xx32h |
|
|
3579Ch |
|
3579Ch |
xx32h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4.4.4. Абсолютный режим адресации
При использовании абсолютного режима в качестве адреса операнда исполь зуется значение, расположенное после слова команды. Существует две разновид ности абсолютного режима:
абсолютный режим при адресации нижней области памяти объёмом 64 КБ;
абсолютный режим в командах MSP430X.
4.4. Режимы адресации 115
Абсолютный режим адресации в нижней 64CКБ области памяти
Если абсолютный режим адресации используется с командой MSP430, то аб солютный адрес представляет собой 16 битное значение и, соответственно, ука зывает на адрес в нижней 64 КБ области памяти. Адрес вычисляется как смеще ние от нуля и сохраняется в следующем после команды слове. Этот режим адреса ции позволяет обращаться к ОЗУ и периферийным устройствам микроконтрол лера, а также использовать без всякой модификации существующее ПО, напи санное для ЦПУ MSP430.
Длина: |
Два или три слова. |
Операция: |
Операндом является содержимое ячейки памяти по заданному |
|
адресу. |
Комментарий: Допускается для источника и приёмника. Ассемблер автомати чески вычисляет смещение от 0 го адреса и вставляет его в ито говый код.
Пример
ADD.W &EDE,&TONI
Эта команда выполняет сложение 16 битных значений операнда источника и операнда приёмника, расположенных по абсолютным адресам EDE и TONI со ответственно. Результат сложения сохраняется в операнде приёмнике.
Источник: |
Слово, расположенное в памяти по адресу EDE. |
|
|
|||||
Приёмник: |
Слово, расположенное в памяти по адресу TONI. |
|
||||||
До операции |
После операции |
|
||||||
Адресное пространство |
Адресное пространство |
|
||||||
|
|
|
|
2103Ah |
|
|
PC |
|
2103Ah |
|
|
|
|
|
|
||
|
xxxxh |
|
xxxxh |
|
|
|||
21038h |
|
|
|
21038h |
|
|
|
|
|
7778h |
|
7778h |
|
|
|
||
21036h |
|
579Ch |
|
21036h |
579Ch |
|
|
|
21034h |
|
5292h |
PC |
21034h |
5292h |
|
|
|
|
|
|
|
|
|
|
5432h |
src |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
||
0777Ah |
|
xxxxh |
|
0777Ah |
xxxxh |
|
||
|
|
|
+2345h |
dst |
||||
|
|
|
|
|
|
|
7777h |
Sum |
07778h |
|
2345h |
|
07778h |
7777h |
|
||
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0579Eh |
xxxxh |
0579Eh |
xxxxh |
0579Ch |
5432h |
0579Ch |
5432h |
|
|
|
|
|
|
|
|
116 Глава 4. 16#битное RISC ЦПУ MSP430X
Команды MSP430X и абсолютный режим адресации
При использовании абсолютного режима адресации с командой MSP430X, адрес представляет собой 20 битное значение и, соответственно, позволяет адре совать любую ячейку памяти в пределах всего адресного пространства. Адрес вы числяется как смещение от нуля. Четыре старших бита значения хранятся в слове расширения, а остальные 16 бит — в слове, расположенном после команды.
Длина: |
Три или четыре слова. |
Операция: |
Операндом является содержимое ячейки памяти по заданному |
|
адресу. |
Комментарий: Допускается для источника и приёмника. Ассемблер автомати чески вычисляет смещение от 0 го адреса и вставляет его в ито говый код.
Пример
ADDX.A &EDE,&TONI
Эта команда выполняет сложение 20 битных значений операнда источника и операнда приёмника, расположенных по абсолютным адресам EDE и TONI со ответственно. Результат сложения сохраняется в операнде приёмнике.
Источник: |
Два слова, расположенных в памяти, начиная с адреса EDE. |
|||||||
Приёмник: |
Два слова, расположенных в памяти, начиная с адреса TONI. |
|||||||
До операции |
|
|
После операции |
|||||
Адресное пространство |
Адресное пространство |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0103Ah |
xxxxh |
|
|
0103Ah |
xxxxh |
PC |
||
|
|
|
|
|
|
|
|
|
01038h |
F740h |
|
|
01038h |
F740h |
|
|
|
01036h |
4766h |
|
|
01036h |
4766h |
|
|
|
01034h |
05D0h |
PC |
01034h |
50D0h |
|
|
|
|
|
|
|
01038h |
|
|
|
32h |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|||
|
|
|
|
|
|
|||
0077Ah |
xxxxh |
|
0077Ah |
xxxxh |
||||
|
+0F740h |
|
+45h |
|
||||
|
|
|
00778h |
|
|
|
77h |
|
00778h |
xx45h |
|
00778h |
xx77h |
||||
|
|
|
|
|
||||
|
|
|
01036h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0579Eh |
xxxxh |
|
0579Eh |
xxxxh |
|
|
|
|
|
+04766h |
|
|
|
||||
|
|
|
0579Ch |
|
|
|
|
|
0579Ch |
xx32h |
|
0579Ch |
xx32h |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4.4. Режимы адресации 117
4.4.5. Косвенный регистровый режим адресации
При использовании косвенного регистрового режима в качестве адреса опе ранда используется содержимое регистра ЦПУ Rsrc. В этом режиме всегда ис пользуются 20 битные адреса.
Длина: |
Один, два или три слова. |
Операция: |
Операндом является содержимое ячейки памяти по заданному |
|
адресу. Содержимое регистра источника Rsrc не изменяется. |
Комментарий: Допускается только для источника. Для операнда приёмника подставляется 0(Rdst).
Пример
ADDX.W @R5,2100h(R6)
Эта команда выполняет сложение 16 битных значений, расположенных по указанным адресам. Результат сложения сохраняется в операнде приёмнике.
Источник: |
|
Слово, адресуемое регистром R5. В данном примере в регистре |
||||||||||||||||
|
|
|
содержится адрес 3579Ch. |
|
|
|
|
|
|
|
|
|
||||||
Приёмник: |
|
Слово с адресом R6 + 2100h, равным 45678h + 2100h = 47778h. |
||||||||||||||||
До операции |
|
|
|
|
После операции |
|
|
|
||||||||||
Адресное пространство |
Регистры |
Адресное пространство Регистры |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21038h |
|
|
|
|
|
|
|
|
|
21038h |
|
|
PC R5 |
|
|
|
|
|
|
xxxxh |
|
R5 |
3579Ch |
|
|
|
xxxxh |
|
3579Ch |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21036h |
|
2100h |
|
R6 |
45678h |
|
|
21036h |
|
2100h |
|
R6 |
|
45678h |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21034h |
|
55A6h |
|
PC |
|
|
|
21034h |
|
55A6h |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
45678h |
|
|
|
|
5432h |
|
src |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
4777Ah |
|
xxxxh |
|
|
|
|
4777Ah |
|
xxxxh |
|||||||||
|
|
|
|
|
+02100h |
|
|
|
+2345h |
|
dst |
|||||||
|
|
|
|
|
|
|
47778h |
|
|
|
|
7777h |
|
Sum |
||||
47778h |
|
2345h |
|
|
|
|
47778h |
|
7777h |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3579Eh |
xxxxh |
|
3579Eh |
xxxxh |
|
|
|
|
|
|
|
3579Ch |
5432h |
R5 |
3579Ch |
5432h |
R5 |
|
|
|
|
|
|
|
|
|
|
|
|
118 Глава 4. 16#битное RISC ЦПУ MSP430X
4.4.6.Косвенный регистровый режим адресации с автоинкрементом
При использовании косвенного регистрового режима с автоинкрементом в качестве адреса операнда используется содержимое регистра ЦПУ Rsrc. После выборки операнда источника содержимое регистра Rsrc автоматически увеличи вается на 1, 2 или 4 при использовании 8 , 16 и 20 битных операндов соответ ственно. Если один и тот же регистр задействуется как источник и как приёмник, то для адресации операнда приёмника используется содержимое регистра после инкрементирования. В косвенном регистровом режиме с автоинкрементом всег да применяются 20 битные адреса.
Длина: |
Один, два или три слова. |
Операция: |
Операндом является содержимое ячейки памяти по заданному |
|
адресу. |
Комментарий: Допускается только для источника.
Пример
ADD.B @R5+,0(R6)
Эта команда выполняет сложение 8 битных значений, расположенных по указанным адресам. Результат сложения сохраняется в операнде приёмнике.
Источник: |
|
Байт, адресуемый регистром R5. В данном примере в регистре |
||||||||||||||||
|
|
|
содержится адрес 3579Ch. |
|
|
|
|
|
|
|
|
|
||||||
Приёмник: |
|
Байт с адресом R6 + 0h, равным в данном примере 00778h. |
||||||||||||||||
До операции |
|
|
|
|
После операции |
|
|
|
||||||||||
Адресное пространство |
Регистры |
Адресное пространство Регистры |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21038h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xxxxh |
|
R5 |
3579Ch |
|
|
21038h |
|
xxxxh |
PC R5 |
|
3579Dh |
|
|||||
21036h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0000h |
|
R6 |
00778h |
|
|
21036h |
|
0000h |
|
R6 |
|
00778h |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21034h |
|
55F6h |
|
PC |
|
|
|
21034h |
|
55F6h |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
00778h |
|
|
|
|
32h |
|
src |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
0077Ah |
|
xxxxh |
|
|
|
|
0077Ah |
|
xxxxh |
|||||||||
|
|
|
|
|
+0000h |
|
|
|
+45h |
|
dst |
|||||||
|
|
|
|
|
|
|
00778h |
|
|
|
|
77h |
|
Sum |
||||
00778h |
|
xx45h |
|
|
|
|
00778h |
|
xx77h |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R5 |
|
|
|
|
|
|
3579Dh |
xxh |
|
3579Dh |
xxh |
|
3579Ch |
32h |
R5 |
3579Ch |
xx32h |
|
|
|
|
|
|
|
|
|
|
|
|
|
4.4. Режимы адресации 119
4.4.7. Непосредственный режим адресации
Непосредственный режим позволяет использовать в качестве операндов кон станты, которые при этом располагаются в памяти сразу после команды. Обраще ние к счётчику команд осуществляется с использованием косвенного режима ад ресации с автоинкрементом. Счётчик указывает на непосредственное значение, находящееся в следующем слове. После выборки этого значения PC увеличивает ся на 2 независимо от разрядности операнда. Существует две разновидности не посредственного режима:
8 или 16 битные константы в командах MSP430;
20 битные константы в командах MSP430X.
Команды MSP430 и непосредственный режим адресации
При использовании непосредственного режима адресации в команде MSP430, константа представляет собой 8 или 16 битное число и располагается в слове памяти, следующем за командой.
Длина: |
Два или три слова. На одно слово меньше, если в качестве не |
|
посредственного операнда может использоваться значение, |
|
формируемое генератором констант. |
Операция: |
Операнд источник, являющийся 16 битной константой, ис |
|
пользуется вместе с 16 битным операндом приёмником. |
Комментарий: Допускается только для источника.
Пример
ADD #3456h,&TONI
Эта команда прибавляет 16 битное число 3456h к содержимому операнда приёмника с адресом TONI.
Источник: |
16 битная константа 3456h. |
|
|
|
|
||
Приёмник: |
Слово, расположенное по адресу TONI. |
|
|
|
|||
До операции |
После операции |
|
|||||
Адресное пространство |
Адресное пространство |
|
|||||
2103Ah |
|
|
2103Ah |
|
PC |
|
|
|
|
|
|
||||
xxxxh |
|
xxxxh |
|
||||
21038h |
|
|
21038h |
|
|
|
|
0778h |
|
0778h |
|
|
|
||
21036h |
3456h |
|
21036h |
3456h |
|
|
|
21034h |
50B2h |
PC |
21034h |
50B2h |
|
|
|
|
|
|
|
|
|
3456h |
src |
|
|
|
|
|
|
||
|
|
|
|
|
|
||
|
|
|
|
|
|
||
0077Ah |
xxxxh |
|
0077Ah |
xxxxh |
|||
|
|
+2345h |
dst |
||||
|
|
|
|
|
|
579Bh |
Sum |
00778h |
2345h |
|
00778h |
579Bh |
|||
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 Глава 4. 16#битное RISC ЦПУ MSP430X
Команды MSP430X и непосредственный режим адресации
При использовании непосредственного режима адресации в команде MSP430X, константа представляет собой 20 битное число. Старшие четыре бита значения хранятся в слове расширения, а остальные 16 бит — в слове, располо женном после команды.
Длина: |
Три или четыре слова. |
|
На одно слово меньше, если в качестве непосредственного опе |
|
ранда может использоваться значение, формируемое генерато |
|
ром констант. |
Операция: |
Операнд источник, являющийся 20 битной константой, ис |
|
пользуется вместе с 20 битным операндом приёмником. |
Комментарий: Допускается только для источника.
Пример
ADDX.A #23456h,&TONI
Эта команда прибавляет 20 битное число 23456h к содержимому операнда
приёмника с адресом TONI. |
|
|
|
|
|
||||
Источник: |
20 битная константа 23456h. |
|
|
|
|
|
|||
Приёмник: |
Слово, расположенное по адресу TONI. |
|
|
|
|||||
До операции |
После операции |
|
|||||||
Адресное пространство |
Адресное пространство |
|
|||||||
2103Ah |
|
|
|
2103Ah |
|
PC |
|
||
|
|
|
|
||||||
xxxxh |
|
|
xxxxh |
|
|||||
|
|
|
|
|
|
|
|
|
|
21038h |
7778h |
|
21038h |
7778h |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
21036h |
3456h |
|
21036h |
3456h |
|
|
|
||
|
|
|
|
|
|
|
|
||
21034h |
50F2h |
|
21034h |
50F2h |
|
|
|
||
21032h |
1907h |
PC |
21032h |
1907h |
|
|
|
||
|
|
|
|
|
|
|
|
23456h |
src |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|||
7777Ah |
0001h |
|
7777Ah |
0003h |
|
+12345h |
dst |
||
|
|
|
|
|
|
|
|
3579Bh |
Sum |
77778h |
2345h |
|
|
77778h |
579Bh |
||||
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|