Archive for 编写操作系统

之前搜索过,以前在mac上搞过gdk还是啥的对x11阴影很大,这次想着只管搞一下,开虚拟机太费劲了。 mikecoder.cn/?post=116 安装这篇文章搞定了,备份一下。 brew install sdl ./configure --enable-ne2000 --enable-all-optimizations --enable-cpu-level=6 --enable-x86-64 --enable-vmx=2 --enable-pci --enable-usb --enable-usb-ohci --enable-e1000 --enable-debugger --enable-disasm --disable-debugger-gui

Continue

clear主要作用是清屏 ax=0600h初始化屏幕 cx起始位置 dx结束位置 然后调用bios中断 clear下边是设置光标的位置 ah=02h dh行,dl列 DispStr主要打印hello world 详细介绍google搜索得到。 boot/boot.asm代码: <pre lang="asm"> org 07c00h mov ax,cx mov ds,ax mov es,ax call clear call DispStr jmp $ clear: mov cx,00h mov dx, 2580h mov bh, 00h mov ax, 0600h int 10h mov bh, 00h mov dh, 11h mov dl, 00h mov ah, 02h int 10h ret DispStr: mov ax,BootMessage mov bp, ax mov cx,

Continue

lisp群里有人写操作系统,我又想起了以前写的。以前写的没做完,当时有很多不明白的,现在决定看书再做一遍。 环境搭建:系统是ubuntu,编译器gcc,make,nasm,虚拟机bochs,然后应该没了。 bochsrc.txt文件配置 floppya: image=./img/a.img, status=inserted,加载软盘镜像 ata0-master: type=disk, path="./img/c.img", mode=flat, cylinders=20, heads=16, spt=63, 硬盘镜像,这个还没用,建了个10M的文件 boot: floppy,,启动顺序 #boot: disk log: ./log/bochsout.txt 日志记录 parport1: enabled=1, file="./log/parport.out"# 并口的数据记录文件 应该在没啥了,有错误可以再改。 Makefile文件配置 <pre> build/boot : boot/boot.asm nasm boot/boot.a

Continue

$ sudo apt-get install build-essential xorg-dev libgtk2.0-dev 编译bochs $ ./configure --enable-debugger --enable-disasm $ sudo make $ sudo make install 记录几个目录: /usr/local/bin/bochs Bochs启动程序 /usr/local/bin/bximage Bochs带的制作磁盘镜像文件的工具 /usr/local/share/doc/bochsrc-sample.txt Bochs的配置文件例子 配置文件官方给的例子有详细的解释,修改一下就好。比如我编译的bochs的版本为 bochs-2.5.1,提示错误: device: hd message:ata0-0:could not open hard drive image file '30M.sample' 你可以新建一个hd img 也可以把配置文件里hd注释掉,再修改一下boot就好了. 这样安装的bochs带

Continue