我的学习之旅(18)console.h和console.c
来源:互联网 发布:怎么卸载kingroot软件 编辑:程序博客网 时间:2024/05/23 11:59
//设置屏幕的起始位置static void set_screen_origin(unsigned char flag){ if( flag ) cli(); outb_p(12, REG_PORT); outb_p(0xff&((g_screen_origin - DISP_BASE_ADDR) >> 9), VALUE_PORT); outb_p(13, REG_PORT); outb_p(0xff &((g_screen_origin - DISP_BASE_ADDR)>>1), VALUE_PORT); if( flag ) sti();}void clear_screen(unsigned color){ unsigned char *p; unsigned short i; unsigned int length = ( g_screen_bottom -g_screen_top) * BYTES_FOR_ONE_LINE; p = (unsigned char *)g_screen_origin; for(i = 0; i < length;i++) { *p++ = ' '; *p++ = color; } return;} inline void gotoxy(unsigned int new_x,unsigned int new_y){ //确保坐标在合理范围内if (new_x > DISP_MAX_X || new_y >= DISP_MAX_Y)return; /*刷新x,y坐标和显示内存中位置偏移。 y表示行号,x表示列号(x<<1)的目的:是一个字符+颜色占据两个字节。 */g_x=new_x;g_y=new_y;g_position=g_screen_origin + g_y*BYTES_FOR_ONE_LINE + (g_x<<1);}//在(g_x,g_y)坐标处设定光标inline void set_cursor(unsigned char flag){ if( flag) cli(); outb_p(14, REG_PORT);outb_p(0xff&((g_position-DISP_BASE_ADDR)>>9), VALUE_PORT);outb_p(15, REG_PORT);outb_p(0xff&((g_position-DISP_BASE_ADDR)>>1), VALUE_PORT); if( flag ) sti();}void console_init(void){ /*设置屏幕的起始位置*/ (void)set_screen_origin(0); /*清屏*/ (void)clear_screen(DISP_FG_WHITE + DISP_BG_BLACK); (void)gotoxy(0, 0); /*设置光标*/ (void)set_cursor(0);}
0 0
- 我的学习之旅(18)console.h和console.c
- 我的学习之旅(17)console.h和console.c
- 我的学习之旅(19)console.h和console.c
- 我的学习之旅(20)console.h和console.c
- 我的学习之旅 keyboard.h和keyboard.c
- 我的学习之旅keyboard.h和keyboard.c
- 我的学习之旅 keybaord.h和keyboard.c
- Console.read()、Console.readline()、Console.readkey()和Console.Write()、Console.Writeline()的区别
- Console.read()、Console.readline()、Console.readkey()和Console.Write、Console.Writeline()的意思
- console.dir()和console.log()的区别
- console.dir()和console.log()的区别
- Console学习
- 我的学习之旅(16)stdarg.h和vsprintf.c
- 我的学习之旅(23)traps.c和 start32.h
- include/console.h
- include/console.h
- console
- Console
- Meteor Start
- Android 4.4从图库选择图片,获取图片路径并裁剪
- SQL Server---Case When用法简介
- ImageMagick 制作 GIF 图像
- Mac下启动和停止Mysql服务
- 我的学习之旅(18)console.h和console.c
- dSYM atos crash log 定位到代码行的方法
- Mac OS 常用操作
- Android通过调用Webservice实现天气预报
- iOS开发 - UIView动画扩展块(UIViewAnimationWithBlocks)
- Android简单自定义圆形和水平ProgressBar
- Extjs Window用法详解
- 使用cocoaPads引用第三方库(以JSONKit为例)
- 设计模式 1----------简单工厂