Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[11]

PUSH #0123h

Рис. 3-4. Использование стека

PUSH SP

SP0ifj - исходное

значение 2

указателя стека

Рис. 3-5. Последовательность PUSH SP - POP SP

Указатель стека изменяется после выполнения команды PUSH SP.

Указатель стека не изменяется после команды POP SP. Команда POP SP помещает SP1 в указатель стека SP (SP2=SP1).

323. Регистр статуса (SR)

Регистр статуса (SR/R2), используемый как регистр источника или получателя, может адресоваться в регистровом режиме только с помощью команд-слов. Прочие комбинации режимов адресации используются для поддержки генератора констант. На рис. 3.6 показаны биты регистра статуса SR.

159 8 7О

Рис. 3-6. Биты регистра статуса


В таблице 3.1 приведено описание битов регистра статуса.

Таблица 3.1. Описание битов регистра статуса

Описание

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

Этот бит устанавливается, если результат арифметической операции имеет переполнение в области знаковых переменных.

ADD(.B), ADDC(.B)

Устанавливается, когда:

Положительный + Положительный = Отрицательный Отрицательный + Отрицательный = Положительный в противном случае сбрасывается

SUB(.B),

SUBC(.B),

CMP(.B)

Устанавливается, когда:

Положительный - Отрицательный = Отрицательный Отрицательный - Положительный = Позитивный в противном случае сбрасывается

Системный тактовый генератор 1.

Когда этот бит установлен, SMCLK выключен.

Системный тактовый генератор 0.

Когда этот бит установлен, генератор DCO выключен, если DCOCLK не используется для MCLK или SMCLK.

Выключение осциллятора.

Когда этот бит установлен, осциллятор LFXT1, использующий кристалл, выключен, если LFXT1CLK не используется для MCLK или SMCLK.

Выключение ЦПУ.

Когда этот бит установлен, ЦПУ выключено.

Общий бит разрешения прерываний.

Когда этот бит установлен, маскируемые прерывания разрешены. Когда сброшен, все маскируемые прерывания запрещены.

Бит отрицательного результата.

Этот бит устанавливается, когда результат операции с байтом или словом отрицательный и сбрасывается, когда результат не отрицательный. Операции со словами:

N устанавливается по значению бита 15 результата Операции с байтами:

N устанавливается по значению бита 7 результата

Бит нуля.

Этот бит устанавливается, когда результат операции с байтом или словом равен «0» и очищается, если результат не равен «0».

Бит переноса.

Этот бит устанавливается, когда результат операции с байтом или словом имеет перенос и очищается, когда переноса нет.


32.4. Регистры генератора констант CG1 и CG2

Шесть обычно используемых констант генерируются с помощью регистров R2 и R3 генератора констант, что исключает необходимость использования дополнительного 16-разрядного слова в программном коде. Константы выбираются путем изменения режима адресации (As) регистра-источника, в соответствии с таблицей 3.2.

Таблица 32. Значения генераторов констант CG1, CG2

Регистр

Константа

Комментарий

Регистровый режим

Режим абсолютной (безусловной) адресации

+4, побитовая обработка

+8, побитовая обработка

0, обработка по словам

+2, побитовая обработка

-1, обработка по словам

Генератор констант обладает следующими преимуществами:

•Не требуются особые команды

•Код не содержит дополнительного слова для шести констант

•Не требуется код (команда) доступа к памяти для получения константы Ассемблер автоматически использует генератор констант, если одна из

шести констант используется как непосредственный исходный операнд. При использовании регистров R2 и R3 в режиме генерации констант, адресация к ним не может быть явной - они действуют только как регистры-источники.

Генератор команд - расширенная система команд

Набор RISC-команд семейства MSP430 состоит только из 27 команд. Однако, генератор констант позволяет поддерживать 1 Р430-ассемблеру 24 дополнительные эмулированные команды. К примеру, команда с одним операндом:

CLR dst

эмулируется командой с двумя операндами такой же длины:

MOVR3,dst

где #0 замещается ассемблером, а R3 используется в режиме As=00 Команда inc dst замещается командой add 0(R3),dst



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59] [стр.60] [стр.61] [стр.62] [стр.63] [стр.64] [стр.65] [стр.66] [стр.67] [стр.68] [стр.69] [стр.70] [стр.71] [стр.72] [стр.73] [стр.74] [стр.75] [стр.76] [стр.77] [стр.78] [стр.79] [стр.80] [стр.81] [стр.82] [стр.83] [стр.84] [стр.85] [стр.86] [стр.87] [стр.88] [стр.89] [стр.90] [стр.91] [стр.92] [стр.93] [стр.94] [стр.95] [стр.96] [стр.97] [стр.98] [стр.99] [стр.100] [стр.101] [стр.102] [стр.103] [стр.104] [стр.105] [стр.106] [стр.107] [стр.108] [стр.109] [стр.110] [стр.111] [стр.112] [стр.113] [стр.114] [стр.115] [стр.116] [стр.117] [стр.118] [стр.119] [стр.120]