Added last part of paging, print_hex function and updated linker script

This commit is contained in:
ice-bit
2019-09-23 17:27:21 +02:00
parent 3eacf3ea21
commit 9b5bf087b5
7 changed files with 168 additions and 23 deletions

View File

@@ -92,6 +92,37 @@ void kprint_dec(uint32_t num) {
kprint(c2);
}
void kprint_hex(uint32_t num) {
int32_t tmp;
uint8_t no_zeros = 1;
kprint((uint8_t*)"0x");
for(int32_t i = 28; i > 0; i -= 4) {
tmp = (num >> i) & 0xF;
if(tmp == 0 && no_zeros != 0)
continue;
if(tmp >= 0xA) {
no_zeros = 0;
uint8_t *buf = (uint8_t*)tmp-0xA+'a';
kprint_c(buf, strlen(buf), WHITE, BLACK);
} else {
uint8_t *buf = (uint8_t*)tmp+'a';
kprint_c(buf, strlen(buf), WHITE, BLACK);
}
}
tmp = num & 0xF;
if(tmp >= 0xA) {
uint8_t *buf = (uint8_t*)tmp-0xA+'a';
kprint_c(buf, strlen(buf), WHITE, BLACK);
} else {
uint8_t *buf = (uint8_t*)tmp+'a';
kprint_c(buf, strlen(buf), WHITE, BLACK);
}
}
void init_prompt() {
uint8_t *prompt = (uint8_t*)"\nring0@iceOS-$ ";
kprint_c(prompt, strlen(prompt), LIGHT_RED, BLACK);