操作系统
文章平均质量分 90
顺子2025
这个作者很懒,什么都没留下…
展开
-
PaperTigerOS(第四天)
用C语言实现内存写入(harib01a)昨天我们成功地让画面显示黑屏了,还是往画面上画点儿什么东西比较有趣。只要往VRAM里写点什么就可以了。但是在C语言中又没有直接写入指定内存地址的语句。所以,我们干脆就创建一个有这种功能的函数。下面就来修改一下naskfunc.nas。naskfunc.nas里添加的部分_write_mem8: ; void write_mem8(int addr, int data); MOV ECX, [ESP+4] ; [原创 2022-09-19 17:20:31 · 912 阅读 · 0 评论 -
BIOS中断大全(表格)
出口参数:CF=0——操作成功,DX=实际读入的字节数,ES:BX指向最后一个字节的后面地址,否则,AH=状态码,其值含义如下: 01H。出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明。出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明。出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明。00H 40×25 16色 文本 01H 40×25 16色 文本。转载 2022-09-09 19:53:19 · 1825 阅读 · 0 评论 -
PaperTigerOS(第3天)
到昨天为止我们讲到的启动区,虽然也称为IPL(Initial Program Loader,启动程序装载器),但它实质上并没有装载任何程序。而从今天起,我们要真的用它来装载程序了。因为磁盘最初的512字节是启动区,所以要装载下一个512字节的内容。我们来修改一下程序。改好的程序就是projects/03_day下的harib00a,像以前一样,我们把它复制到tolset里来。这次添加的内容大致如下。本次添加的部分MOV AX,0x0820MOV ES, AXMOV原创 2022-08-13 19:34:53 · 943 阅读 · 0 评论 -
PaperTigerOS(第2天)
尚未讲解清楚的就只有程序核心部分了,把它改写成更简单易懂的形式。先把projects/02_day中的helloos3复制到tolset中,然后打开其中的helloos.nas文件。这个文件太长了,我们节选一部分来讲解。helloos.nas节选; hello-os; TAB=4 ORG 0x7c00 ; 指明程序的装载地址; 以下的记述用于标准FAT12格式的软盘 JMP entry DB 0原创 2022-07-11 07:54:54 · 307 阅读 · 0 评论 -
PaperTigerOS(第1天)
从键盘上直接输入EB4E904845……就可以了,从000090开始后面全都是00,一直输入到最后168000这个地址。想保存一下中间结果,这时可以从菜单上选择“文件”(File)→“另存为”(Save As),画面上就会弹出保存文件的对话框。我们可以随便取个名字进行保存,笔者推荐使用“helloos.img”。想要打开保存过的文件时,首先要启动Bz.exe,从菜单上选择“文件”(File)→“打开”(O........................原创 2022-07-07 18:26:23 · 321 阅读 · 0 评论