タグ

asmに関するsh19910711のブックマーク (12)

  • LLVMインラインアセンブラのmemory constraints/clobberのはなし - Qiita

    どうでもいい前置き: gistにおいてたんけど、あとで検索性わるいよなということに気がついたので一時的かもしれないがQiitaにも書く。 memory constraints/memory clobberのはなし memory clobber これの "memory" の部分 このコードはcompiler fenceとかよばれてる コンパイラがコードを並べ替えしないように CPUの命令reorderingは防げないので注意 case InlineAsm::isClobber: { const unsigned NumRegs = OpInfo.Regs.size(); if (NumRegs > 0) { unsigned Flag = InlineAsm::Flag(InlineAsm::Kind::Clobber, NumRegs); Inst.addImm(Flag); for (R

    LLVMインラインアセンブラのmemory constraints/clobberのはなし - Qiita
    sh19910711
    sh19910711 2024/06/18
    "LLVMインラインアセンブラはC言語とは文法が違う / memory clobber: compiler fenceとかよばれてる + コンパイラがコードを並べ替えしないように + CPUの命令reorderingは防げないので注意" 2023
  • ARM命令はなぜ先頭に0xEが並ぶのかについて調べてみた - /home/tnishinaga/TechMEMO


    grep + from murachue www.slideshare.net ARM 4bit0xEARMCTF 0xE調調  0xEARM7ARM ARM Information Center ARM
    ARM命令はなぜ先頭に0xEが並ぶのかについて調べてみた - /home/tnishinaga/TechMEMO
    sh19910711
    sh19910711 2024/05/30
    "ARMの実行バイナリをバイナリエディタのビットマップビューで見るとゴマ粒のようなものが縦に並んでいる / 多くの命令の先頭が0xEなのは、コンディションフィールドの値がAL(0xE)だから" 2017
  • アセンブリ言語でフィボナッチ数 - sileのブログ


    C++VM VM(x86)common lisp  : 使 mov/ret/push/pop/add/sub/inc/dec/cmp/jmp/jcc/call  64bit  SBCL github: cl-asm-0.0.1   (use-package :sb-alien) ;; Fibonacci
    アセンブリ言語でフィボナッチ数 - sileのブログ
  • An ASM Monad

    Two weeks ago, I briefly introduced a way of representing Assembly Language in Haskell code, in order to illustrate the programming paradigm to which it belongs. In a move that is sure to scare off both high-level and low-level programmers, I shall now explain how a Monad implementing 6502 Assembly can be created. In real code, this would use more abstract or efficient types, but in this article I

  • TALK project

  • x86 Linux シェルコード作成 - k0u5uk3’s blog

    2015-07-21 x86 Linux シェルコード作成 pwn シェルコードとは ソフトウェアの脆弱性攻撃のペイロードであり、バイトコードで記述されます。そのため、CPUやOSのバージョンといったプラットフォーム毎に作成されます。 シェルコードという名称は一般的にシェルを起動することが攻撃者にとって楽にマシン全体の制御を奪う方法であり多用されているからですが、実際のところシェルコードはどのような処理も記述することができます。 x86 Linux シェルコード作成の前提知識 アセンブリ言語 シェルコードのバイトコードは、マシン語命令のアーキテクチャによって異なるため、アセンブリ言語で記述することになります。 Linuxシステムコール OSはカーネル内で入力、出力、プロセス制御、ファイルアセクス、ネットワーク通信と行ったタスクを管理します。 C言語のプログラムは最終的に、こういったタスクを

    x86 Linux シェルコード作成 - k0u5uk3’s blog
  • How to optimize for the Pentium family of the microprocessors


    How to optimize for the Pentium family of the microprocessors (InJapanese)Original (in English): http://www.agner.org/assem/ Copyright (c) 1996, 2000 by Agner Fog. Last modified 2000-03-31. Translation into Japanese by Nobuhisa Fujinami and Takashi Itoh. Last modified 2000-05-30. Agner Fog()Agner FogAgner Foghttp
  • インラインアセンブラで学ぶアセンブリ言語 第3回


     12Microsoft Visual C++ 3稿ifforCgoto 
    インラインアセンブラで学ぶアセンブリ言語 第3回
  • プログラミングノート - x86

    movl 3(%esi,%ebx,2), %eax 整数演算 ロード/ストア mov eax, [4] mov eax, [ebx] mov eax, [ebx+4] mov eax, [ecx*2+4] mov eax, [ebx+ecx] mov eax, [ebx+ecx+4] mov eax, [ebx+ecx*2] mov eax, [ebx+ecx*2+4] mov eax, [rip+4] レジスタ (eax, ebx, ecx の部分) は汎用レジスタどれでも指定できる。 シフト (*2 の部分) は 2, 4, 8 のいずれか。 オフセット (+4 の部分) は符号付き 8 ビットまたは 32 ビット。 64 ビットでは rip 相対アドレッシングが可能。 ただし単純にオフセット (符号付き 32 ビット) を加算する形式のみ。 32 ビットでは eip 相対は不可。 c

  • 8086アセンブラ資料室

    8086アセンブラ資料室 このページについて このページは、PC-9801上のMS-DOSで動作するマクロアセンブラ(MASM)の文法に基づいて書いています。他のアセンブリ言語とは文法の違いがある可能性があります。 このページは過去に8086アセンブラで作られたプログラムの解析や新システムへの移行のための資料として掲載していますが、ここに書いてあることを100%信用したりはせず、少しでもおかしいと思ったものは、各自で他の資料をあたるなり、検証するなりしながら、あくまでもヒントとしてご利用ください。 皆様のご理解とご協力をお願いします。 「アセンブラ」と「コンパイラ」 アセンブラ言語とコンパイラ言語は、一見同じようなものに見えます。実際に、『プログラムを作る』という目的は同じです。しかし、中身はまったく違います。コンパイラは、その文法を解釈し機械語コードを生成するのに対し、アセンブラは単

  • WLA DX - Yet Another GB-Z80/Z80/Z80N/6502/65C02/65CE02/65816/68000/6800/6801/6809/8008/8080/HuC6280/SPC-700/SuperFX Multi Platform Cross Assembler Package

    WLA DX - Yet Another GB-Z80/Z80/Z80N/6502/65C02/65CE02/65816/68000/6800/6801/6809/8008/8080/HUC6280/SPC-700/SuperFX Multi Platform Cross Assembler Package Originally written by Ville Helin in 1998-2008 Features: Fast SNES support SMS/GG support Gameboy support Megadrive support PC-Engine support Support for object and library files You can patch ROM images with code Multilevel macros (actually, fu

  • Technical Assembler


         How to Assembler Assembler  Assembler Sample source  Mnemonic reference   Assembler Message board Assembler  Assembler Chat room Assembler  Assembler FAQs Assembler FAQ
  • 1