主题:读主引导扇区,保留在0A扇区(求汇编代码)
chetah
[专家分:0] 发布于 2006-04-07 00:51:00
信息附加:
int 13H 子功能 02H 读扇区
调用方法:入口为
AH=02H
AL=读入的扇区数
CH=磁道号
CL=扇区号(从1开始)
DH=头号
DL=物理驱动器号
ES:BX-->要填充的缓冲区
已知BIOS引导程序将主引导记录装载至0:7C00H处
回复列表 (共3个回复)
沙发
C语言爱好者 [专家分:19410] 发布于 2006-04-07 09:20:00
.model small
.data
buff db 512 dup(?)
.code
.startup
mov ax, DGROUP
mov ds, ax
mov es, ax
mov ah, 02h
mov dx, 0080h
mov cx, 0001h
mov bx, offset DGROUP:buff
int 13h
mov ax, 0301h
mov dx, 0080h
mov cx, 000ah
mov bx, offset DGROUP:buff
int 13h
.exit
end
板凳
dazzae [专家分:60] 发布于 2006-04-07 19:25:00
mov ax, 0301h
mov dx, 0080h
mov cx, 000ah
mov bx, offset DGROUP:buff
int 13h
不好意思,询问一下,如果第一次中断是读取主引导扇区的话,那么这一段代码又用来做什么呢?
另外DGROUP:buff是什么意思?
求教!
谢谢~~~
3 楼
C语言爱好者 [专家分:19410] 发布于 2006-04-07 19:31:00
你不是要“保留在0A扇区”吗?这是你的原话。
那段汇编就是把MBR写回0磁道的0A扇区。
DGROUP:buff中的DGROUP是段超越前缀啊,晕。
我来回复