Top.Mail.Ru
Ответы

Как сделать ввод текста, вывод текста, команду print для терминала системы. си

Как сделать ввод текста, вывод текста, команду print для терминала системы. на языке си.
Вот мой код:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
 /* 
 * 
 * kernel.c - version 0.0.1 
 *  
 */ 
 
 
#define WHITE_TXT 0x43 /* light gray on black text */ 
 
void k_clear_screen(); 
unsigned int k_printf(char *message, unsigned int line); 
 
/* simple kernel written in C */ 
void k_main()  
{ 
	k_clear_screen(); 
	k_printf("AmogusOS v1.0 by ME", 0); 
}; 
 
/* k_clear_screen : to clear the entire text screen */ 
void k_clear_screen() 
{ 
	char *vidmem = (char *) 0xb8000; 
	unsigned int i=0; 
	while(i < (80*25*2)) 
	{ 
		vidmem[i]=' '; 
		i++; 
		vidmem[i]=WHITE_TXT; 
		i++; 
	}; 
}; 
 
/* k_printf : the message and the line # */ 
unsigned int k_printf(char *message, unsigned int line) 
{ 
	char *vidmem = (char *) 0xb8000; 
	unsigned int i=0; 
 
	i=(line*80*2); 
 
	while(*message!=0) 
	{ 
		if(*message=='\n') // check for a new line 
		{ 
			line++; 
			i=(line*80*2); 
			*message++; 
		} else { 
			vidmem[i]=*message; 
			*message++; 
			i++; 
			vidmem[i]=WHITE_TXT; 
			i++; 
		}; 
	}; 
 
	return(1); 
} 
 
По дате
По рейтингу
Аватар пользователя
Гуру
3мес

Смотри исходники DOS, они есть. Или FreeDOS.