タグ

assemblerに関するryochackのブックマーク (3)

  • ARM GCC Inline Assembler Cookbook

    About this document The GNU C compiler for ARM RISC processors offers, to embed assembly language code into C programs. This cool feature may be used for manually optimizing time critical parts of the software or to use specific processor instruction, which are not available in the C language. It's assumed, that you are familiar with writing ARM assembler programs, because this is not an ARM assem

  • Tags for Mixed Assembly and C

    ryochack
    ryochack 2014/06/22
    AssembleyからCへのctagsジャンプTips。CからAssemblyへのジャンプはできない
  • lealについて - suu-g's diary

    lea命令は、Load Effective Address命令というもので、メモリ上の場所のアドレス値をレジスタに格納するもの。そのアドレスへのパイプを作っているような具合。なので、 leal 4(%esp), %eax とあったら、「ESPの値に4を足したメモリ位置」のアドレスを、EAXに格納するという意味になる。 端的に言うと、 EAX = ESP + 4 ってこと。 この命令を行うだけなら、二命令使って movl %esp, %eax addl $4, %eax としても同じ結果が得られそうなものだけど、では何のためにLEA命令があるのか。 実は、LEAは計算が目的じゃなくてアドレスを得るための命令なので、通常の計算命令と違ってフラグレジスタに影響を与えない。フラグに影響を与えないので、反復する命令に適している。*1 また足し算が一命令で出来てしまうので、その辺でも使われることがある

    lealについて - suu-g's diary
    ryochack
    ryochack 2014/06/08
    “LEAは計算が目的じゃなくてアドレスを得るための命令なので、通常の計算命令と違ってフラグレジスタに影響を与えない。フラグに影響を与えないので、反復する命令に適している。”
  • 1