;#*******************************************
;# GreanNetworK Operating System
;# - Test Bootloader
;# boot.asm
;# 28/11/2552
;#*******************************************
BITS 16
ORG 0x7C00
JMP $
TIMES 510 - ($ - $$) db 0
DW 0xAA55
จากโค๊ดดังกล่าวพออธิบายได้ตามนี้....
BITS 16เป็นการบอกให้ Processor รู้ว่าเป็นโค๊ดแบบ 16 บิท
ORG 0x7C00เป็นการบอกให้ BIOS รู้ตำแหน่งเริ่มต้นของการทำงาน
JMP $เป็นการทำ Loop แบบไม่สิ้นสุด(infinite loop)
TIMES 510 - ($ - $$) db 0ใส่ค่า 0 ลงบน sector จำนวน 510 ตัว(แต่ละตัวมีค่า 1 byte)
DW 0xAA55ใส่ Boot Signature
ข้อสังเกต - พื้นที่ที่ใส่เลข 0 ลงไปคือ 510 byte รวมกับ Signature คือ 2 byte จะมีขนาดเท่ากับ 512 byte ซึ่งเป็นขนาดที่สามารถเขียนลง sector จำนวน 1 sector ได้
ไม่มีความคิดเห็น:
แสดงความคิดเห็น