这一段是什么意思:
MOV SI,SP
PUSH AX
POP ES
ES 如何获得 0000:7c00(以及进一步的 DS)
在这个 MBR 模型中?
0000:7C00 FA CLI disable int's
0000:7C01 33C0 XOR AX,AX set stack seg to 0000
0000:7C03 8ED0 MOV SS,AX
0000:7C05 BC007C MOV SP,7C00 set stack ptr to 7c00
0000:7C08 8BF4 MOV SI,SP SI now 7c00
0000:7C0A 50 PUSH AX
0000:7C0B 07 POP ES ES now 0000:7c00
0000:7C0C 50 PUSH AX
0000:7C0D 1F POP DS DS now 0000:7c00
0000:7C0E FB STI allow int's
0000:7C0F FC CLD clear direction
0000:7C10 BF0006 MOV DI,0600 DI now 0600
我发布它就像一些特殊情况(或未记录的过程) - 在中断 CLI / STI 之前和之后,被阻止。
/upd 源添加:http ://www.nondot.org/sabre/os/files/Booting/mbr.txt