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

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

虽然技术含量不高,但还是拿出来分享一下,希望大家给点意见。
...全文
361 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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
  • 打赏
  • 举报
回复
支持.帮顶,路过!还隐形路过一次........

743

社区成员

发帖
与我相关
我的任务
社区描述
VB 版八卦、闲侃,联络感情地盘,禁广告帖、作业帖
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧