linux-0.11调试教程,con

最后4个字母是EGAc对应8个字节0x07470745 0x07630741。

因为是EGAc,所以0xb8000是显存的起始地址,而这时origin 也设置为video_mem_start既0xb8000。

所以可以在0xb8030既第24个字母处(每个字母用2个字节表示),设置badc。

#define ORIG_VIDEO_MODE ((*(unsigned short *)0x90006) & 0xff)

所以,ORIG_VIDEO_MODE 为03不等于7,所以 运行 else /* If not, it is color. */

之后的语句。

又因为#define ORIG_VIDEO_EGA_BX (*(unsigned short *)0x9000a)

所以ORIG_VIDEO_EGA_BX 为0x0003,不等于0x10,所以会运行下面的语句。

if ((ORIG_VIDEO_EGA_BX & 0xff) != 0x10) { video_type = VIDEO_TYPE_EGAC; video_mem_end = 0xbc000; display_desc = "EGAc"; }相关代码:

void con_init(void){ register unsigned char a; char *display_desc = "????"; char *display_ptr; video_num_columns = ORIG_VIDEO_COLS; video_size_row = video_num_columns * 2; video_num_lines = ORIG_VIDEO_LINES; video_page = ORIG_VIDEO_PAGE; video_erase_char = 0x0720; if (ORIG_VIDEO_MODE == 7) /* Is this a monochrome display? */ { video_mem_start = 0xb0000; video_port_reg = 0x3b4; video_port_val = 0x3b5; if ((ORIG_VIDEO_EGA_BX & 0xff) != 0x10) { video_type = VIDEO_TYPE_EGAM; video_mem_end = 0xb8000; display_desc = "EGAm"; } else { video_type = VIDEO_TYPE_MDA; video_mem_end = 0xb2000; display_desc = "*MDA"; } } else /* If not, it is color. */ { video_mem_start = 0xb8000; video_port_reg = 0x3d4; video_port_val = 0x3d5; if ((ORIG_VIDEO_EGA_BX & 0xff) != 0x10) { video_type = VIDEO_TYPE_EGAC; video_mem_end = 0xbc000; display_desc = "EGAc"; } else { video_type = VIDEO_TYPE_CGA; video_mem_end = 0xba000; display_desc = "*CGA"; } } /* Let the user known what kind of display driver we are using */ display_ptr = ((char *)video_mem_start) + video_size_row – 8; while (*display_desc) { *display_ptr++ = *display_desc++; display_ptr++; } /* Initialize the variables used for scrolling (mostly EGA/VGA) */ origin = video_mem_start; scr_end = video_mem_start + video_num_lines * video_size_row; top = 0; bottom = video_num_lines; gotoxy(ORIG_X,ORIG_Y); set_trap_gate(0x21,&keyboard_interrupt); outb_p(inb_p(0x21)&0xfd,0x21); a=inb_p(0x61); outb_p(a|0x80,0x61); outb(a,0x61);}

以后我会去到很多很繁华或苍凉,

linux-0.11调试教程,con

相关文章:

你感兴趣的文章:

标签云: