Hexspeak
とあるオープンソースのハード制御のコードを読んでたら、レジスタ設定用変数を黙って「0xDEADBEEF」で初期化してたので、ちょっとだけデータシートとにらめっこしてしまった。
0xDEADBEEFは「dead beef」で、初期化してない領域のマーキングに使ってるわけですね。
コメントも無しで唐突に書かれるとちょっと困りますが、こういった16進表記はよく見かけます。
気になったので、調べてみるとWikipediaに「Hexspeak」というページにまとまってました。
http://en.wikipedia.org/wiki/Hexspeak
* 0xABADBABE ("a bad babe") is used by Apple as the "Boot Zero Block" magic number.
* 0xBAADF00D ("bad food") is used by Microsoft's LocalAlloc(LMEM_FIXED) to indicate uninitialised allocated heap memory.
* 0xBADDCAFE ("bad cafe") is used by 'watchmalloc' in OpenSolaris to mark allocated but uninitialized memory.
* 0xCAFEBABE ("cafe babe") is used by both Mach-O ("Fat binary" in both 68k and PowerPC) to identify object files and the Java programming language to identify Java bytecode class files
* 0xDEADBEEF ("dead beef") is used by IBM RS/6000 systems, Mac OS on 32-bit PowerPC processors and the Commodore Amiga as a magic debug value. On Sun Microsystems' Solaris, marks freed kernel memory. On OpenVMS, running on Alpha processes DEAD_BEEF can be seen by pressing CTRL-T.
* 0xDEFEC8ED ("defecated") is the magic number for OpenSolaris core dumps.
* 0xFEE1DEAD ("feel dead") is used as magic number in Linux reboot system call.
* 0xFEEDFACE ("feed face") is used as a header for Mach-O binaries, and as an invalid pointer value for 'watchmalloc' in OpenSolaris.
日本語だと読み方のバリエーションも増えるから、いろんなHexspeakできそうです。
さっそく、
「 123DAAAA 」
という、すごく盛り上がりそうな表現も使えることがわかりました!
何かのマジックナンバーに使ってください〜