Skip to content

Commit

Permalink
汉化
Browse files Browse the repository at this point in the history
  • Loading branch information
yourtion committed Sep 5, 2014
1 parent e041908 commit 358f1a4
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 36 deletions.
6 changes: 3 additions & 3 deletions 02_day/Makefile
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@

# デフォルト動作
# 默认动作

default :
../z_tools/make.exe img

# ファイル生成規則
# 镜像文件生成

ipl.bin : ipl.nas Makefile
../z_tools/nask.exe ipl.nas ipl.bin ipl.lst
Expand All @@ -13,7 +13,7 @@ helloos.img : ipl.bin Makefile
../z_tools/edimg.exe imgin:../z_tools/fdimg0at.tek \
wbinimg src:ipl.bin len:512 from:0 to:0 imgout:helloos.img

# コマンド
# 其他指令

asm :
../z_tools/make.exe -r ipl.bin
Expand Down
66 changes: 33 additions & 33 deletions 02_day/ipl.nas
Original file line number Diff line number Diff line change
@@ -1,35 +1,35 @@
; hello-os
; TAB=4

ORG 0x7c00 ; このプログラムがどこに読み込まれるのか
ORG 0x7c00 ; 指明程序装载地址

; 以下は標準的なFAT12フォーマットフロッピーディスクのための記述
; 标准FAT12格式软盘专用的代码 Stand FAT12 format floppy code

JMP entry
DB 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 0xeb, 0x4e, 0x90
DB "HELLOIPL" ; 启动扇区名称(8字节
DW 512 ; 每个扇区(sector)大小(必须512字节
DB 1 ; 簇(cluster)大小(必须为1个扇区
DW 1 ; FAT起始位置(一般为第一个扇区
DB 2 ; FAT个数(必须为2
DW 224 ; 根目录大小(一般为224项
DW 2880 ; 该磁盘大小(必须为2880扇区1440*1024/512
DB 0xf0 ; 磁盘类型(必须为0xf0
DW 9 ; FAT的长度(必??9扇区
DW 18 ; 一个磁道(track)有几个扇区(必须为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 AX,0 ; 初始化寄存器
MOV SS,AX
MOV SP,0x7c00
MOV DS,AX
Expand All @@ -38,23 +38,23 @@ entry:
MOV SI,msg
putloop:
MOV AL,[SI]
ADD SI,1 ; SIに1を足す
ADD SI,1 ; 给SI加1
CMP AL,0
JE fin
MOV AH,0x0e ; 一文字表示ファンクション
MOV BX,15 ; カラーコード
INT 0x10 ; ビデオBIOS呼び出し
MOV AH,0x0e ; 显示一个文字
MOV BX,15 ; 指定字符颜色
INT 0x10 ; 调用显卡BIOS
JMP putloop
fin:
HLT ; 何かあるまでCPUを停止させる
JMP fin ; 無限ループ
HLT ; 让CPU停止,等待指令
JMP fin ; 无限循环

msg:
DB 0x0a, 0x0a ; 改行を2つ
DB 0x0a, 0x0a ; 换行两次
DB "hello, world"
DB 0x0a ; 改行
DB 0x0a ; 换行
DB 0

RESB 0x7dfe-$ ; 0x7dfeまでを0x00で埋める命令
RESB 0x7dfe-$ ; 填写0x00直到0x001fe

DB 0x55, 0xaa

0 comments on commit 358f1a4

Please sign in to comment.