开源个我的 x86 架构操作系统的 boot 程序

现在还是人类 打杂  2013-03-31 10:49:39
http://blog.csdn.net/supermanking/article/details/8741446

虽然技术含量不高,但还是拿出来分享一下,希望大家给点意见。
...全文
219 点赞 收藏 17
写回复
17 条回复
现在还是人类 2013年04月08日
引用 16 楼 chuifengde 的回复:
周文星是周武星的哥哥还是弟弟?
那文曲星是武曲星的哥哥还是弟弟?
回复 点赞
chuifengde 2013年04月08日
周文星是周武星的哥哥还是弟弟?
回复 点赞
熊孩子开学喽 2013年04月07日
佩服佩服, 咱汇编都还给老师啦. 现在只会VB.
回复 点赞
myjisgreat 2013年04月04日
牛贴顶起啊!
回复 点赞
Tiger_Zhao 2013年04月02日
瞄了几眼,注释写的不错
回复 点赞
东方之珠 2013年04月02日
引用 9 楼 SupermanKing 的回复:
在这里简单的介绍一下汇编的用法,大家应该能看懂的。 汇编里 JMP 是跳转语句,就和 VB 的 Goto 差不多, JMP MAIN ... MAIN: ... 其实就是和 VB 里的 Goto MAIN ... MAIN: ... 差不多。 汇编里的 CALL 其实也是一个跳转语句,也可以理解成 VB 的 Goto 语句,不过他与 JMP 的区别在于当 CAL……
呵呵,不错!我汇编就没有学好,都忘得差不多了。汇编的返回指令好像不止一个,调用中断向量,有中断返回iret,CX是计数寄存器,其它的好像都忘了。
回复 点赞
现在还是人类 2013年04月01日
引用 10 楼 yiguangqiang88 的回复:
大神万岁……向大神学习…… 久仰人类好久了……
什么大婶,我现在是非专业的好不好,呵呵
回复 点赞
大神万岁……向大神学习…… 久仰人类好久了……
回复 点赞
东方之珠 2013年04月01日
全是汇编代码,看不太懂。很有技术水平嘛!
回复 点赞
现在还是人类 2013年04月01日
在这里简单的介绍一下汇编的用法,大家应该能看懂的。 汇编里 JMP 是跳转语句,就和 VB 的 Goto 差不多, JMP MAIN ... MAIN: ... 其实就是和 VB 里的 Goto MAIN ... MAIN: ... 差不多。 汇编里的 CALL 其实也是一个跳转语句,也可以理解成 VB 的 Goto 语句,不过他与 JMP 的区别在于当 CALL 某个段落时,遇到 RET 语句,程序则返回到 CALL 语句的下一条语句执行,这样就可以实现类似于函数的过程调用效果,如加法运算函数,VB这么写: Private Const Add1= 1 Private Const Add2= 2 CX = Sun(Add1,Add2) function Sun(AX As Integer,BX As Integer) As Integer Sun = AX+BX End Function 在汇编里大致是这样做: Add1 EQU 1 Add2 EQU 2 MOV AX, Add1 ; 向通用寄存器 AX 里赋值 MOV BX, Add2 ; 向通用寄存器 BX 里赋值 CALL Sun ; 调用函数 ; 这时候 CX 寄存器就得到结果了 ... ; 这里相当于一个函数 ; 该函数输入参数有两个,AX和BX寄存器,是要相加的两个参数(这是随便定义的,不过 ; 通用寄存器不多,基本上选择也不多,当然也可以用段寄存器或是其他的,只是使用起 ; 来就麻烦多了) ; 受影响的寄存器CX,CX为返回结果寄存器 Sun: PUSH AX ; 将 AX 的值放入栈里 ADD AX, BX ; AX与BX寄存器进行加法运算并把结果放入AX寄存器里 MOV CX, AX ; 将AX寄存器的值放到要返回的CX寄存器中 POP AX ; 恢复AX入栈时的值(出栈,这样AX的值就不会受到影响) RET ; 应为整个函数过程内唯一与调用该过程时可能受到改变的只有CX寄存器,所以函数说明中 ; 只有说明“受影响的寄存器CX”,并指明“CX为返回结果寄存器” 其实汇编的书里都是用这种方法对相关参数说明的,看习惯了就好。
回复 点赞
现在还是人类 2013年04月01日
引用 7 楼 chenjl1031 的回复:
全是汇编代码,看不太懂。很有技术水平嘛!
在汇编里,就几个概念弄清楚了,比 basic 还简单,其实没想像的那么复杂,如果你认真看一下汇编,你就会发现这些真的没什么技术含量了,不过从系统启动原理来看,还是值得参考的,毕竟我的注解很多,呵呵。
回复 点赞
proer9988 2013年04月01日
good.............
回复 点赞
舉杯邀明月 2013年03月31日
哈哈,顶一下!
回复 点赞
贝隆 2013年03月31日
很有技术含量,upupupupupupupupupupupupupupupupupup
回复 点赞
酷心 2013年03月31日
路过帮顶,谢谢分享……
回复 点赞
worldy 2013年03月31日
呵呵LZ可以写bios了
回复 点赞
嗷嗷叫的老马 2013年03月31日
支持.帮顶,路过!还隐形路过一次........
回复 点赞
发动态
发帖子
非技术类
创建于2007-09-28

610

社区成员

2.7w+

社区内容

VB 版八卦、闲侃,联络感情地盘,禁广告帖、作业帖
社区公告
暂无公告