#include #include #include #include // Buffer used for stringified number being printed __asm_export struct printf_buffer_number printf_buffer; // Print a formatted string. // https://en.wikipedia.org/wiki/Printf_format_string // This implementation supports decimal, octal and hexadecimal radix. It supports min length, left/right justify, zero-padding and always-sign. __intrinsic void printf(char* format, ...); /// Print a NUL-terminated string void printf_str(void (*putc)(char), const char* s) { char c; while(c=*s++) putc(c); } // Print a padding char a number of times void printf_padding(void (*putc)(char), char pad, char length) { for(char i=0;i