Смотри команды: MULS ? MULSU и т.д. в инструкциях по AVR, там на асме, Вот пример оттуда
Код
Example:
;******************************************************************************
;* DESCRIPTION
;*Signed multiply of two 16-bit numbers with 32-bit result.
;* USAGE
;*r19:r18:r17:r16 = r23:r22 * r21:r20
;******************************************************************************
muls16x16_32:
clrr2
mulsr23, r21; (signed)ah * (signed)bh
movwr19:r18, r1:r0
mulr22, r20; al * bl
movwr17:r16, r1:r0
mulsur23, r20; (signed)ah * bl
sbcr19, r2
addr17, r0
adcr18, r1
adcr19, r2
mulsur21, r22; (signed)bh * al
sbcr19, r2
addr17, r0
adcr18, r1
adcr19, r2
ret
см. файл
Прикрепленные файлы
sys.pdf ( 645.78 килобайт )
Кол-во скачиваний: 216