30日間の自作OSノート

1661 ワード

翌日

; hello-os
; TAB=4

		ORG		0x7c00			;          

;       fat32     

		JMP		entry
		DB		0x90
		DB		"HELLOIPL"		;               
		DW		512				;     (sector)   (   512   )
		DB		1				;  (cluster)   (   1   )
		DW		1				; FAT     (          )
		DB		2				; FAT   (   2)
		DW		224				;       (    224 )
		DW		2880			;       (   2880   )
		DB		0xf0			;     (   0xf0)
		DW		9				; FAT   (   9   )
		DW		18				; 1        (   18)
		DW		2				;    (   2)
		DD		0				;      (   0)
		DD		2880			;         
		DB		0,0,0x29		;     ,  
		DD		0xffffffff		; (   )     
		DB		"HELLO-OS   "	;      (11  )
		DB		"FAT12   "		;       (8  )
		RESB	18				;    18  

;     

entry:
		MOV		AX,0			;       
		MOV		SS,AX
		MOV		SP,0x7c00
		MOV		DS,AX
		MOV		ES,AX

		MOV		SI,msg
putloop:
		MOV		AL,[SI]
		ADD		SI,1			;  SI 1
		CMP		AL,0
		JE		fin
		MOV		AH,0x0e			;       
		MOV		BX,15			;       
		INT		0x10			;     BIOS
		JMP		putloop
fin:
		HLT						;  CPU  ,    
		JMP		fin				;     

msg:
		DB		0x0a, 0x0a		;     
		DB		"hello, haohaohao"
		DB		0x0a			;   
		DB		0

		RESB	0x7dfe-$		;   0x00  0x7dfe

		DB		0x55, 0xaa

;              

		DB		0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00
		RESB	4600
		DB		0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00
		RESB	1469432