王源 汇编语言 课设2 8086-boot

代码见https://github.com/SuCicada/8086-Boot

第二版

2019/5/31 23:06
见 class2i.asm 文件
1、偏移地址可以从0开始算了!
将要拷贝软盘中的代码放到新的data段中,然后在 0:7c00h 处的代码一开始就跳转 07c0:0h 处,这样就解决了偏移地址无法从0开始算的问题,可以抛弃 偏移量 site 的做法了。
2、引导操作系统一步到位
废弃了将代码(what拷贝硬盘到7c00h处,并从7c00h执行)拷贝到 0:200h 这个安全地方执行的做法。
采取的新方法就是,将引导操作系统这部分功能的代码--移动到 0:7c00h - 0:07dffh 这512字节之外的地方,这样就安全了!目前是放到了 3功能(显示时间)之后
3、独立的信息显示模块
show_info 函数单独拿出来,又减少了100行代码
4、更少的代码
从原先的1100行降到890行,少了210行。


第一版

主要从2019/5/17 到2019/5/21 日,大约历经40小时

见 class2i.asm 文件
1.关于硬盘拷贝的位置
引导操作系统时,硬盘这个 80h 磁盘,必须将一开始的部分拷贝到 0:7c00h 处,不能换成是别的地方,所以这就还在拷贝的时候覆盖原有的代码,导致拷贝之后无法跳转到 0:7c00h 处执行。
所以采用的是:将拷贝与执行代码,一并拷贝到其他的安全的地方,比如 0:200h 处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值