Hello,
I want to write my own os. I know C and i am learning Asm. But i don't know where i'll start. Please help me(i am sorry for spelling errors)
please help me
- mustafa121
- Posts: 8
- Joined: Sat Apr 11, 2009 5:56 am
- Location: ankara, turkey
- Contact:
Re: please help me
Hello Mustafa,
Here is a good list of resources to you:
Hope this helped,
Nathan Paulino Campos
Here is a good list of resources to you:
- Video Function Calls INT 10h
- My Assembly Board
- Assembler Choice
- The Operating System Resource Center
Code: Select all
[BITS 16] ; 16 bit code generation
[ORG 0x7C00] ; ORGin location is 7C00
main:
MOV BH, 00h
MOV BL, 07h
MOV AL, 1
MOV BH, 0
MOV BL, 0011_1011b
MOV CX, msg1end - msg1 ; calculate message size.
MOV DL, 30
MOV DH, 0
PUSH CS
POP ES
MOV BP, msg1
MOV AH, 13h
INT 10h
JMP msg1end
msg1 DB "Hello, World!"
msg1end:
JMP $
; Boot things
TIMES 510-($-$$) DB 0 ; Fill the rest of the sector with zeros
DW 0xAA55 ; Boot signature
Nathan Paulino Campos
- mustafa121
- Posts: 8
- Joined: Sat Apr 11, 2009 5:56 am
- Location: ankara, turkey
- Contact:
Re: please help me
Ok, here is the best and more explained tutorial to start: http://www.osdever.net/tutorials/hello_ ... ?the_id=85
With it that i've started!
With it that i've started!
-
- Member
- Posts: 2566
- Joined: Sun Jan 14, 2007 9:15 pm
- Libera.chat IRC: miselin
- Location: Sydney, Australia (I come from a land down under!)
- Contact:
Re: please help me
Assuming you're ready to actually think about what you're doing and not just copy and paste, this tutorial will suffice (if you know C, like you say you do). Just note that the tutorial does have bugs and the code examples are not necessarily correct - you can't just copy & paste
Also, the best place to start is our wiki. I don't think you'll find such a wealth of information in one place elsewhere.
Also, the best place to start is our wiki. I don't think you'll find such a wealth of information in one place elsewhere.
Re: please help me
There are alot of tutorials that you can try... Clicky (Sorry, had to post it)
OS Development Series | Wiki | os | ncc
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}
Re: please help me
Another good resources: Read this http://forum.osdev.org/viewtopic.php?f=1&t=6989
Book Recommendations
Thanks!
Book Recommendations
Thanks!