Я знаком с языком программирования C и сборкой z80, и я сделал простой компьютер z80 только с процессором с 32 КБ оперативной памяти, 32 КБ ПЗУ и 8255 pia для управления вводом-выводом. Я заставил 8255 подключить светодиод к моей системе с помощью подпрограммы на языке ассемблера.
Итак, вопрос: если есть SDCC (компилятор C для малых устройств), который может скомпилировать программу C в сборку для различных небольших процессоров, включая z80, как создать программу C, если нет библиотек stdio или каких-либо библиотек? вид из-за того, насколько индивидуальна эта система. Должен ли я сначала использовать сборку, а затем создавать и вызывать функцию как процедуру ASM? Я неправильно понимаю какую-то ключевую идею? Я совсем запутался в том, как это работает. Я не могу просто printf() в системе без вывода. Не говоря уже о том, что printf() предполагает, что терминал каким-то образом подключен.
<float.h>
,<iso646.h>
,<limits.h>
,<stdalign.h>
,<stdarg.h>
,<stdbool.h>
,<stddef.h>
,<stdint.h>
и<stdnoreturn.h>
. - person pmg   schedule 24.11.2020main
. В сборке наверное_main
. Ваш код C не должен возвращаться изmain
или вызыватьexit
. И затем, возможно, есть еще 200 вещей, которые вам нужно сделать правильно, прежде чем это заработает. Например, очистка BSS и копирование инициализированных ДАННЫХ из ПЗУ в ОЗУ. - person user3386109   schedule 24.11.2020printf
, если нет экрана для печати? - person TonyK   schedule 25.11.2020printf
выводит в потокstdout
- это не обязательно должен быть экран. Чаще всего в небольших встроенных системах он реализован на UART, поэтому дисплеем является терминал или, что более вероятно, эмулятор терминала, работающий на ПК. - person Clifford   schedule 25.11.2020