タグ

asmに関するkenkitiiのブックマーク (10)

  • 2007-09-17

    非生産的な生産活動を行うときほど楽しいものは無い。 (以下では前提として実行するCPUをx86とします。SPARCとかの人はごめんなさい) Haskellから任意の機械語のコードを実行するにはどうすればよいのだろう。 Foreign.PtrにFunPtrという型が定義してあり、これは機械語コードの入っているメモリへのポインタを示す。 さらに、 type IntFunction = CInt -> IO () foreign import ccall "dynamic" mkFun :: FunPtr IntFunction -> IntFunctionなどとすることによりFunPtrの指すコードを呼び出すためのラッパを生成できる。 型ごとに別個のラッパが必要になり、必要に応じて自動的に定義されるわけでもないので、必要なものは個別に書いてやる必要がある。 これらを用いれば、Haskellから

    2007-09-17
  • 404 Blog Not Found:マシン語読みの言語知らず

    2007年09月11日22:20 カテゴリArt マシン語読みの言語知らず もうこの話題が登場して何度目になるのかは知らないが.... shi3zの日記 - マシン語を知らない子ども達 あまりも当たり前過ぎて21世紀に入ってから言葉にだしたことはあまりないのですが、当然のことながら、プログラムというのは、マシン語を理解して初めて「書ける」と言うのです。 そんなことは、ない。 私の上の娘は、まだ日語文法を習っていないが、日語で彼女の母や父である私や妹や級友と話すことが出来る。まだ辞書さえ知らない下の娘も同様だ。 確かに、「下の事」を一通り習った者は、「底まで知っていて」やっと「知っている」と言って「下の事」を知らない者を下に見がちだ。しかし、知識を深さでしか測れない者は、往々にして知識を広さを測ることが出来ない。「一段下の階層を知らなければそのことを知らない」という人に限って、そのことの

    404 Blog Not Found:マシン語読みの言語知らず
  • 機械語ではマシンの挙動は理解できない - 未来のいつか/hyoshiokの日記

    実のところ機械語はマシンに対する高レベルな挙動を示す命令であって実行を厳密に写像したものではない。(何を言っているんだわたしは?) 「マシン語ってどんな感じか知りたくなった方へ」という大人気のエントリと、ニコニコ動画を見て、昨今の最新マイクロプロセッサでは機械語がもはや機械の挙動と一対一に対応しなくなっちゃったのである、というツッコミをしたくなった。http://d.hatena.ne.jp/shi3z/20070913 「水野拓宏のTK-80講座」これが素敵すぎる。http://www.nicovideo.jp/watch/sm1048903 最近のプロセッサ(Pentium 4とかXeonとか)は機械語を機械が直接実行するのではなく(じゃあ、なんで機械語というだよというツッコミは諸般の事情で却下(w))、機械語をμOPという機械語と一対Nに対応する命令に変換し実行するのである。Java

    機械語ではマシンの挙動は理解できない - 未来のいつか/hyoshiokの日記
  • アジアのペンギン: アセンブラの勉強方法

    ダンプを解析するときなどはアセンブラを理解していないといけません。勉強しようと思っても最初は意味不明でやりづらいのですが、簡単でわかりやすい方法があります。実務的にはこれで十分だと思いますのでご紹介します。 この方法ではLinuxマシンを用意すればいいだけです。(を探したり、購入する必要もなし) アセンブラを理解するためにはCPUのレジスタなどを理解する必要があります。私が実際にダンプを解析するときに見るのはEIP、ESPぐらいです。アセンブラからソースコードを解析する場合は少しアセンブラ命令の意味を理解していれば、レジスタは汎用的に使用されるため特別な知識はあまり必要ありません。 まずは下記のようなソースコードを作成して、コンパイルします。( Fedora Core 5 32bit の場合 ) # cat assemble.c #include <stdio.h> int globa

  • fnami: Assembler

    アセンブラでの高速化 はじめに 共通/80286以前 80386以降 80486以降 Pentium PentiumPro以降 Pentium4 高速化の例 主な命令一覧 参考文献 はじめに アセンブリ言語でプログラムを書くということは、プログラムに最高の自由度と性能を与えるということである。アセンブリ言語ではコンピュータの持つ機能をすべて使えるので、高級言語では不可能だった処理が可能になるし、高級言語からは見えないCPUの機能を利用してプログラムを高速にしたり、プログラムを小さくしたりすることができる。特にインテルの8086とその後継プロセッサ(86系プロセッサ)の場合、アセンブリ言語で書き直すだけでプログラムが大幅に小さく、そして速くなることは多い。しかし、ただ単純にアセンブリ言語で書いただけでは、コンピュータはその来の力を発揮しているとは言い難い。コンピュータには、もっと速く実行す

  • 「アセンブリ言語の教科書」の原稿

    このテキストは、2005年7月にデータハウスから出版された「アセンブリ言語の教科書」の原稿をWEB用に修正したものです。WEB用に修正したといっても、誤植を直した程度であり、ほぼそのままの状態で公開しています。 現在でも「アセンブリ言語の教科書」は書店で売られており、一般に流通しているため、来ならば、出版社との契約上、このようにフリーでWEB上に公開することはできません。しかし、「アセンブリ言語の教科書」は、発売後すでに一年を過ぎようとしているにも関わらず、現在でも安定した売り上げを伸ばしており、当初の予想を超えて多くの方々に読んでいただけました。 よって、出版社に「書の値段が高くて、読みたくても買えない学生の方々や、まだ書の存在を知らない人たちのために、原稿の一部をWEB上にも公開できないだろうか」と、相談を持ちかけたところ、書に関わった編集者からも「原稿のすべては無理だが一部分

    kenkitii
    kenkitii 2006/09/08
    あとでよむ
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • ギコ猫でもわかるファミコンプログラミング

    ギコでもわかるファミコンプログラミング ∧ ∧ ~′ ̄ ̄( ゚Д゚)<ファミコン、シロ! UU ̄ ̄ U U 「ギコでもわかるファミコンプログラミング」は、 任天堂ファミリーコンピュータ(ファミコン)のエミュレータで動作する、 8ビットアセンブラプログラムの勉強サイトです。 内容には技術的な間違いがある可能性があります。 サンプルソースはあまり整理されておらず、最適化もされていません。 また、内容は予告無しに修正されます。各自の責任においてご覧ください。 なお、このページには自由にリンクして頂いて結構です。 2010/11/1 iswebのサービス終了に伴い、 hp.infoseek.co.jpにおいてあったソース等のファイルが全て消えました。 ここに全てのファイルをアップしましたので、 ご利用下さい 「ファミコンプログラム入門」更新履歴 ファミコンプログラム入門 第1章 はじめに

  • パイプライン処理 - Wikipedia

    この記事には複数の問題があります。改善やノートページでの議論にご協力ください。 出典がまったく示されていないか不十分です。内容に関する文献や情報源が必要です。(2024年2月) 脚注による出典や参考文献の参照が不十分です。脚注を追加してください。(2024年2月) 出典検索?: "パイプライン処理" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL パイプライン処理(パイプラインしょり、英: pipeline processing)とは、コンピュータ等において、処理要素を直列に連結し、ある要素の出力が次の要素の入力となるようにして、並行(必ずしも並列とは限らない)に処理させるという利用技術である。要素間になんらかのバッファを置くことが多い。レイテンシの向上よりも、単位時間あたりの処理量(スループット)の

    kenkitii
    kenkitii 2005/08/22
    最適化
  • http://delegate.uec.ac.jp:8081/club/koken/~ubora/kouza.html

    kenkitii
    kenkitii 2005/08/03
  • 1