wiliam 发表于 2014-4-12 14:35:36

关于引导系统的题

请问如何把hello这句话写入到mbr里然后让他先显示这句话在去引导真正的系统??? 求解    我好像试了一下但是我点了八个exe 没反应啊??

最好是明天 发表于 2014-4-12 15:35:50

顶起,高手快点出来指点

无名侠 发表于 2014-4-12 20:13:47

这个很简单
首先,你需要一个 nasm 编译器。 编译已下代码:
       
org        07c00h                        ; 告诉编译器程序加载到7c00处
        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 = 13,AL = 01h
        mov        bx, 000ch                ; 页号为0(BH = 0) 黑底红字(BL = 0Ch,高亮)
        mov        dl, 0
        int        10h                        ; 10h 号中断
        ret
BootMessage:                db        "Hello,world!"
times         510-($-$$)        db        0        ; 填充剩下的空间,使生成的二进制代码恰好为512字节
dw         0xaa55                                ; 结束标志

;--------------
;编译方法 :
;设ASM源文件为 C:\boot.asm
;打开CMD
;运行 nasm.exe C:\boot.asm -o C:\boot.img
; C:\boot.img 就是引导。
;然后打开虚拟机
;新建一个虚拟机 配置不必太高。
; 然后选择软盘启动,并设置软盘路径为 C:\boot.img
;运行虚拟机
;享受Hello World OS 给你带来的喜悦把。

wiliam 发表于 2014-4-12 20:32:59

无名侠 发表于 2014-4-12 20:13 static/image/common/back.gif
这个很简单
首先,你需要一个 nasm 编译器。 编译已下代码:
       


大神 可以用 dos中断的 int 21 来显示吗????

无名侠 发表于 2014-4-12 20:57:29

wiliam 发表于 2014-4-12 20:32 static/image/common/back.gif
大神 可以用 dos中断的 int 21 来显示吗????
当然,现在可是正宗的实模式,访问IO都不受限制的。错了,现在没有DOS系统哈,只有BIOS。
LZ可以用int 0x13来干些坏死,说笑了。

wiliam 发表于 2014-4-12 21:04:15

无名侠 发表于 2014-4-12 20:57 static/image/common/back.gif
当然,现在可是正宗的实模式,访问IO都不受限制的。错了,现在没有DOS系统哈,只有BIOS。
LZ可以用int 0 ...

有点看不懂代码    为什么要无限循环呢??

无名侠 发表于 2014-4-12 21:39:00

wiliam 发表于 2014-4-12 21:04 static/image/common/back.gif
有点看不懂代码    为什么要无限循环呢??

后面的内存是为初始化代码,执行过去会发生未知的错误,很危险的。

oggplay 发表于 2014-4-12 22:41:24

本帖最后由 oggplay 于 2014-4-12 22:42 编辑

你如果真写进去就要用系统恢复盘了

wiliam 发表于 2014-4-18 13:20:44

无名侠 发表于 2014-4-12 20:13 static/image/common/back.gif
这个很简单
首先,你需要一个 nasm 编译器。 编译已下代码:
       


我这么调试怎么不行呢?? 求解啊

..电脑/晕 发表于 2014-4-18 18:03:48

学习了...什么系统的呢

helingyuan 发表于 2014-4-21 16:48:48

这个是你需要的:http://hi.baidu.com/helingyuan/item/4dcb9314aba1a99c98ce3367
页: [1]
查看完整版本: 关于引导系统的题