Сообщение от
ozforester
... Это 32-битное умножение и 64-битное деление вместе с другим полезным кодом в t13 не влезало, это я подкоркой запомнил.
Нет. С Ардуиновское MicroCore к ATtiny13 код влезает в память: и с 64-битное деление, и с float (как и в PIC с float, там нет 64 бит), но хочу меньше ресурсов за другие функции: енкодер, дисплей и т.д. .
---
Мой вопрос скорее информативный. На самом деле код умножения не большой. lst файл. Так и будет, только калибровка точности VFO (correction) заключалась бы в том, чтобы хочу вводить его в 125000000 Hz, а не в float коэффициент. В float усложняет расчет.
Код:
.................... float fr = f * 34.360030370; // 2^32 / F_MCLK = 4294967296 / 125000000 = 34.359738368
.................... f = (uint32_t)fr;
00B3: MOVF 28,W
00B4: MOVWF 2E
00B5: MOVF 27,W
00B6: MOVWF 2D
00B7: MOVF 26,W
00B8: MOVWF 2C
00B9: MOVF 25,W
00BA: MOVWF 2B
*
00D9: MOVF 7A,W
00DA: MOVWF 24
00DB: MOVF 79,W
00DC: MOVWF 23
00DD: MOVF 78,W
00DE: MOVWF 22
00DF: MOVF 77,W
00E0: MOVWF 21
....................