2023年02月26日
アセンブラを学ぶならLazarusが便利
ネイティブコンパイラで プログラムのデバッグをするとき、アセンブラが読めると便利です。
それが出来ないと、いわゆるPrintfデバッグ(Pascalだとwriteとか formatしてメモ帳に出力するとか)となります
アセンブラが読めるならブレークポイントを仕掛けてコンパイルがどうされたか見たり、レジスタの値を見たりと情報の幅が広がります。
アセンブラを学ぶのならLazarusは良い環境です。
asm文でアセンブラを埋め込め、そのアセンブラ文法もLinuxスタイルですが
Intelスタイルも{$ASMMODE intel} をasmの前に入れるだけで書けます。
アセンブラの文法は殆ど同じになりますが、コメントはPascal式 //より右か {この範囲} か (* この範囲 *)
アセンブラだけで何かプログラムするとなればPICとか1チップマイコンくらいになりますから、高級言語の中に埋め込むという方式で入るのがお勧めの理由です。
私もLazarusでWin64環境を始めたので四苦八苦です=>Lazarusでアセンブラを使う時の注意点
asm文を使わなければ出来ない事は色々あります。
・前回のようにCPUIDを読んで自分のPCのCPUの種類や機能を調べる
・パスカル言語にSAR 演算子が無い事の対策
・64bit以上の多倍長演算(アセンブラならフラグを使えるので)
・X*Y/X のように途中で桁溢れする計算の計算可能範囲を広げる
・コンパイラが使ってくれないSIMD命令の利用
もっとも、最近はスクリプト言語が隆盛なので意味がないのかもしれませんけどね。
それが出来ないと、いわゆるPrintfデバッグ(Pascalだとwriteとか formatしてメモ帳に出力するとか)となります
アセンブラが読めるならブレークポイントを仕掛けてコンパイルがどうされたか見たり、レジスタの値を見たりと情報の幅が広がります。
アセンブラを学ぶのならLazarusは良い環境です。
asm文でアセンブラを埋め込め、そのアセンブラ文法もLinuxスタイルですが
Intelスタイルも{$ASMMODE intel} をasmの前に入れるだけで書けます。
アセンブラの文法は殆ど同じになりますが、コメントはPascal式 //より右か {この範囲} か (* この範囲 *)
アセンブラだけで何かプログラムするとなればPICとか1チップマイコンくらいになりますから、高級言語の中に埋め込むという方式で入るのがお勧めの理由です。
私もLazarusでWin64環境を始めたので四苦八苦です=>Lazarusでアセンブラを使う時の注意点
asm文を使わなければ出来ない事は色々あります。
・前回のようにCPUIDを読んで自分のPCのCPUの種類や機能を調べる
・パスカル言語にSAR 演算子が無い事の対策
・64bit以上の多倍長演算(アセンブラならフラグを使えるので)
・X*Y/X のように途中で桁溢れする計算の計算可能範囲を広げる
・コンパイラが使ってくれないSIMD命令の利用
もっとも、最近はスクリプト言語が隆盛なので意味がないのかもしれませんけどね。
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/11881505
この記事へのトラックバック