7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync; $Id$
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync;; @file
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync; Empty bootsector can be used as example
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync;
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync;
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync; Copyright (C) 2012-2014 Oracle Corporation
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync;
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync; This file is part of VirtualBox Open Source Edition (OSE), as
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync; available from http://www.virtualbox.org. This file is free software;
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync; you can redistribute it and/or modify it under the terms of the GNU
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync; General Public License (GPL) as published by the Free Software
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync; Foundation, in version 2 as it comes in the "COPYING" file of the
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync;
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync; The contents of this file may alternatively be used under the terms
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync; of the Common Development and Distribution License Version 1.0
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync; (CDDL) only, as it comes in the "COPYING.CDDL" file of the
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync; VirtualBox OSE distribution, in which case the provisions of the
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync; CDDL are applicable instead of those of the GPL.
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync;
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync; You may elect to license modified versions of this file under the
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync; terms and conditions of either the GPL or the CDDL or both.
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync;
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync%include "iprt/asmdefs.mac"
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync%include "iprt/x86.mac"
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync;; The boot sector load address.
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync%define BS_ADDR 0x7c00
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync%define PDP_ADDR 0x9000
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync%define PD_ADDR 0xa000
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsyncBITS 16
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsyncstart:
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync ; Start with a jump just to follow the convention.
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync jmp short the_code
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync nop
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsynctimes 3ah db 0
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsyncthe_code:
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync ; put the code here
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsynchlt_again:
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync hlt
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync cli
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync jmp hlt_again
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync ;
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync ; The GDT.
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsync ;
7a0d67332f33bc21290d63bc7c8150b0cf0a4b21vboxsyncpadding:
times 510 - (padding - start) db 0
db 055h, 0aah