Поиск
Показаны результаты для тегов 'arm cortex-m3'.
-
Добрый день! Что бы передать внутрь ассемблерной вставки половинки 64-битной переменной, использую union, примерно вот так: union u_i64 { int64_t i64; int32_t i32[2]; }; int64_t mul64(int32_t m1, int32_t m2) { register union u_i64 ret; asm volatile ( "smull %0, %1, %[m2], %[m1] \n" : "=r" (ret.i32[0]), "=r" (ret.i32[1]) : [m1] "r" (m1), [m2] "r" (m2) ); return ret.i64; } Но хотелось бы, что бы можно было на входе/выходе asm'а указывать непосредственно половинки большой переменной, что-то вроде "res.H" и "res.L". Или объявлять переменную с явным указанием пары регистров, примерно как register uint64_t res asm ("r0:r1"), тогда можно было бы скормить указанную пару r0 и r1. Беглый просмотр документации ответа не дал. Это вообще возможно? Заранее благодарю за ответ. Компилятор arm-none-eabi-gcc 5.4.1 из состава embitz 1.11, проект для Cortex-M3, если что.
- 10 ответов
-
- arm cortex-m3
- gcc
-
(и ещё 1 )
C тегом:
-
Пять лет назад компания GigaDevice представила свою дебютную линейку 32-битных микроконтроллеров GD32F1 на базе процессорного ядра ARM Cortex-M3. Это семейство чрезвычайно сильно напоминало популярные микроконтроллеры STM32F1 от STMicroelectronics. Об этой интересной ситуации мы рассказывали в статье «Европейский прагматизм, китайская хитрость. Новый ARM Cortex-M3 микроконтроллер от Giga Devices». С тех пор портфолио микроконтроллеров GigaDevice существенно расширилось за счет семейств и линеек, в том числе с процессорными ядрами ARM Cortex-M3, ARM Cortex-M4 и ARM Cortex-M23. И вот совсем недавно GigaDevice официально представила новое семейство 32-битных микроконтроллеров общего назначения GD32V103 на базе открытого ядра RISC-V. Подробнее >>
-
- gd32v103
- gigadevice
-
(и ещё 1 )
C тегом: