雑記帳
ここはhideyosiの雑記帳です。テケトーに書き散らしてるだけなので間違っていたりとは普通にしてます。信用度は相当低いことをあらかじめご了承を。またご覧のようにWikiを使ってますが、hideyosi意外は書き込めません。
1: 2006-12-20 (水) 13:56:42 ソース バックアップ No.1 を復元して編集 現: 2024-01-06 (土) 22:39:13 ソース 編集
Line 11: Line 11:
-私は上から降りてきたタイプ -私は上から降りてきたタイプ
--「上から」という表現が正しいかどうか微妙ですが、ようするに「高級言語」と呼ばれるものからスタートし、だんだん「低級言語」に進んでいったというパターンです。具体的には、''MSXパソコンのBasic'' −> ''WindowsのVisualBasic'' −> ''WindowsのHSP'' −> ''Linux等のPerlとか'' −> ''OSASKのC'' −> ''naskのアセンブラ'' と、こんな感じに進んできたわけです。(一応念のため書いておきますが、「高級」「低級」は単にプログラミング言語設計上の概念です。いいもの悪いものとか高度か低俗かとかそういう概念の言い回しではありませんよ) --「上から」という表現が正しいかどうか微妙ですが、ようするに「高級言語」と呼ばれるものからスタートし、だんだん「低級言語」に進んでいったというパターンです。具体的には、''MSXパソコンのBasic'' −> ''WindowsのVisualBasic'' −> ''WindowsのHSP'' −> ''Linux等のPerlとか'' −> ''OSASKのC'' −> ''naskのアセンブラ'' と、こんな感じに進んできたわけです。(一応念のため書いておきますが、「高級」「低級」は単にプログラミング言語設計上の概念です。いいもの悪いものとか高度か低俗かとかそういう概念の言い回しではありませんよ)
 +
 +-私もまずは、「まずやってみる」から始めた
 +--私もアセンブラを最初に見た時は各部分の意味を一生懸命追求しようとしてあちこち調べて回りました。しかし、よく思い出してみてください。C++やVBを始めて触った時、全てのソースの意味や内部オプションを理解した上でソフトを作りましたか?
 +--たぶん4割くらいは意味不明のまま進めていったのではないでしょうか?。アセンブラも全体の理解より、まずは動く。結果を表示する。ここらへんから(いやむしろ、しばらくはここだけ)に注力してやってみるのが早いのではと思います。特に、あの本の場合は一刻も早くC言語に以降しようという趣旨なので「アセンブラでプログラムして結果を表示する」という例がとぼしいのも事実です。
 +--私のお勧めは、こんなプログラムをまず打ち込んで動かしてみることですね。
 +
 + 
 + ---------------------------------------------
 + [BITS 16]
 + [OPTIMIZE 1]
 + [OPTION 1]
 + [INSTRSET "8086"]
 + [FORMAT "BIN"]
 + ORG 0x100
 + ;-----------------------------------------------------
 + ;--- こっから上は、MS-DOSの.COMを作る時の ------------
 + ;----おまじないだと思ってくれい!     ------------
 + ;-----------------------------------------------------
 + 
 + ;-------- ここにアセンブラを書く。実験部分 ----------------------
 + 
 + MOV AL,0x41      ;「A」のアスキーコードは41h
 + MOV AH,0x0e      ;BIOSのファンクション番号
 + INT 0x10          ;BIOSをコール!
 + 
 + ;-----------------------------------------------------------------
 + 
 + ;-----------------------------------------------------
 + ;---- これがないと、暴走しちゃうぞ! -------------
 + ;-----------------------------------------------------
 + ;MS-DOS終了
 + INT 0x20
 + 
 + ----------------------------------------------------------
 +
 +
 +このプログラムはnaskでコンパイルできます。コマンドプロンプロから
 +
 + >nask test.nas test.com test.lst
 +
 +なんて具合にやればMS-DOSコマンド(ソフト)が出来ます。実行すると、画面に「A」の文字を表示して停止します。
 +
 +みれば解ると思いますが、これはBIOSをコールしているだけです。しかしこれを使えばとにもかくにも画面に表示ができるので、だんだんと大掛かりに拡張してみてはいかがでしょう。その過程でイヤでも様々な文法やテクニック、計算式を使わなくてはならなくなりますので、暗記チックにアセンブラを覚えるよりもはるかに効率がいいはずですよ。
 +
 +
 +
 +
 +
 +
 +