64ビットCPU(AMD64+EM64T)でのアセンブリ言語プログラミング

64ビットCPU(AMD64+EM64T)で
アセンブラ

 Assembly language programming for 64bit-CPU(AMD64+EM64T)
 

DellのPenrynノート(Core2Duo T8300)を購入し、 Vista(x64)上に環境を構築しました。 いままでXP上でやっていたことがすべて Vista(x64)上でできるようになり、 ようやくメインマシンがx64になりました。
重い重いといわれるVistaですが、Vista SP1を導入し、 いくつかの機能を停止したり、設定を変更することで、 XPと比べても遜色ない軽快さが得られています。
環境構築時の備忘録は、時期未定ですが、 このサイトに載せる予定です。
64ビットネイティブの環境はきわめて快適です。


Last Updated: 2008/04/10

目次

プログラミングメモ
リンク集
ブログ
メモ
管理人宛メール

ソフトウェア

Turbo Factorial (x64/AMD64/EM64T対応、ベンチマークにどうぞ。)
ソフトウェア一覧

更新履歴

はじめに

当サイトは、Athlon64/Turion64/Opteronなどの64ビットCPUをアセンブラ(アセンブリ言語)を用いたプログラミングで堪能することを目的としています。 通常のプログラミングでアセンブラを使うことはほとんどなくなりました。デバイスドライバもC言語で記述する時代です。 でも、アセンブラを用いてCPUを直接操作する楽しみは不滅です。 64ビット用のVisual C/C++ではインラインアセンブラが使えなくなりましたが、単体のアセンブラ(MASM)は64ビットでも健在です。 「CPUを堪能する」をキャッチフレーズに、楽しみましょう。

方針

当サイトで扱うのは、x64(x86-64)でのアセンブラです。 すなわち、AMDのAMD64アーキテクチャ(Athlon64, Turion64, Opteronなど)やインテルのEM64Tアーキテクチャ (IA32eとも表記する, Prescottコア以降の一部のPentium4, PentiumD, Noconaコア以降のXeonなど)の CPUで稼動する64ビットOS上でのアセンブリ言語プログラミングです。 Alpha, SPARC64, MIPS64, SH-5などは対象外です。 IA64(Itanium Processor Family, 略してIPF)は原則は対象外ですが、とても興味深いので扱うことがあるかもしれません。

OS環境としては、x64用のWin64(Windows XP x64 Edition, Windows Server 2003 x64 Editionなど)を想定しています。 IA64用のWin64(Windows Server 2003 for 64-Bit Itanium-based Systemsなど)は原則は対象外ですが、扱うことがあるかもしれません。 Windows以外のOSは対象外です。

プログラミングスタイルとしては、プログラムの大部分をC/C++で作り、一部のルーチンのみをアセンブリ言語で作成する形になります。 アセンブラだけでWindowsプログラムを作ろうという(過激な)スタイルもありますが、面倒で生産性が低いので、私はやりません。

サイト名は64ビットを謳っていますが、Win32などの32ビット環境を扱うこともあります。

リンク

CrystalCPUID
Fab51
PINUPS - 上田新聞blog版
Hammer-Info
AMD64 Architecture Tech Docs
Intel 64(旧 EM64T)
MSDN
Copyright(C) 毛流麦花
 Copyright(C) 2004-2008 毛流麦花. All rights reserved. リンクは全頁ご自由にどうぞ。(事前・事後の連絡不要)