ShiftCrops つれづれなる備忘録

CTF関連の事やその他諸々

結構時間かかるのよな

 私の生活スタイルって結構特殊なんですよねぇ

 ついこの前までは夜は1時半頃に寝て、朝は5時に起きるという極めて不健康な感じだった訳ですけども、最近になってようやく変えることができました。
それは、夜は10時に寝て朝は2時に起きるというものです。
そんな朝早くおきてどうするの、と聞かれれば、それは勿論コーディングですw

 でも時々目覚まし時計で起きれなく、気がついたら5時で「その日はコーディング無し!」になることもあるんですよ(泣)
ま、それが昨日なんですけどねww



 んで、今日も引き続きアセンブリ言語っすよ。
ところで、なんで今頃アセンブリ言語なんてやってるのかというと、一言で言えば「自作OS」!!
夢なんです。それも高校のうちでっていう
そんなわけで今も頑張っているわけですが、よくよく考えると今やってるやつってDOS上のシステムコール使ってるわけで、自作OSに関係ないじゃん?

・・・・・・
・・・

え、
まあ、細かいことは気にせずに、練習っていうことですね。



 本日の学習範囲は演算です。
いやはや、やっぱり高水準言語とは違って面白いね
加算のADDや減算のSUB、これらはディスティネーションオペランドに元の値を入れてソースオペランドで加えたり引いたりする値を指定する。これは感覚で分かります。
でも、ここで面白いのが乗算のMULと除算のDIV。両者ともオペランドはひとつしかなく、ALレジスタやAXレジスタに入っている値を元の値とします。
 MULはオペランドに指定された値をAL、もしくはAXに入っている値と掛け合わせてAXに保存。
 DIVは指定された値でAXに入っている値を割り、商はAL、余りはAHに保存されます。

使い方を逡巡してしまいました。でもすぐ分かったけどね♪
これはシステムコール関係ないし、良かったねww


この本まだまだ終わりそうにないなぁ・・・
いつになったらOS自作始めれるんだろ??