郁闷。求教引导程序,大于1024柱面,扩展int 13h

nicebin 2005-09-02 05:27:46
MBR的引导程序只能引导1023柱面以内,但是通过扩展int 13h调用可以突破这个限制。小弟研究了半天都不成功,大都按照调用标准来做的,还有一些疑问,各位大虾请帮帮忙,谢谢。

几个疑问:
1.启动大于1023柱面的分区,是否是通过扩展int 13h将扇区读到0:7c00h处,然后jump到7c00h的地方继续执行就能引导。(假设那个分区可引导)
比如说有一个DOS的Fat32分区在1023柱面以外,是否通过以上步骤就能引导?我看到过有引导程序可以引完成,但不知道是不是我上面所说的步骤。

2.大概的代码如下,其中有错误吗?
ds=0

mov bx,7C00h
push si
mov ax,bx
xchg si,bx
mov si,offset PacketSize+600h
mov di,si
mov word ptr [si],0010h
mov word ptr [si+02h],0001h

mov word ptr [si+04h],ax
mov word ptr [si+06h],ds

mov ax,word ptr [bx+08h]
mov word ptr [si+08h],ax
mov ax,word ptr [bx+0AH]
mov word ptr [si+0AH],ax
mov word ptr [si+0ch],0000h
mov word ptr [si+0eh],0000h
mov dl,80h
mov ax,4200h
;mov bx,55aah
int 13h
pop si ;这里Si是不是要指向可引导的分区
jnc Goboot;调到7c00h除继续执行

;DAP
PacketSize db 10h ;1B
Reserved db 00h ;1B
BlockCount db 01h,00h ;2B
BufferAddr db 00h,00h,00h,7Ch ;4B
BlockNum db 00h,00h,00h,00h,00h,00h,00h,00h ;8b

3. int 19h怎么用?
...全文
108 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
nicebin 2005-09-05
  • 打赏
  • 举报
回复
hdtools是汇编做的?
nicebin 2005-09-05
  • 打赏
  • 举报
回复
hdtools是汇编做的?
ahjoe 2005-09-04
  • 打赏
  • 举报
回复
程序: http://www.ahjoe.net/download/hdtools.zip
源代码来信索取: ahjoe@163.net
nicebin 2005-09-02
  • 打赏
  • 举报
回复
能否给一个扩展1nt 13h的例子

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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