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


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




[45]

723. Примеры программного обеспечения

Ниже приведены примеры для всех режимов умножителя. Все режимы 8x8 используют абсолютные адреса для регистров, поскольку ассемблер не позволит обеспечить доступ типа .B к регистрам-словам, когда используются метки из стандартного файла определений.

; 16x16 умножение без знака

MOV #01234h,&MPY;Загрузка первого операнда

MOV #05678h,&OP2;Загрузка второго операнда

;Обработка результатов ;8x8 умножение без знака. Абсолютная адресация. MOV.B #012h,&0130h;Загрузка первого операнда

MOV.B #034h,&0138h;Загрузка второго операнда

;Обработка результатов ;16x16 умножение со знаком

MOV #01234h,&MPYS;Загрузка первого операнда

MOV #05678h,&OP2;Загрузка второго операнда

;Обработка результатов ;8x8 умножение со знаком. Абсолютная адресация. MOV.B #012h,&0132h;Загрузка первого операнда

SXT &MPYS;Знаковое расширение первого операнда

MOV.B #034h,&0138h;Загрузка второго операнда

SXT &OP2;Знаковое расширение второго операнда

;(запуск второго умножения)

;Обработка результатов ;16x16 умножение без знака с накоплением MOV #01234h,&MAC;Загрузка первого операнда

MOV #05678h,&OP2;Загрузка второго операнда

;Обработка результатов ;8x8 умножение без знака с накоплением. Абсолютная адресация. MOV.B #012h,&0134h;Загрузка первого операнда

MOV.B #034h,&0138h;Загрузка второго операнда

;Обработка результатов ;16x16 умножение со знаком и накоплением MOV #01234h,&MACS;Загрузка первого операнда

MOV #05678h,&OP2;Загрузка второго операнда

;Обработка результатов ;8x8 умножение со знаком и накоплением. Абсолютная адресация MOV.B #012h,&0136h;Загрузка первого операнда

SXT &MACS;Знаковое расширение первого операнда

MOV.B #034h,R5;Временное расположение второго операнда

SXT R5;Знаковое расширение второго операнда

MOV R5,&OP2;Загрузка второго операнда

;Обработка результатов

72.4. Косвенная адресация RESLO

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


;Доступ к результатам умножителя с косвенной адресацией

MOV#RESLO,R5

MOV&OPER1,&MPY

MOV&OPER2,&OP2

MOV@R5+,&xxx

MOV@R5,&xxx

;Загрузка адреса RESLO в R5 для косвенной ;адресации

;Загрузка первого операнда ;Загрузка второго операнда ;Необходим один цикл ;Пересылка RESLO ;Пересылка RESHI

725. Использование прерываний

Если прерывание произошло после записи OP1, но до записи OP2, а умножитель используется в процедуре обработки прерывания, исходный выбранный режим умножителя будет потерян и результат станет непредсказуемым. Чтобы этого избежать, нужно отключать прерывания перед использованием аппаратного умножителя и не использовать его в процедурах обработки прерывания.

;Отключение прерываний перед использованием аппаратного умножителя

MOV #xxh,&MPY MOV #xxh,&OP2 EINT

;Запрещение прерываний ;Требуется для DINT ;Загрузка первого операнда ;Загрузка второго операнда ;Разрешение прерываний ;Обработка результатов

7.3. Регистры аппаратного умножителя

Перечень регистров аппаратного умножителя приведен в таблице 7.4.

Таблица 7-4. Регистры аппаратного умножителя

Регистр

Краткое обозначение

Тип регистра

Исходное состояние

Операнд один - умножение

Чтение/запись

Неизменное

Операнд один - умножение со знаком

Чтение/запись

Неизменное

Операнд один - умножение с накоплением

Чтение/запись

Неизменное

Операнд один - умножение со знаком и накоплением

Чтение/запись

Неизменное

Операнд два

Чтение/запись

Неизменное

Младшее слово результата

Чтение/запись

Неопределенное

Старшее слово результата

Чтение/запись

Неопределенное

Регистр знакового дополнения

Неопределенное


Контроллер DMA

Раздел VIII.

Texas Instruments



[стр.Начало] [стр.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]