bootloader

Why isn't my root directory being loaded? (FAT12)

岁酱吖の 提交于 2019-11-26 08:53:36
问题 I am writing a stage 1 bootloader in assembly with which I am attempting to load the FAT12 filesystem into memory so that I can load my stage 2 bootloader. I have managed to load the FATs into memory, however I am struggling to load the root directory into memory. I am currently using this for reference and have produced the following: .load_root: ;es is 0x7c0 xor dx, dx ; blank dx for division mov si, fat_loaded ; inform user that FAT is loaded call print mov al, [FATcount] ; calculate how

Custom bootloader booted via USB drive produces incorrect output on some computers

…衆ロ難τιáo~ 提交于 2019-11-26 01:45:55
问题 I am fairly new to assembly, but I\'m trying to dive into the world of low level computing. I\'m trying to learn how to write assembly code that would run as bootloader code; so independent of any other OS like Linux or Windows. After reading this page and a few other lists of x86 instruction sets, I came up with some assembly code that is supposed to print 10 A\'s on the screen and then 1 B. BITS 16 start: mov ax, 07C0h ; Set up 4K stack space after this bootloader add ax, 288 ; (4096 + 512)

Boot loader doesn't jump to kernel code

浪尽此生 提交于 2019-11-25 22:24:42
问题 I\'m writing small operation system - for practice. I started with bootloader. I want to create small command system that runs in 16 bit real mode (for now). I\'ve created bootloader that resets drive, then loads sector after bootloader. The problem is because after jmp function nothing actually happening. I\'t trying to load next sector at 0x7E00 (I\'m not totally sure how to point address using es:bx so that may be a problem, I believe that its Address:offset), just after bootloader. This