Я пытаюсь написать функцию, которая будет выводить сообщение на экран, используя буфер текстового режима VGA.
Это функция, которая печатает один символ:
void putc(uint8_t c, enum Color term_color)
{
uint8_t *vidptr = (uint8_t*)0xB8000;
*vidptr = c;
vidptr++;
*vidptr = (uint8_t*)term_color;
vidptr++;
}
Вот функция, которую я хочу напечатать строку:
void puts(const uint8_t* str, enum Color term_color)
{
for(size_t i = 0; i != '\0'; i++) {
putc(str[i], term_color);
}
}
Но это ничего не печатает. Там просто черный экран с мигающим курсором.
РЕДАКТИРОВАТЬ: первая функция, которая печатает один символ работает.