タグ

Linuxとアセンブラに関するskypenguinsのブックマーク (2)

  • ARM アセンブリ Hello, World on Raspberry Pi | tech - 氾濫原

    x86 で asm 書く機会ってほんとなくて、むしろ ARM の命令セットを学んだほうがいろいろモチベーションがでてきそう、ということで、とりあえず ARM Linux 上で簡単なのを書いてみます。 ARM は伝統的に OABI ("arm"), EABI ("armeb")という2つのインターフェイスがあるらしいです。OABI が古いほうで汎用 (Old)。EABI は組込み (Embeded) 用。ABI の違いということはシステムコールの呼びかたとか、サブルーチンの呼びかたが違いということです…… すなわちアセンブリで書くときはどっちを書いてるか明確にする必要があります。 ここでは EABI だけでやってみます。EABI の場合システムコールは、r7 にシステムコール番号を指定して、SVC 命令を発行 (オペランドは 0) すれば良いようです。 環境は GCC でやります。 その前に

  • Assembly Programming on x86-64 Linux

    はじめに だれでも64ビットのコンピュータを所有する時代になってきました。最近の PC では WindowsXP や WindowsVistaといった32ビットのOSが使われているものの、Core2Duo を代表として、すべて amd64 や intel64 といった 64bitに対応した CPU が搭載されています。昔、インテルの 80386 や 80486 という 32bitCPU は10年近く MS-DOS や Windows3.x といった16bitのOSを使うための高速な8086として使われていました。Windows95の時代になって、やっと32bitの機能が一般的に使われ始めました。2009年現在でも64bitに対応した Windows はサーバ用として一部で活躍しているだけではないでしょうか。Linux という無料で使える OS でも、すでに64bit版が安定して使える

  • 1