自制操作系统——01(Hello,world!)
来源:互联网 发布:java简单记事本源代码 编辑:程序博客网 时间:2024/04/29 23:42
boot.asm 程序代码:
org 0x7c00;加载本程序至内存0x7c00处,如果省略,那么标号后面必须手动加上0x7c00mov bp,szBuffer;将标号地址赋值给bpmov ah,0x0e;显示字符(ah值的选择可参考BIOS int 10h参数表)mov cx,12;这里显示12个字符mov bx,0h;初始化计数器bx为0print_str:mov bp,szBuffer;将字符串的地址赋值给bpadd bp,bx;将字符串首字符的地址加上已经显示过的字符数,就得到当前要显示的字符地址mov al,[bp];将当前字符的地址中存储的字符赋值给aladd bx,1h;累加bxint 10h;显示当前字符loop print_str;循环显示,直到12个字符显示完毕loop: jmp loop;死循环挂起szBuffer: dw "hello,world!",0times 510-($-$$) db 0;凑齐512个字符,不足添0dw 0x55aa;可引导扇区必须以0x aa 55结尾
编译命令:
nasm boot.asm -f bin -o boot.img
用Virtual Box测试效果:
0 0
- 自制操作系统——01(Hello,world!)
- 自制操作系统1-hello world!
- 自制操作系统-最简单的系统hello World
- 操作系统——一个简单的Hello World
- Metapost—Hello World
- GStreamer基础教程01——Hello World
- GStreamer基础教程01——Hello World
- GStreamer基础教程01——Hello World
- GStreamer基础教程01——Hello World
- GStreamer基础教程01——Hello World
- GStreamer基础教程01——Hello World
- Python基础01——Hello World!
- GStreamer基础教程01——Hello World
- GStreamer基础教程01——Hello World
- Python 基础01—Hello World
- BootStrap学习—01(Hello World)
- CppUnit——Hello, World
- 《Hello World——java》
- java服务端对多个客户端的群聊功能代码实现
- 17 个 Linux 下用于 C/C++ 的最好的 IDE
- SAP一句话入门:SD+PP+MM+FICO+HR(转)
- 每次推荐一个----Android Studio中的几个比较重要的快捷键
- 如何获取SVG中g标签的宽高及位置坐标
- 自制操作系统——01(Hello,world!)
- Xcode7.3中不提示自定义类名的不完美解决方案
- windows_TomCat配置
- eclipse导入java和android sdk源码,帮助文档
- Spring MVC源码分析
- PAT(B) - 1059. C语言竞赛(20)
- 手机端中有的图片可以显示有的不显示的问题
- PAT(B) - 1057. 数零壹(20)
- AsyncTask 异步任务解析