This looks more or less like Windows assembly than true x86 assembly.
Windows assembly is just accessing the Windows functions via assembly. Quite a few demoscenes and such use this for the nice speed.
x86 assembly, on the other hand, has direct access to hardware.
This to me doesn't look like working bootloader code.
True x86 assembly isn't that simple. You need to set up lots of stuff: IRQs, ACPI, HDD access, protected mode, etc.
And you need code to read NTFS, which this thing doesn't look like.
My suggestion: don't try to write a bootloader unless you really know what you are doing.
If you are writing a bootloader:
- Borrow code from others! GRUB is a FOSS bootloader. It can chainload to other bootloaders, which is something you want to do.
It might recognize NTFS as well, but I'm not sure.
Heck, you could even just write a GRUB conf file that deletes the file for you, and then chainloads!
(Not sure if it's possible tho)
If you don't want to go insane from x86 assembly:
- Use Linux/DOS to remove the file(s). DOS can possibly chainload, but not Linux. (You need to reboot into Windows) DOS is harder to
implement, Linux is easier. FreeDOS is a good starting point if you use DOS. Barebones Ubuntu (or others) is a good place to start if
you use Linux.