⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 用于汇编领域的,运用于OS的MAIN函数.基于硬件基础的源代码
💻 C
字号:
#include "hos.h"void start_kernel(void){	int a,i; float b=3.0;	long esp; short ss;	init_screen();	printk("start kernel starts\n"); 	__asm__ ("lss swapper_stack_start, %%esp\n\t"            "jmp L1\n\t"	    "swapper_stack_start:\n\t"	    ".long (init_task_union + 8192)\n\t"	    ".long 0x10\n\t"	    "L1:\n"::);	printk("init_task_union is at:%x \n", init_task_union);	__asm__ ("movl %%esp, %0\n\t"		 "movl %%ss, %1\n\t"		 :"=m"(esp),"=m"(ss):);	printk("esp is %x and ss is %x\n", esp, ss);	//init_screen();	tss_init();  // be ready for int	make_init_task();	current=init_task;	init_interrupt();	printk("after init interr\n");	init_timer();	printk("after init timer\n");	init_kbd();	printk("Hello from hos7\n");	printk("systick = [%d]\n", systick);	for(a = 0; a < 10000000; a++)		;		printk("systick = [%d]\n", systick);	//make_init_task();	//current=init_task;	// now move between p1 and p2	kernel_thread(p1_body);	kernel_thread(p2_body);	for(;;){		printk("p0");		for(i=0;i<10000000;i++) b=b+1.0;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -