Баловался, значит, всякими непотребствами на STM32F103, непотребствами, потому что на ассемблере. И возникла такая ситуация, что понадобились мне динамические массивы. На C понятное дело есть malloc, но у меня же ассемблер… там нет. Нет, для ассемблера в принципе это не является особой проблемой, т.к. память с такого уровня это в принципе один большой массив, но как-то внести больший в порядок по их использованию и облегчить себе жизнь в плане выделения/удаления потребовалось. Не долго горюя на тему "что делать", решил просто делать менеджер памяти. Поскольку оперативки у меня было не много (20кБ) менеджер не должен быть сильно сложным и тяжеловесным. Для начала определился для себя с интерфейсом вызова подпрограмм и структурой массива. Результат выполнения всегда находится в регистре R5, передача параметров в функции через регистры R0-R4. Так как мне не очень нравится тема в С для стандартного массива постоянно таскать всюду еще отдельно его размер - решил, что пожертвую частью памяти
Баловство дилетанта в IT, или динамическая память на ассемблере?!!
29 декабря 202329 дек 2023
7
2 мин