問題夫婦意味着什麼這一段:鑑於MBR彙編代碼,堆棧是如何工作的?對MBR
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
在絃樂器操作上找到了不錯的導師:http://www.csc.depauw.edu/~bhoward/asmtut/asmtut7.html 但是隻是說'MOVSW'減少CX相對於'MOVSB'(它顯示爲不)。有趣的是,MOVSB如何通過一個字符串循環 – Xsi
早期的字符串:'每條指令在一個元素上工作,然後自動調整SI和/或DI'。問題還是(不)和?如果這是正確的 - 只有一個索引章是變化(在什麼特定情況下) – Xsi
http://olivier.poudade.free.fr/arc/MICROSOFT.WINDOWS.95.MBR.ASM.TXT – Xsi