学习30天自制操作系统笔记
无常亦常
生有涯而学无涯
展开
-
《30天自制操作系统》第五天学习笔记
这一章主要讲的是显示字符和GDT、IDT 字符的显示其实就是画出来,就是根据字的形状进行编码,比如: 上面就是通过16个字节对字符A进行的编码。只有在有1的位置进行颜色填充,就可以出现字了。 void putfont8(char *vram, int xsize, int x, int y, char c, char *font) { int i; char *p, d /* data */; for (i = 0; i < 16; i++) { p = vram + (y + i) *原创 2020-09-24 13:32:46 · 255 阅读 · 0 评论 -
《30天自制操作系统》第四课学习笔记
这一章只要是写了如何让屏幕显示我们想要的画面; 汇编文件nasfunc.nas是用来写一些要用汇编开实现的一些功能: ; naskfunc ; TAB=4 [FORMAT "WCOFF"] ; 制作目标文件的模式 [INSTRSET "i486p"] ; 使用到486为止的指令 [BITS 32] ; 3制作32位模式用的机器语言 [FILE "naskfunc.nas"] ; 文件名 GLOBAL _io_hlt, _io_cli, _io_sti, _io_stihl原创 2020-09-23 12:39:42 · 217 阅读 · 0 评论 -
《30天自制操作系统》第三课学习笔记
今天作者写了一个真正载入内存的IPL,用来讲磁盘上的数据载入内存当中 载入的程序节选是 MOV AX,0x0820 MOV ES,AX MOV CH,0 ; 柱面0 MOV DH,0 ; 磁头0 MOV CL,2 ; 扇区2 readloop: MOV SI,0 ; 记录失败次数寄存器 retry: MOV AH,0x02 ; AH=0x02 : 读入磁盘 MOV AL,1 ; 1个扇区 MOV BX,0 MOV DL原创 2020-08-23 12:48:26 · 289 阅读 · 0 评论 -
<30天自制操作系统>读书笔记---第二天
1、常见寄存器; AX – accumulator累加寄存器 CX – counter --计数寄存器 DX – date 数据寄存器 BX – base 基址寄存器 SP – stack pointer 栈指针寄存器 BP - - base pointer 基址指针寄存器 SI - - source index 源变址寄存器 DI - - destination index 目的变址寄存器 (注:上面的寄存器都是16位的,32位的前面有个字母E,表示拓展的原创 2020-07-27 20:58:00 · 193 阅读 · 0 评论