mirror of
https://github.com/yourtion/30dayMakeOS.git
synced 2026-02-03 10:03:20 +08:00
Add day1 code
This commit is contained in:
1
01_day/!cons_9x.bat
Normal file
1
01_day/!cons_9x.bat
Normal file
@@ -0,0 +1 @@
|
||||
command
|
||||
1
01_day/!cons_nt.bat
Normal file
1
01_day/!cons_nt.bat
Normal file
@@ -0,0 +1 @@
|
||||
cmd.exe
|
||||
1
01_day/asm.bat
Normal file
1
01_day/asm.bat
Normal file
@@ -0,0 +1 @@
|
||||
..\z_tools\nask.exe helloos.nas helloos.img
|
||||
50
01_day/helloos.nas
Normal file
50
01_day/helloos.nas
Normal file
@@ -0,0 +1,50 @@
|
||||
; hello-os
|
||||
; TAB=4
|
||||
|
||||
; Stand FAT12 format floppy code ?准FAT12格式???用代?
|
||||
|
||||
DB 0xeb, 0x4e, 0x90
|
||||
DB "HELLOIPL" ; ブートセクタの名前を自由に書いてよい(8バイト)
|
||||
DW 512 ; 1セクタの大きさ(512にしなければいけない)
|
||||
DB 1 ; クラスタの大きさ(1セクタにしなければいけない)
|
||||
DW 1 ; FATがどこから始まるか(普通は1セクタ目からにする)
|
||||
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バイトあけておく
|
||||
|
||||
; プログラム本体
|
||||
|
||||
DB 0xb8, 0x00, 0x00, 0x8e, 0xd0, 0xbc, 0x00, 0x7c
|
||||
DB 0x8e, 0xd8, 0x8e, 0xc0, 0xbe, 0x74, 0x7c, 0x8a
|
||||
DB 0x04, 0x83, 0xc6, 0x01, 0x3c, 0x00, 0x74, 0x09
|
||||
DB 0xb4, 0x0e, 0xbb, 0x0f, 0x00, 0xcd, 0x10, 0xeb
|
||||
DB 0xee, 0xf4, 0xeb, 0xfd
|
||||
|
||||
; メッセージ部分
|
||||
|
||||
DB 0x0a, 0x0a ; 改行を2つ
|
||||
DB "hello, world"
|
||||
DB 0x0a ; 改行
|
||||
DB 0
|
||||
|
||||
RESB 0x1fe-$ ; 0x001feまでを0x00で埋める命令
|
||||
|
||||
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
|
||||
1
01_day/install.bat
Normal file
1
01_day/install.bat
Normal file
@@ -0,0 +1 @@
|
||||
..\z_tools\imgtol.com w a: helloos.img
|
||||
2
01_day/run.bat
Normal file
2
01_day/run.bat
Normal file
@@ -0,0 +1,2 @@
|
||||
copy helloos.img ..\z_tools\qemu\fdimage0.bin
|
||||
..\z_tools\make.exe -C ../z_tools/qemu
|
||||
Reference in New Issue
Block a user