文件名称:OS3
介绍说明--下载内容均来自于网络,请自行研究使用
参考《Orange’s》,在之前搭建的 nasm + bochs 实验平台上完成一个接受键盘输入,回显到屏幕上的程序,具体要求如下:
• 从屏幕左上角开始,显示键盘输入的字符。可以输入并显示 a-z 和 0-9 字 符。
• 支持大小写,包括 Shift 组合键以及大写锁定两种方式。
• 支持回车键换行。
• 支持删除退格,退格如果退回上一行,必须退回该行编辑的最后一个字符 处。
• 支持空格键和 Tab 键,其中对于 Tab 键如果实现其作为制表符(即使用 了 Tab 的位置输入退格时会退四格),将会得到加分。
• 每隔 20 秒左右, 清空屏幕。输入的字符重新从屏幕左上角开始显示。
• 若按下 F1 到 F5, 分别切换到不同颜色进行输出。
• 要求有光标显示, 固定光标或者闪烁光标均可, 但一定要跟随输入字符的 位置变化。
• 要求支持一种特殊的组合键,规则为当同时按下 Shift 和 Tab 键的情况 下,输入键盘上的 Q, A, Z, W, S, X 键时,显示的内容是其右边一个键的 内容,即对应显示 W, S, X, E, D, C。对其他键不做要求。
-Reference Orange s , in the previous nasm+ bochs built a complete experimental platform to accept keyboard input echo to the program on the screen, the specific requirements are as follows:
• From the upper left corner of the screen to display the character keyboard. You can enter and display a-z, and 0-9 characters.
• support case, including the key combination Shift and Caps Lock in two ways.
• Support the Enter key line feed.
• supported the deletion backspace, backspace if the return on the line must be returned at the last character of the line editing.
• Support Spacebar, and Tab key, wherein if the Tab key to achieve it as a tab character (ie, when using the Tab position input backspace backspace four-fr a me), you will get extra points.
• Every 20 seconds, clear the screen. Character input display re-start the top left corner of the screen.
• If you press F1 to F5, respectively, switching to a different color output.
• req
• 从屏幕左上角开始,显示键盘输入的字符。可以输入并显示 a-z 和 0-9 字 符。
• 支持大小写,包括 Shift 组合键以及大写锁定两种方式。
• 支持回车键换行。
• 支持删除退格,退格如果退回上一行,必须退回该行编辑的最后一个字符 处。
• 支持空格键和 Tab 键,其中对于 Tab 键如果实现其作为制表符(即使用 了 Tab 的位置输入退格时会退四格),将会得到加分。
• 每隔 20 秒左右, 清空屏幕。输入的字符重新从屏幕左上角开始显示。
• 若按下 F1 到 F5, 分别切换到不同颜色进行输出。
• 要求有光标显示, 固定光标或者闪烁光标均可, 但一定要跟随输入字符的 位置变化。
• 要求支持一种特殊的组合键,规则为当同时按下 Shift 和 Tab 键的情况 下,输入键盘上的 Q, A, Z, W, S, X 键时,显示的内容是其右边一个键的 内容,即对应显示 W, S, X, E, D, C。对其他键不做要求。
-Reference Orange s , in the previous nasm+ bochs built a complete experimental platform to accept keyboard input echo to the program on the screen, the specific requirements are as follows:
• From the upper left corner of the screen to display the character keyboard. You can enter and display a-z, and 0-9 characters.
• support case, including the key combination Shift and Caps Lock in two ways.
• Support the Enter key line feed.
• supported the deletion backspace, backspace if the return on the line must be returned at the last character of the line editing.
• Support Spacebar, and Tab key, wherein if the Tab key to achieve it as a tab character (ie, when using the Tab position input backspace backspace four-fr a me), you will get extra points.
• Every 20 seconds, clear the screen. Character input display re-start the top left corner of the screen.
• If you press F1 to F5, respectively, switching to a different color output.
• req
(系统自动生成,下载前可以参看下载内容)
下载文件列表
瀹為獙涓塩ode
.............\.DS_Store
__MACOSX
........\瀹為獙涓塩ode
........\.............\._.DS_Store
瀹為獙涓塩ode\a.img
__MACOSX\瀹為獙涓塩ode\._a.img
瀹為獙涓塩ode\bochsrc
__MACOSX\瀹為獙涓塩ode\._bochsrc
瀹為獙涓塩ode\boot
.............\....\boot.asm
__MACOSX\瀹為獙涓塩ode\boot
........\.............\....\._boot.asm
瀹為獙涓塩ode\boot\boot.bin
__MACOSX\瀹為獙涓塩ode\boot\._boot.bin
瀹為獙涓塩ode\boot\include
.............\....\.......\fat12hdr.inc
__MACOSX\瀹為獙涓塩ode\boot\include
........\.............\....\.......\._fat12hdr.inc
瀹為獙涓塩ode\boot\include\load.inc
__MACOSX\瀹為獙涓塩ode\boot\include\._load.inc
瀹為獙涓塩ode\boot\include\pm.inc
__MACOSX\瀹為獙涓塩ode\boot\include\._pm.inc
........\.............\....\._include
瀹為獙涓塩ode\boot\loader.asm
__MACOSX\瀹為獙涓塩ode\boot\._loader.asm
瀹為獙涓塩ode\boot\loader.bin
__MACOSX\瀹為獙涓塩ode\boot\._loader.bin
........\.............\._boot
瀹為獙涓塩ode\include
.............\.......\console.h
__MACOSX\瀹為獙涓塩ode\include
........\.............\.......\._console.h
瀹為獙涓塩ode\include\const.h
__MACOSX\瀹為獙涓塩ode\include\._const.h
瀹為獙涓塩ode\include\global.h
__MACOSX\瀹為獙涓塩ode\include\._global.h
瀹為獙涓塩ode\include\keyboard.h
__MACOSX\瀹為獙涓塩ode\include\._keyboard.h
瀹為獙涓塩ode\include\keymap.h
__MACOSX\瀹為獙涓塩ode\include\._keymap.h
瀹為獙涓塩ode\include\proc.h
__MACOSX\瀹為獙涓塩ode\include\._proc.h
瀹為獙涓塩ode\include\protect.h
__MACOSX\瀹為獙涓塩ode\include\._protect.h
瀹為獙涓塩ode\include\proto.h
__MACOSX\瀹為獙涓塩ode\include\._proto.h
瀹為獙涓塩ode\include\sconst.inc
__MACOSX\瀹為獙涓塩ode\include\._sconst.inc
瀹為獙涓塩ode\include\string.h
__MACOSX\瀹為獙涓塩ode\include\._string.h
瀹為獙涓塩ode\include\tty.h
__MACOSX\瀹為獙涓塩ode\include\._tty.h
瀹為獙涓塩ode\include\type.h
__MACOSX\瀹為獙涓塩ode\include\._type.h
........\.............\._include
瀹為獙涓塩ode\kernel
.............\......\clock.c
__MACOSX\瀹為獙涓塩ode\kernel
........\.............\......\._clock.c
瀹為獙涓塩ode\kernel\console.c
__MACOSX\瀹為獙涓塩ode\kernel\._console.c
瀹為獙涓塩ode\kernel\global.c
__MACOSX\瀹為獙涓塩ode\kernel\._global.c
瀹為獙涓塩ode\kernel\i8259.c
__MACOSX\瀹為獙涓塩ode\kernel\._i8259.c
瀹為獙涓塩ode\kernel\kernel.asm
__MACOSX\瀹為獙涓塩ode\kernel\._kernel.asm
瀹為獙涓塩ode\kernel\keyboard.c
__MACOSX\瀹為獙涓塩ode\kernel\._keyboard.c
瀹為獙涓塩ode\kernel\main.c
__MACOSX\瀹為獙涓塩ode\kernel\._main.c
瀹為獙涓塩ode\kernel\proc.c
__MACOSX\瀹為獙涓塩ode\kernel\._proc.c
瀹為獙涓塩ode\kernel\protect.c
__MACOSX\瀹為獙涓塩ode\kernel\._protect.c
瀹為獙涓塩ode\kernel\start.c
__MACOSX\瀹為獙涓塩ode\kernel\._start.c
瀹為獙涓塩ode\kernel\syscall.asm
__MACOSX\瀹為獙涓塩ode\kernel\._syscall.asm
瀹為獙涓塩ode\kernel\tty.c
__MACOSX\瀹為獙涓塩ode\kernel\._tty.c
........\.............\._kernel
瀹為獙涓塩ode\kernel.bin
__MACOSX\瀹為獙涓塩ode\._kernel.bin
瀹為獙涓塩ode\lib
.............\...\klib.c
__MACOSX\瀹為獙涓塩ode\lib
........\.............\...\._klib.c
瀹為獙涓塩ode\lib\kliba.asm
__MACOSX\瀹為獙涓塩ode\lib\._kliba.asm
瀹為獙涓塩ode\lib\string.asm
__MACOSX\瀹為獙涓塩ode\lib\._string.asm
........\.............\._lib
瀹為獙涓塩ode\Makefile
__MACOSX\瀹為獙涓塩ode\._Makefile
瀹為獙涓塩ode\鎴