たまには夜に。

70.5kg@ご飯前

 

測る時間が違うと参考にはならないが、こんな感じ。

やはり、70kgの壁を常に越す様な状況までは時間がかかるだろう。。

焦らず糖質ダイエット続けるべし!だな。

 

さて、bashスクリプトを勉強してたら、意外に時間かかっちまった。

(なんか、20年位前にはtcsh上でperlとか使って、もうちょっと簡単にやっていた

 様な気がするが、もう何も覚えていないし、ゼロから使っていない頭を使いながら

 試すのは面白い。。昔からbashスクリプトってなんか分かりづらいのは変わらない

 印象なんだけど。。)

 

http://bioinfo-dojo.net/2017/09/15/bash_string/

色々Web上に情報は上がっていたが、このページ見てたらちょっとヒントがもらえて

進んだので、メモ的に記載。

下記のものが有効で、助かった。

 

1. ${変数名#パターン} → 前方からの最短マッチを削除

2. ${変数名##パターン} → 前方からの最長マッチを削除

3. コマンド > /dev/null 2>&1 → コマンドの結果の標準エラー出力の結果を標準出力にマージして、/dev/nullへ捨てる

4. コマンドの結果が0じゃない場合(例: コマンド = diffの場合では、違いがあったケース = 1)

 例:

     diff -r file1 file2

     if [ $? -ne 0 ]; then

         0じゃないケースに実行する処理

     fi

5. 引数に指定されたファイルを一つずつチェックしていく

  for file in $* :

  do

     何かしら処理

  done

6. linuxコマンドの実行結果から、ファイルを一つずつ処理していく

  for file in `ls .\/*` :

  do

     $fileでファイルで順番にファイルへアクセスして処理を行う  

  done

 

上記辺りが、整理されてなんとなくやりたい事ができる様になった。

(単に、コマンドとして、command srcディレクトリで実行する際にファイルを

 カレントディレクトリへコピーしてきて、ファイル名が同じで中身が違う場合には

 オリジナルを*_org等へ変換して残しておく様な処理をしたかった。)

 

って事で、これで、ちょっとした処理が必要なケースはスクリプトで逃げられる準備も

ついでだけどできた。

 

という事で、本文へ戻り、割り込み処理へ!

まぁ、本読みつつ、分からない所を調べて本にある内容を理解しながら

ゆっくり進めていく。

 

で、Go!

$ make run

make -r img

make -r haribote.img

nasm ipl10.nas -o ipl10.bin -l ipl10.lst

nasm asmhead.nas -o asmhead.bin -l asmhead.lst

x86_64-elf-gcc -march=i486 -c -m32 -fno-builtin  -c bootpack.c -o bootpack.o

x86_64-elf-gcc -march=i486 -c -m32 -fno-builtin  -c graphic.c -o graphic.o

x86_64-elf-gcc -march=i486 -c -m32 -fno-builtin  -c dsctbl.c -o dsctbl.o

nasm -f elf32 naskfunc.nas -o naskfunc.o -l naskfunc.lst

gcc convHankakuTxt.c -o convHankakuTxt

./convHankakuTxt

x86_64-elf-gcc -march=i486 -c -m32 -fno-builtin  -c hankaku.c -o hankaku.o

x86_64-elf-gcc -march=i486 -c -m32 -fno-builtin  -c mysprintf.c -o mysprintf.o

x86_64-elf-gcc -march=i486 -c -m32 -fno-builtin  -c int.c -o int.o

x86_64-elf-ld -m elf_i386 -e HariMain -T hrb.ld bootpack.o graphic.o dsctbl.o naskfunc.o hankaku.o mysprintf.o int.o -o bootpack.hrb

cat asmhead.bin bootpack.hrb > haribote.sys

mformat -f 1440 -C -B ipl10.bin -i haribote.img ::

mcopy -i haribote.img haribote.sys ::

qemu-system-i386 -L . -m 32 -monitor stdio -s -drive file=haribote.img,format=raw,if=floppy -boot a

QEMU 5.0.0 monitor - type 'help' for more information

(qemu) 

 

キーボードの”A"を押してみた!

f:id:kanazo3:20200623225344j:plain

よし!

マウス側も、本の通り吸い込まれて消えた。

でも、ctrl+Altで復活という事にはならなかった。(Macのせいなのかな。。)

あまり大した問題ではないので、そのまま気にせず進める事にする。

という事で、引き続き頑張るぜ。

 

今日はおやすみ。

 

続く。