タグ

asmに関するYoshichikaのブックマーク (11)

  • advanced optimization SSE

    float型浮動小数を4つ並列に演算する機構です. MMXや3D Now!の様にFPUレジスタを利用しているのではなく全く新規に作られたレジスタです. そのため, MMXや3D Now!と違ってFPUレジスタとの切替え[emms, femms]は不要ですが, 代わりにOSがSSEレジスタをサポートしている必要があります. 基的に最下位データのみを操作する命令にはss, 4つの(パックされた)データを操作する命令にはpsがつきます. 大抵の命令はssよりはpsの方がレイテンシ, スループットともに1クロックずつ余計にかかります. 以下, 表の中の`F'はfloat型データ1つを表します. `a-bサイクル'はレイテンシa, スループットbを表します. xmm?と書くのは面倒なのでxm?と書きます. 4.1 読み込み / 書き込み

  • Assembly Programming Linux

    Linux でアセンブリプログラミング copyright (C) 2000-2003 Jun Mizutani (mizutani.jun@nifty.ne.jp) はじめに. アセンブラを使って Linux のプログラミングで遊んでみます.アセンブラには NASM を使用して,カーネルを直接利用することにします. いまさらアセンブラでプログラムを作成することは,時代錯誤と感じる人も 多いかもしれません.「アセンブラでプログラミングなんて職人芸でしょう」 と思うかもしれません. 20年前では趣味のプログラミングは BASIC か アセンブラしか選択肢がありません でしたが,今ではPerl, Ruby からアセンブラまでの間に非常に多くの言語があって, アセンブラは普通では不要な最下層の知識となっていると思います. 10BaseT のツイストペアケーブルのインピーダンス

  • 目指せプログラマー!

    目指せプログラマー!にようこそ。 当サイトはこちらに引っ越しました。 お手数をおかけしますが、上記サイトへご移動くださいませ。

  • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

    日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。

  • HOW TO OPTIMIZE FOR THE PENTIUM PROCESSOR

    HOW TO OPTIMIZE FOR THE PENTIUM PROCESSOR (In Japanese) Original (in English): http://announce.com/agner/assem/assem.html Copyright (c) 1996, 1997 by Agner Fog. Last modified 1997-08-19. このページは、Agner Fogさんによる同名のマニュアルの、藤波順久による日語訳です。原文(英語)の著作権はAgner Fogさんにあります。また、日語訳中の「私」とは、Agner Fogさんのことです。原文は http://announce.com/agner/assem/assem.html を参照してください。 このページは、現在更新中であり、原文の古い版(1997-03-16)に基づいている章がいくつかありま

  • NWSA

  • プログラミングのお話

    2.C から呼び出せるサブルーチン(引数,ローカル変数なし)を NASM で作成[2001/03/07] 今回は、NASM を使って、C から呼び出せるサブルーチンを作ってみましょう。 よくありがちな、CPU が MMX に対応しているかどうかのチェックをやってみようと思います。 [mmxcheck.asm] ;------------- 引数をとらない関数呼び出し。 ------- ;int mmxCheck(void); bits 32 ; 32 bit モードでアセンブルする section .text code align=4 use32 global _mmxCheck ; VisualC++/Borland C 用のラベル global mmxCheck ; elf バイナリ用のラベル mmxCheck: ; elf バイナリ用のラベル _mmxCheck: ; VisualC

  • SIMD with NASM

    IA-32(x86)にはSIMD(Single Instruction Multi Data)と呼ばれる拡張命令があります。これは1回の命令で複数のデータを同時(並列)に処理できるので、マルチメディア関係のソフトの処理速度を上げるのに有効です。 SIMD拡張命令はMMXから始まり、3DNow!、SSE、SSE2などの種類があります。これらの命令をLinuxの環境で使うにはいくつかの方法がありますが、ここではNASM(The Netwide Assembler)を使った方法を説明します。 使用した環境 AthlonXP 1900+ (LoquatXP) LedHat Linux 7.2(Linux 2.4.7) NASMのインストール SourceForge.netのProject:The Netwide Assemblerからソースなりバイナリなりをダウンロードしてインストールする。特

  • FPU/SIMD濃緑研究所

    Sorry, this page is Japanese Only. このページの最終更新日は 07/06/20 です。 Since 1999/4/10 文責:  岩田 一成 問い合わせはまで Pentium�U・Celeron・Pentium�VのFPU能力は当にK6コアのFPU能力より高いのか? 単精度浮動小数点SIMD能力は3DNow!とSSEどちらに軍配が? Athlonの実力やいかに? Pentium4とはいかなるCPUなのか Athlon64、intel-Core、Core2は? ただいま別館【濃緑空間】でRound1:Orbit Round2:DCT Matrix Pentium4、Athlon64、PentiumM、Intel Core、Intel Core 2計測結果速報中です。 またRound2の計測結果をこちらのPDFファイ

  • Win32 MASM プログラミング入門

    この他にも、いくつかダウンロードサイト(公認かどうかは謎)があるので、そちらから落としてきてもいいです。 さて、MASM をゲットしましたか?MASM のプログラムファイル名は ML.EXE という名前です。このプログラムにソースファイルをわせることによって、バイナリファイルを吐き出してくれます。バイナリを吐き出してくれたら、後は必要なリンクを行い、実行形式にすれば実行することが出来ます。 -----MASMについてヴォーガさんか情報を頂いたので載せておきます----- はじめまして。ヴォーガと申します。プログラミング関連、特に MASM の ページは大変貴重で、参考にさせていただいています。ありがとうございます。 ちょっとだけ気になったのですが、MASM の入手方法のところ。DDK を入手 する前提で書かれている部分が更新されていませんでした。現在は DDK は米 MS サイトより C

  • introduction to x86-asm

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

  • 1