タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

Programmingとasmとdevelopmentに関するjjzakのブックマーク (10)

  • アセンブラとか - x86clocker

    Menu About 過去ログ div命令の レイテンシ BBS アップローダ 最新の4件2016-01-20 BBS 2014-07-08 ??©¡???Ñ?¡ß???À 2012-07-08 テンプレ 2008-06-18 Upload 今日の2件 BBS(1) FrontPage(1) counter: 6535today: 1yesterday: 1online: 1 アセンブラとは † アセンブリ言語をアセンブルするのがアセンブラである。 ただし、アセンブリ言語を指してアセンブラと言うことが多い。 CPUの中身を知りたいと思ったらアセンブラでCPUを触ってみるとよい。 アセンブラ*1を使うには † 環境は、WindowsでVBとVC++があるのを想定。 VC++にはインラインアセンブラというのがある。または、アセンブルだけ他のアセンブラ(NASMなど)にやってもらうこともできる。

  • 最適化の為のアセンブラ入門

    現在、アセンブラを使わなければならないという状況はあまりありませんが、最適化をする場合はアセンブラを知っている方がなにかと有利です。特に、コンパイラの吐いたコードを吟味することはとても重要です。よってここでは、アセンブラコードを読む能力と、簡単なアセンブラコードを書く能力を身に付けることを目標とします。 この記事は Windows 上で VC++ を使う場合を想定して書いていますが、BCC でも殆ど同じですし、gcc でも少し書き方を変えれば使えます。Intel のプロセッサ上で動く Linux 等でも基的な部分は同じですし、命令セットの異なるプロセッサでも、基的な部分は役に立つと思います。ターゲットは Intel Pentium 系プロセッサです。 第0回 アセンブラってどういうもの? 第1回 代入と基的な演算 第2回 定数とメモリの扱い 第3回 レジスタについて 第4回 分岐命

  • gccでインラインアセンブリするときの記法 - big-eyed-hamster’s diary

    gccでインラインアセンブリ機能を利用しようとしたら、だいぶ記法が変態的(って言ったら怒られるかな^ー^;)だったのでメモ。 1 #include <stdio.h> 2 3 int main(int argc,char* argv[]){ 4 int a=10,b=0; 5 6 printf("before:%d\n",b); 7 8 //----memo---- 9 //通常のGASの構文では、レジスタを利用するためにプレフィックスとして 10 //%を1つだけつける。 11 //ところが、gccのインラインアセンブリの構文では、 12 //C言語中で宣言された変数を利用するために、レジスタを利用する 13 //プレフィックスを変更してあげる必要がある。具体的には、 14 // レジスタ:%%レジスタ名 15 // 変数名 :%C言語中の変数名 16 //となる。 17 // 18 /

    gccでインラインアセンブリするときの記法 - big-eyed-hamster’s diary
  • 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
  • Omicron Linux/インラインアセンブラ

    Linux/インラインアセンブラ Linux get_current 関数を例にインラインアセンブラを説明する. Linux カーネルで使われているアセンブラは GAS (GNU Assembler) であり,インラインアセンブラの表記もこれに従う.GAS は Intel 表記ではなく,AT&T 表記を利用するアセンブラであり,Intel のマニュアルを読みながら GAS でコーディングする場合は注意が必要である. get_current (include/asm/current.h)の定義は次のようになっている. static inline struct task_struct * get_current(void) { struct task_struct *current; __asm__("andl %%esp,%0; ":"=r" (current) : "0" (~8191UL

  • gccインラインアセンブラ

    gccのasm命令を使うことで,Cの中でインラインアセンブラを使える. 【構文】 asm volatile ("アセンブラテンプレート" : "出力オペランド" : "入力オペランド" : "アセンブラの実行で変更されてしまうもの"); [アセンブラテンプレート] ニーモニックを指定する. "cpuid"とか"mov"とか. 複数指定することもできる. [出力オペランド] 下記のように指定する "=a" (出力先変数), "=b" (出力先変数) ex) "=a (buf)" はeaxレジスタの内容を変数bufに出力することを示す. [入力オペランド] "a" (入力)のように指定する "0"(入力)と指定すると,1番目に指定した出力オペランドの制約条件を流用する. ex) "a" (0) はEAXレジスタに入力として0を与えることを示す. 【オペランドの制約条件】 "=" asmが終わっ

  • アンティーク・アセンブラ~Antique Assembler 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2025 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    アンティーク・アセンブラ~Antique Assembler 記事一覧 | gihyo.jp
  • OSのようなもの

    The madman with a lantern -- ランタンを持った狂気の男 The Madman. Have you ever heard of the madman who on a bright morning lighted a lantern and ran to the market-place calling out unceasingly: "I seek God! I seek God!" As there were many people standing about who did not believe in God, he caused a great deal of amusement. Why? is he lost? said one. Has he strayed away like a child? said another. Or does he

    OSのようなもの
  • x86 Assembly Language, IA-32

    x86 (IA-32) Assembly Language Intel 486 プロセッサ [注意] ページで扱っているのは 32bit OS上でGNUのgcc コンパイラを使った例です。 2005年ごろまではC コンパイラとして GNU プロジェクトの gcc が利用されることが一般的でしたが、 それ以降は LLVM の clang が使われることが多くなり、現在ではgccコマンドを起動しても 内部はclangであることが多くなっています。 そのため、ページの例と、手元のシステムのgccの出力が異なる場合がありえます。 x86アセンブラ/GASでの文法 参考文献: はじめて読む486,蒲地輝尚 著,アスキー出版局,1994 Intel CPUの発展: 4004 → 8080 → 8086 → 80186 → 80286 → 80386 → 80486(i486) → Pentium

  • KENJI

    更新履歴 DNS拡張EDNS0の解析 Linuxカーネルをハッキングしてみよう Windowsシステムプログラミング Part 3 64ビット環境でのリバースエンジニアリング Windowsシステムプログラミング Part2 Windowsシステムプログラミング Part1 Contents インフォメーション 「TCP/IPの教科書」サポートページ 「アセンブリ言語の教科書」サポートページ 「ハッカー・プログラミング大全 攻撃編」サポートページ ブログ(はてな) BBS メール このサイトについて テキスト 暗号 詳解 RSA暗号化アルゴリズム 詳解 DES暗号化アルゴリズム crypt() アルゴリズム解析 MD5 メッセージダイジェストアルゴリズム crypt() アルゴリズム解析 (MD5バージョン) TCP/IP IP TCP UDP Header Format(IPv4) Ch

    jjzak
    jjzak 2006/11/06
    OS起動部分のブートローダ
  • 1