Zelaron Gaming Forum  
Stats Arcade Portal Forum FAQ Community Calendar Today's Posts Search
Go Back   Zelaron Gaming Forum > The Zelaron Nexus > Science and Art > Tech Help

 
 
Thread Tools Display Modes

 
bootinit?
Reply
Posted 2004-11-27, 11:42 PM
Code:
; This is a comment
[ORG 0x7C00];This just tells the program where it is in the memory. Not important
[BITS 16];Not important too.

jmp start	; Jump over BIOS parameter block

start:;The label for the start of the actual program

push cs;Put cs onto the stack
pop ds;Take it out and put it into ds


mov si,Print_loading    ;Print loading message
call printstring  ;Call is like jump, but it goes back. Like a function


      ;The complicated bit: Loads the next program
mov ah,02h              ;When ah=, int13 reads a disk sector
mov al,4    	;Al is how many sectors to read
mov ch,0    	;The track to read from
mov cl,2    	;Sector Id
mov dh,0    	;Head
mov dl,0    	;Drive (0 is floppy)
mov bx,0x1000  	;Es and Bx put together are where to load the program too (see jmp 0x1000:0x00)
mov es,bx
mov bx,0x00
int 13h    ;Int 13 is all functions for disks

mov si,putdot          ;Print a ".".
call printstring

jmp 0x1000:0x00        ;Run Bootinit from stack.

printstring:           ;Print string routine.
mov ah,0eh  	;Mov ah into 0, so int 10 prints
stringloop:  	;The following code loads each seperate charcter so it can be printed
lodsb    	
cmp al,00  	;If al =0, then the string has all been loaded
je endstring
int 10h    ;When int 10 is called, and ah=, it prints
jmp stringloop
endstring:
ret    	;Ret returns


putdot        db '.',0
Print_loading db 13,10,'Loading Easy OS v0.01a...',0
times 425 db 0;wastes 425 bytes on purpose, so the sector is full (The program must be 512 bytes long)
I was looking at someone elses code, and right above printstring there is a jmp 0x1000:0x00. Why is it jumping there?

Here's the site: http://www.groovyweb.uklinux.net/index.php...your%20own%20os
Old
Profile PM WWW Search
Demosthenes seldom sees opportunities until they cease to beDemosthenes seldom sees opportunities until they cease to beDemosthenes seldom sees opportunities until they cease to beDemosthenes seldom sees opportunities until they cease to be
 
Demosthenes
 



 
Reply
Posted 2004-11-28, 10:26 AM in reply to Demosthenes's post "bootinit?"
mjordan2nd said:
Code:
; This is a comment
[ORG 0x7C00];This just tells the program where it is in the memory. Not important
[BITS 16];Not important too.

jmp start	; Jump over BIOS parameter block

start:;The label for the start of the actual program

push cs;Put cs onto the stack
pop ds;Take it out and put it into ds


mov si,Print_loading    ;Print loading message
call printstring  ;Call is like jump, but it goes back. Like a function


      ;The complicated bit: Loads the next program
mov ah,02h              ;When ah=, int13 reads a disk sector
mov al,4    	;Al is how many sectors to read
mov ch,0    	;The track to read from
mov cl,2    	;Sector Id
mov dh,0    	;Head
mov dl,0    	;Drive (0 is floppy)
mov bx,0x1000  	;Es and Bx put together are where to load the program too (see jmp 0x1000:0x00)
mov es,bx
mov bx,0x00
int 13h    ;Int 13 is all functions for disks

mov si,putdot          ;Print a ".".
call printstring

jmp 0x1000:0x00        ;Run Bootinit from stack.

printstring:           ;Print string routine.
mov ah,0eh  	;Mov ah into 0, so int 10 prints
stringloop:  	;The following code loads each seperate charcter so it can be printed
lodsb    	
cmp al,00  	;If al =0, then the string has all been loaded
je endstring
int 10h    ;When int 10 is called, and ah=, it prints
jmp stringloop
endstring:
ret    	;Ret returns


putdot        db '.',0
Print_loading db 13,10,'Loading Easy OS v0.01a...',0
times 425 db 0;wastes 425 bytes on purpose, so the sector is full (The program must be 512 bytes long)
I was looking at someone elses code, and right above printstring there is a jmp 0x1000:0x00. Why is it jumping there?

Here's the site: http://www.groovyweb.uklinux.net/index.php...your%20own%20os
Never mind, I feel dumb for even asking. I got it figured out now.
Old
Profile PM WWW Search
Demosthenes seldom sees opportunities until they cease to beDemosthenes seldom sees opportunities until they cease to beDemosthenes seldom sees opportunities until they cease to beDemosthenes seldom sees opportunities until they cease to be
 
Demosthenes
 
 

Bookmarks

« Previous Thread | Next Thread »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules [Forum Rules]
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -6. The time now is 12:44 AM.
'Synthesis 2' vBulletin 3.x styles and 'x79' derivative
by WetWired the Unbound and Chruser
Copyright ©2002-2008 zelaron.com
Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
This site is best seen with your eyes open.