Fixed some Task stuff, added DOSFS filesystem
This commit is contained in:
16
print.c
16
print.c
@@ -3,15 +3,25 @@
|
||||
char nibbleToHex(uint8_t n) {
|
||||
return n > 9 ? (n - 10) + 'A' : n + '0';
|
||||
}
|
||||
void printByte(uint8_t v, uint16_t *buff) {
|
||||
uintptr_t printByte(uint8_t v, uint16_t *buff) {
|
||||
*(char *)&buff[0] = nibbleToHex((v >> 4) & 0xF);
|
||||
*(char *)&buff[1] = nibbleToHex(v & 0xF);
|
||||
return 2;
|
||||
}
|
||||
void printWord(uint16_t v, uint16_t *buff) {
|
||||
uintptr_t printWord(uint16_t v, uint16_t *buff) {
|
||||
printByte(v >> 8, buff);
|
||||
printByte(v, &buff[2]);
|
||||
return 4;
|
||||
}
|
||||
void printDword(uint32_t v, uint16_t *buff) {
|
||||
uintptr_t printDword(uint32_t v, uint16_t *buff) {
|
||||
printWord(v >> 16, buff);
|
||||
printWord(v, &buff[4]);
|
||||
return 8;
|
||||
}
|
||||
|
||||
uintptr_t printStr(char *v, uint16_t *buff) {
|
||||
char *s;
|
||||
for (s = v;*s;s++,buff++)
|
||||
*(char*)buff = *s;
|
||||
return s - v;
|
||||
}
|
||||
|
Reference in New Issue
Block a user