1 /******************************************************************************/
2 /* src/booter/Ipl/IplMain.s */
4 /* Copyright (C) 2016-2017 Mochi. */
5 /******************************************************************************/
9 /******************************************************************************/
11 /******************************************************************************/
15 /******************************************************************************/
17 /******************************************************************************/
28 mov si, 0x7C00 /* コピー元(ds:si) */
29 mov di, 0x7A00 /* コピー先(es:di) */
30 mov cx, 0x200 / 4 /* コピー回数 */
32 rep movsd /* コピー実行(4byte) */
41 mov eax, [ pt1StartLBA ]
42 mov [ dapReadAddr ], eax
44 mov [ dapReadSize ], ax
47 mov ah, 0x42 /* 機能番号(EXTENDED READ) */
48 mov dl, 0x80 /* ドライブ番号 */
49 mov si, offset dap /* Disk address packetアドレス */
56 /* Disk Address Packet */
59 .byte 0x00 /* Reserved */
61 .word 0x0000 /* 読込み論理セクタ数 */
62 .word 0x0000 /* 転送先アドレス(オフセット) */
63 .word 0x07C0 /* 転送先アドレス(セグメント) */
65 .long 0x00000000 /* 読込み先頭論理セクタ番号(LSB) */
66 .long 0x00000000 /* 読込み先頭論理セクタ番号(MSB) */
69 /******************************************************************************/
71 /******************************************************************************/
74 .byte 0x00 /* ブートフラグ */
75 .byte 0x00, 0x00, 0x00 /* パーティション先頭位置(CHS方式) */
76 .byte 0x00 /* パーティション種別 */
77 .byte 0x00, 0x00, 0x00 /* パーティション末尾位置(CHS方式) */
79 .long 0x00000000 /* パーティション先頭位置(LBA方式) */
81 .long 0x00000000 /* パーティションサイズ(セクタ) */
84 /******************************************************************************/
86 /******************************************************************************/
91 /******************************************************************************/