当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 上次的文章结束的时候把一大段我的Boot Loader贴出来了,
 

 

    摘要:环境:操作系统windows2000。domino smtp的配置一切都正常,有正确配置的服务器文档、配置文档、全球网络域文档及所有正确的个人文档。dns的设置也没有问题。服务器配置了两个网卡,各自有一个子网ip地址。 症状:发送邮件到internet,服务器返回错误信息:failed to connect to smtp host <interner mail server> be......
 ·抽象机模式    »显示摘要«
    摘要: 抽象机模式 (已发表在《程序员》2003年第1期上)  撰文/julio garcía-martín miguel sutil-martín universidad politécnica de madrid[1] 翻译/马维达 摘要 由于现代高级编程语言和现有硬件之间的差异日渐增大,常常有必要引入中间语言、并在原始硬件之上构建抽象机。本论文描述了抽象机(abst......


关于16位的OS尝试(2)
上一页   ...  mov si, welcomemsg

  call putstr 【程序编程相关:中小企业服务器配置方案(文件服务器之NF

【推荐阅读:中小企业服务器配置方案(文件服务器之FT

程序中entry开始进入执行.下面的汇编代码就用不着我解释了吧.首先把0x0000传到ds去.因为我们这个程序是在0x0000:0x7c00执行,那么段地址应该是0x0000,否则后面我们的welcomemsg就显示不出来了. 【扩展信息:中小企业服务器配置方案(IP伪装)

然后调用一个子程序putstr.它的功能就是显示一个字符串.参数是放在si寄存器中的,我把welcomemsg的地址传给si,然后调用call putstr,就可以显示出来welcome to my operating system.看到这里,很多人都会兴奋不已的.毕竟看到自己的"操作系统"为自己打印出来一句话,确实让人高兴!但是没有完,这个boot loader程序连个真正的boot loader程序都算不上,怎么能说是操作系统.

putstr:

    lodsb  

    or al, al 

    jz putstrd 

    mov ah, 0x0e

    mov bx, 0x0007

    int 0x10

    jmp putstr

putstrd:

    retn

这个子程序就不讲了吧,很简单,就是调用bios 10h显示字符的中断.需要注意的是,不要使用21h dos中断来显示字符哦!因为那是dos的东西,这里是在启动另外一个"操作系统",怎么用得了dos的中断,是不是?

size equ $ - entry

%if size+2 > 512

  %error "code is too large for boot sector"

%endif

 times (512 - size - 2) db 0

这段蓝色的代码不是我们程序的,只是为了控制我们的这个程序大小为512个字节而显示的.因为这个程序是放在软盘的第一个扇区里,是为软盘的第一个扇区量身打造的,所以大小一定要是512字节,也既是一个扇区的大小.

db 0x55, 0xaa


...   下一页
    摘要:帮朋友jacques lebrun贴这篇帖子,顺便提醒某些过于容易激动的读者:当你开口批评之前,你有没有想过,自己究竟有没有批评的资格?当然,孔雀开屏式的批评没人能阻止。不过有句老话说得好,你拿自己当根葱,还真有人拿你蘸酱? “书评的目的是,让评论者对一本自己看过或者没看过的书说点儿什么。评论只在一个意义上有指导作用,那就是它向书评的读者——包括原书的作者——提供了一些关于评论者的智力的信......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE