我正在开发一个操作系统内核。我面临一个问题,直到内核的特定大小 - 8KB 它运行完美,但当它刚刚超过 8KB 时,它开始表现异常。清屏功能不起作用,滚动功能不起作用等。
我正在使用具有 1.44MB 软盘配置的 bochs 模拟器。
我的代码正常工作是 -
#include "functions.h"
#include "stdint.h"
#include "stddef.h"
#include "../drivers/colors.h"
void delay();
char getScancode();
void main()
{
/*Declarations*/
char* str = "Welcome to MyOS v0.2.4 By Anish Sharma 2017";
char* status = "Welcome Anish Sharma";
uint8_t i = 0;
for(i=0;i<80;i++)
putChar(' ',i,24,STATUS_COLOR);
write_string_line(STATUS_COLOR,status,24);
clrscr();
print("The KERNEL has been loaded successfully at 0x1000 (memory address)");
print(str);
print(">>>");
update_cursor(3,2);
for(i=0;i<80;i++)
{
putChar(0xdb,i,3,i);
}
for(i=0;i<80;i++)
{
putChar(0xdb,i,4,i);
}
for(i=0;i<80;i++)
{
putChar(0xdb,i,5,i);
}
for(i=0;i<80;i++)
{
putChar(0xdb,i,6,i);
}
for(i=0;i<80;i++)
{
putChar(0xdb,i,3,i);
}
}
输出是 -
添加另一个 -
for(i=0;i<80;i++)
{
putChar(0xdb,i,3,i);
}
输出是 -
谁能告诉我是什么导致了这个问题?