OS学习笔记(1)
来源:互联网 发布:java 短网址 编辑:程序博客网 时间:2024/06/11 01:43
使用汇编语言(nasm汇编器)实现一个bootsect,在屏幕上打印一个字符串。
boot.asm
org 07c00h ; BIOS加载bootsect到7c00地址, ; 所以编译第一条指令在7c00位置 ; 取得所在代码段(CS)值,初始化DS和ES,使代码数据指向同一段 mov ax, cs mov ds, ax mov es, ax call DispStr ; 调用显示例程 jmp $ ; 原地执行 (死循环)DispStr: mov ax, BootMessage mov bp, ax ; ES:BP 指向串地址 mov cx, 16 ; CX 串的长度 mov ax, 01301h ; AH = 13h, AL = 10h mov bx, 000ch ; BH = 0h (页0), BL = 0ch (黑底红字) mov dl, 0 int 10h retBootMessage: db "Hello, OS World!"; 填充为512字节,最后为55aa(识别为启动设备)times 510 - ($ - $$) db 0 dw 0xaa55
编译 nasm boot.asm -o boot.bin 生成boot.bin二进制文件
运行 qemu boot.bin
阅读全文
0 0
- OS学习笔记(1)
- uC/OS-II学习笔记(1)
- uC/OS学习笔记1
- ORANGE OS学习笔记1
- OS学习笔记(2)
- symbian os 学习笔记(1)——symbian os 中的“变态”C++
- python学习笔记(1)--os和os.path模块
- uc/os学习笔记1【uc/os的任务管理】
- Symbian OS Internals学习笔记(2)
- Python学习笔记(Python OS模块)
- Cent OS 学习笔记(一)
- uC/OS-II学习笔记(2)
- uC/OS-II学习笔记(3)
- UC/OS II 学习笔记(一)
- python学习笔记(26)--os模块
- uC/OS-III 学习笔记 (X)
- OS学习笔记
- OS 学习笔记导航
- 好现实的问题:电子工程师如何让自己变得“值钱”!
- springcloud学习(一)
- 准备投区块链?听听当下硅谷最火的四条投资军规
- TypeScript学习总结
- Qt基础——获取QGraphicsScene的缩略图即导出到图片
- OS学习笔记(1)
- ViewPager +Fragment Fragment销毁后状态保存恢复防止出现白屏
- IT开发的岔路口:究竟是Java好还是嵌入式好?
- WebView
- RESTful HttpServlet 示例
- Python学习-创建修改XML
- Java四种线程池的使用
- spring的线程池简单说明
- linux 之vim编辑器