def.h
来自「别人的根据linux0.11改的一个小的操作系统」· C头文件 代码 · 共 54 行
H
54 行
/*
* def.h
* There have some constants that we will use.
*/
#ifndef _DEF_H
#define _DEF_H
#define NULL (void *)0x0000 /* Mark the null pointer */
#define CODESEL 0x0008 /* Code segment selector, global... */
#define DATASEL 0x0010 /* Data segment selector, global... */
#define VIDEOSEL 0x0018 /* Display buffer segment selector, global... */
#define PG_DIR 0x0000 /* Page directory start with here. */
#define PG_DIR_LEN 0x1000 /* The length of page directory is 0x1000. */
#define PG_LEN 0x1000 /* The length per memory page. */
#define PG0 0x1000 /* page table 0 start with here */
#define PG1 0x2000 /* page table 1 ... */
#define PG2 0x3000
#define PG3 0x4000
#define PG4 0x5000
#define PG5 0x6000
#define PG6 0x7000
#define PG7 0x8000
#define GDT_LEN 0x0800
#define IDT_LEN 0x0800
void outportb(unsigned short, unsigned char);
unsigned char inportb(unsigned short); /* In fact,those ougth to be declared in stdio.h */
/* Read data from CMOS */
#define CMOS_READ(addr) ({\
outportb(0x80|addr,0x70);\
inportb(0x71);\
})
/*there have some macro used for setting or getting cursor position */
extern unsigned long _scr_loc; /* The _scr_loc define at file system.asm. */
#define setCursor(col,row) (_scr_loc=((row)*160+(col)))
#define getCursorCol() (_scr_loc%160)
#define getCursorRow() (_scr_loc/160)
void clrscr();
void scrup();
void print(char *);
extern unsigned long _jiffs; /* Mark the ticks. */
extern void showChar(char); /* Show a char. */
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?