Hi,
andrewthompson555 wrote:
Start learning DOS assembly first. It's a great way to start! Learn Assembly and the interrupts. That's how I'm learning right now and I understand most of the code I do. YouTube will have nice tutorials. Boot DOS from a floppy or VirtualBox and use MS-DOS DEBUG. Do your research. I don't think C is really good when you're a beginner. Start learning Assembly!
DOS assembly isn't really relevant. YouTube tutorials shouldn't be followed, since they can't be community-edited and tend to be made by those who don't know well. Whether C or assembly is better for a beginner, it's debatable, but let's rather not discuss it here.
andrewthompson555 wrote:
Remember. Use NASM as the assembler. Don't forget that you can't use INT 21 (MS-DOS API) on your OS. You can look on Wikipedia for references. I know things look hard but don't give up. I nearly did but I didn't.
There are valid reasons to use another assembler, for example if you use GCC, then it's easier to use GAS since the OS will have less dependencies.
andrewthompson555 wrote:
Here's something to get you started:
BITS 16
org 0x7C00
jmp start
Print:
lodsb
cmp al, 0
je Done
mov ah, 0eh
int 10h
jmp Print
Done:
ret
start:
mov si, msg
call Print
msg db 'Hello World!', 0
times 510-($-$$) db 0
dw 0xAA55
Save it as boot.asm (it doesn't have to be boot.asm, you can make it myos.asm
Then, install nasm (search it)
And do:
nasm -f bin boot.asm -o boot.img
Install VirtualBox and create a virtual machine. Then, test it.
I don't think you are qualified to give advice.
Regards,
glauxosdever