タグ

asmに関するWackyのブックマーク (25)

  • C# のコードに x86/x86-64 命令を直接組み込む - NyaRuRuが地球にいたころ

    C# で書かれた将棋の思考ルーチンの高速化のため,(Visual C++ 用の) 組み込み関数 _mm_prefetch 的なものを使うべく,ネイティブコードで書かれた DLL と C# で書かれたメインの思考ルーチンを組み合わせてみた,というお話.ふむふむ. http://d.hatena.ne.jp/ak11/20100515/p1:title= http://d.hatena.ne.jp/issei_y/20100501/1272668964:title= ざっと眺めて C# のみで書けそうだったので,気分転換も兼ねて書いてみました.個人的には単一の(メタ)言語で完結するプロジェクトが好きです.配布するファイルの数が減るのはインストール・アンインストール作業やバージョン管理が楽になります.Visual Studio で複数言語を混在させると,Express Edition の人にビル

    C# のコードに x86/x86-64 命令を直接組み込む - NyaRuRuが地球にいたころ
    Wacky
    Wacky 2011/06/04
  • エラー ‐ 通信用語の基礎知識

    単語が見つかりませんでした。 次の何れかの可能性があります。 見出し語が変更された 辞書グループが変更された 単語が削除(廃止)された 辞書原稿の記述ミス お手数ですが、再検索をお試し下さい。辞書グループが変更されていた場合は見つかる可能性があります。 政治関係辞書については、かねてより譲渡先を募集していましたが一人も応募がありませんでしたので、廃止されました。 ご意見ご要望は、検索結果画面に表示されるWebフォームからお願いします。

    Wacky
    Wacky 2010/12/31
  • 【Love VB】Visual Basic 2010で使いやくすくなったラムダ式

    ステートメント:完結した命令です。ステートメントには、キーワード、演算子、変数、定数、および式を含めることができます。(*1) 式:演算子で結合され、新しい値を生成する一連の値要素です。演算子は、値要素に対して、計算、比較、またはその他の演算を実行します。(*2) (*1)ステートメントの概要 http://msdn.microsoft.com/ja-jp/library/865x40k4.aspx (*2)Visual Basic の演算子および式 http://msdn.microsoft.com/ja-jp/library/a1w3te48.aspx ラムダ式(VB10用) 日語:http://msdn.microsoft.com/ja-jp/library/bb531253(VS.100).aspx 英語:http://msdn.microsoft.com/en-us/libra

    Wacky
    Wacky 2010/01/11
  • x86 CPUの進化を拡張命令のロードマップでひもとく (1/4)

    今回からは趣向を変えて、x86の拡張命令の変遷を、ロードマップでひもといてみよう。「CPUGPUと来たら、次はチップセットじゃないの?」と言われそうだが、担当編集が失念していたようだ。というわけでチップセットは今後のテーマとしたい。 そもそも拡張命令とはなんぞや? 拡張命令の話を始めると、実は長い。そもそも「拡張」を議論するには、「元になるのは何か」をきちんと決めないといけない。一般にx86命令というとき、それは「80386」の命令を指していると思われがちだが、これはあまり正しくない。結果から言えば、「Pentium Pro」から始まるP6アーキテクチャーの命令が、事実上の標準になっている。 命令セットを見てみると、以下のような命令が80386の命令に追加される形でx86命令として定義されており、これを拡張命令とみなすかどうかで、話がちょっと変わってくる。 80486で追加 BSWAP・

    x86 CPUの進化を拡張命令のロードマップでひもとく (1/4)
    Wacky
    Wacky 2009/10/14
    x86の拡張命令の変遷を、ロードマップでひもといてみよう
  • ホワット・ア・ワンダフル・ワールド masmでcrtを書く

    Wacky
    Wacky 2009/09/29
    crt(C RunTime)的な部分、要するにエントリーポイントからmainを起動するまでの部分をmasmで書いてみた。main以降は全く同じなので省略する
  • GNU AssemblerでIntel記法を利用する。 - .h2oのお気楽日記

    Linux上でx86のアセンブラを利用とするとgasかnasmを利用することになる。コンパイラーとの親和性を考えるとgasを使うケースがGoodぽい。ただし難点があって、アセンブラの表記がATT記法を使わないといけない。(Windows環境ではIntel記法がMASMでサポートされている関係でそっちがメジャー) と思っていたところ、実はgasでIntel記法を利用する方法があることに最近気がついた。 ポイントは”.intel_syntax noprefix”もし、従来のATT記法を使うなら”.att_syntax noprefix”でOK。もっと早くこの技に気がついていれば…。 .intel_syntax noprefix mov ax, cs mov ds, ax mov es, ax mov ss, ax

    GNU AssemblerでIntel記法を利用する。 - .h2oのお気楽日記
    Wacky
    Wacky 2009/04/21
    来のATT記法を使うなら”.att_syntax noprefix”でOK。
  • IBM Developer

    IBM Developer
  • WinDbg入門

    Windowsセキュリティオンサイトセミナー タイトル 第01回: カーネルデバッガ「WinDbg」入門(その1) 第02回: カーネルデバッガ「WinDbg」入門(その2) 第03回: カーネルデバッガ「WinDbg」入門(その3) 第04回: WinDbgのインストールと起動 第05回: WinDbg環境の確認 第06回: WinDbg環境の有効性を確認する 第07回: WinDbgコマンド体系 第08回: WinDbgコマンドスクリプティング入門 第09回: WinDbgコマンドスクリプティングの利点 第10回: WinDbgとはいったい何なのか? 第11回: WinDbgを使ったアプリケーション分析 第12回: システム管理とWinDbgカーネルデバッガーコマンド 豊田孝の「IT談話館」 ホーム

  • TAKESAKO @ Yet another Cybozu Labs: Binary Hacks と 64bit popCount 問題

    高林さん、オライリーさん、ありがとうございます。 ちなみにetoさん情報によると、明日11/10は「いいバイナリの日」らしいです。 11 → いい 10 → バイナリ Binary Hacks の発売日は 11/11 で、ビットが全部立っている非常に縁起の良い日です。 縁起を担ぐためにも、いいバイナリの日に Binary Hacks を注文して、発売日に書店に行ってを見かけたら 11 冊買いましょう。 x86 パフォーマンスチューニング さて、最後の HACK #100「文献案内」でマイクロプロセッサアーキテクチャマニュアルが紹介されていましたが、 x86のパフォーマンスチューニングつながりということで、 ちょうど今日ラボの社内掲示板で盛り上がった話題をこちらでも共有したいと思います。 * popCount 問題 64bitの数値の中で1になっているビット数を数える popCount64

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

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

    Wacky
    Wacky 2006/09/08
  • インラインアセンブラで学ぶアセンブリ言語 第3回:CodeZine

    はじめに これまで、『インラインアセンブラで学ぶアセンブリ言語』の第1回と第2回を通じて、Microsoft Visual C++のインラインアセンブラを用い、アセンブリ言語の基について説明してきました。 第3回となる稿では、インラインアセンブラを用いた流れ制御を解説します。アセンブリ言語は高水準言語における文の概念がなく、すべての命令が単純なオペコードと引数(オペランド)だけで構成されています。この純粋な構造のために、流れ制御を行う場合も、if文やfor文のように記述することはできません。基的にプログラムの流れ制御はすべてC言語で言うところのgoto文だけで記述し、比較命令や条件ジャンプも個別の命令で行います。 来のマクロ機能を持たない生のアセンブリ言語ならば、ジャンプ先のプログラムの位置すらも、すべてメモリアドレスで指定しなければなりません。実際に、機械語にアセンブルされた後は

    Wacky
    Wacky 2006/09/02
    アセンブリ言語による条件分岐や繰り返しなど、プログラムの流れを制御する方法を解説します。
  • http://homepage3.nifty.com/murasakigawa/tech/x86arith/index.html

    Wacky
    Wacky 2006/08/26
    これからはじめる一連の文章は、x86(インテルに言わせるとIA32)アーキテクチャーでの特殊演算に関する入門です。
  • SSE2による浮動小数演算の仕組みと検証:CodeZine

    x87 FPU x87 FPUは、x86アーキテクチャが標準で搭載する命令セットの一つです。st(0)~st(7)までの8つのレジスタ(80ビット)が利用可能ですが、これらはスタック構造になっており、各レジスタに自由にアクセスすることはできません。命令セットに即値モードがないため、単純に値を代入するだけでもメモリアクセスを要します。 しかしながら、x86 CPU同士であれば環境依存の問題が生じないという大きなメリットも持ち合わせます。一般的なx86用Cコンパイラなどは、デフォルトでFPU用のネイティブコードを生成するようになっていることが多いようです。MMX MMX Pentium以降のIntel CPUに組み込まれる拡張命令セットです。FPUレジスタの64ビット分を活用し、8ビット整数8組、16ビット整数4組、32ビット整数2組に対する演算を同時に行うことができます。 ちなみに、MMX命

    Wacky
    Wacky 2006/08/05
    SSE2です。これらは64ビット・128ビットなど、汎用レジスタでは表現不可能な整数演算を高速に行ったり、浮動小数演算をサポートしたりしてくれます。
  • リサイクル ショップ 通販 ファッション カタログ at kousaku.in

    Wacky
    Wacky 2006/07/29
    最新のGCCおよびVisual Studio 2005に組み込まれたMNIことSSE4の命令エンコーディングの情報と過去の実装例から、その機能を推測してみるという無謀な試みを行っています
  • x86系CPUのネイティブコードを解析する:CodeZine

    はじめに 今回はPC市場で一般的に採用される、x86系のCPUの機械語に迫ります。最新技術が次々と現れる昨今ですが、実はx86の規格はあまり目新しいものではありません。クロック周波数は上がるものの、機械語の形態は昔から引き継がれています。x86 CPUの種類 x86ネイティブコードを解読できるCPUには、下記のようなものが挙げられます(※AMD64を除く)。もはや説明はいりませんね。Intel Pentium 4Intel Pentium 3Intel Pentium 2Intel MMX PentiumIntel PentiumIntel 486/386AMD AthronAMD DuronAMD K-6  ここからは、32ビット以降のx86系 CPUに関する話題を扱っていきます。8ビットCPU、16ビットCPUに関するテクニックは出てきませんので、ご了承ください。

    Wacky
    Wacky 2006/07/29
    今回はPC市場で一般的に採用されているx86系CPUの機械語に迫ります。
  • AMD64の特徴と機械語コーディング:CodeZine

    はじめに 64ビットCPUが出始めて、数年が経ちます。現状では、ほとんどのデスクトップPCが64ビットCPUを搭載する形になり、ノートPCの64ビット化も時間の問題と思われます。今回は、64ビット技術がどのような特徴を持ち合わせているのか、ソフトウェア側のアプローチをどのように進めていったらよいのかという話題で進みます。そもそも、64ビットCPUって 実は、ひとことで64ビットCPUと言うと、2つの異なるCPUを意味してしまいます。AMD64/EM64-TIA-64  AMD64/EM64-T(以下、AMD64)とは、x86アーキテクチャのレジスタ幅を64ビットに拡張し、64ビット対応のネイティブコードを追加した規格になります。一般的に、パソコン市場で64ビットCPUと言うと、ほとんどがこちらのAMD64のことを意味しています。因みに、このアーキテクチャの設計を一番初めに行ったのはAMD

    Wacky
    Wacky 2006/07/29
    64ビット技術がどのような特徴を持ち合わせているのか、また、ソフトウェア側のアプローチをどのように進めていったらよいのかというテーマについて語ります。
  • Assembly Programming Linux - Linux でアセンブリプログラミング

    Linux でアセンブリプログラミング copyright (C) 2000,2001 Jun Mizutani (mizutani.jun@nifty.ne.jp)

  • Assembly Programming on Linux Zaurus(7)

    Linux Zaurusでアセンブリプログラミング copyright (C) 2003 Jun Mizutani (mizutani.jun@nifty.ne.jp) 7. アセンブラ GNU as の基礎知識 Linux Zaurus 上でアセンブラ (GNU as または gas と呼ぶ) でプログラミング する場合の基的な事柄を解説します。 アセンブリソースの例 アセンブルとリンクと実行 コメント セクション ラベルとシンボル データ形式 式 擬似命令 マクロ 簡単なソースのアセンブル、リンク、実行から始めて、GNUアセンブラの文法の 重要な部分を見ていきます。 Windowsマシンで使用しているインテルのi386系のCPUでは、GNU as と MASM, TASM, NASM等のアセンブラと文法が異なるため、GNU asを使った プログラミングでは特にレジス

    Wacky
    Wacky 2006/04/01
    Linux Zaurus 上でアセンブラ (GNU as または gas と呼ぶ) でプログラミングする場合の基本的な事柄を解説します。
  • DR-DOS System and Programmer's Guide (私訳)

    DR-DOS System and Programmers Guide (私訳) もくじ このガイドについて Chapter 1 イントロダクション (未訳) Chapter 2 API の使用 Chapter 3 DR-DOS のサポートする割り込み (途中まで) Chapter 4 DR-DOS のシステムコール (9割がた訳了) Chapter 5 エラー処理 Chapter 6 デバイスドライバ Chapter 7 DR-DOS BIOS (未訳) Appendix A デバイス入出力制御 (IOCTL) (未訳) Appendix B タスクマネージャのファンクション (未訳) Copyright (c) 1993, 1997 Caldera, Inc All rights reserved.

  • introduction to x86-asm

    x86アセンブリ言語入門 昔に書いたのを発掘し, 若干手直しして出しました. 内容の古いところや間違ってるところがあればご指摘ください. 64bit環境についてはx64 アセンブリ言語プログラミングを参照してください. なおこのページではごく簡単なコードを書けるようになること, デバッグ時に知っておけばよいこともあるだろう程度の知識の取得を目指します. 高速化手法自体については触れません. レジスタについて 基用語 最初の一歩 Cとの連係 Cとの連係 その2 Cとの連係 その3 Windows DLL 少し応用 gasの場合は 実際に書くならこんなことも 簡易命令一覧

    Wacky
    Wacky 2006/02/12
    x86アセンブリ言語入門