Lyrics & Knowledge Personal Pages Record Shop Auction Links Radio & Media Kids Membership Help
The Mudcat Cafesj



User Name Thread Name Subject Posted
HuwG Communication Codes (24) RE: Communication Codes 04 Aug 09


In the weird and wonderful world of assembly- or machine-code programmers, some hexadecimal (i.e. base 16) numbers known as "magic numbers" have specific meanings, sometimes built into hardware or operating systems by the manufacturer:

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 Mach-O ("Fat binary" in both 68k and PowerPC) to identify object files, and by the Java programming language to identify Java bytecode class files.
0xCAFED00D ("Cafe Dude") is used by Sun JAVA as a magic number for their pack200 compression.
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, it marks freed kernel memory. On OpenVMS running on Alpha processors, DEAD_BEEF can be seen by pressing CTRL-T.
0xDEFEC8ED ("defecated") is the magic number for OpenSolaris core dumps.
0xFACEFEED ("face feed") is used by Alpha servers running Windows NT. The Alpha Hardware Abstraction Layer (HAL) generates this error when it encounters a hardware failure.
0xFEE1DEAD ("feel dead") is used as a magic number in the Linux reboot system call.
0xC0ED ("coed") is used as a magic number in the Linux mount system call.
0xBADCAB1E ("bad cable") Error Code returned to the Microsoft eVC debugger when connection is severed to the debugger.
0xFEEDFACE ("feed face") is used as a header for Mach-O binaries, and as an invalid pointer value for 'watchmalloc' in OpenSolaris.
0xD15EA5E\0 ("disease") opens a game disc partition on the Wii video game console. (\0 is used to mark the end of a string. Also of note, it was 0xDEADBEEF on the Nintendo GameCube.)
0xDEADDEAD ("dead dead") is the STOP code when invoking a Blue Screen of Death by using a special keystroke on a Windows NT based OS.
0xBEADFACE ("bead face, or face bead") Is the pattern that fills all unused memory locations in the Motorola 68HCS12DP256 micro-controller simulator, SimHC12.

See Wikipedia

I must be one of thousands of programmers who embedded 0x0B0110C5 at the end of fixed size memory allocations, though rather unintuitively, it was what you exclaimed when data overflowed and you didn't see the magic number.


Post to this Thread -

Back to the Main Forum Page

By clicking on the User Name, you will requery the forum for that user. You will see everything that he or she has posted with that Mudcat name.

By clicking on the Thread Name, you will be sent to the Forum on that thread as if you selected it from the main Mudcat Forum page.

By clicking on the Subject, you will also go to the thread as if you selected it from the original Forum page, but also go directly to that particular message.

By clicking on the Date (Posted), you will dig out every message posted that day.

Try it all, you will see.