Knowledge (XXG)

Fat binary

Source 📝

4749:
load and relocation method(s) used, the individual features included, and the configuration options specified in the command line. Due to the large number of command line switches and options supported (around fifty switches with multiple possible settings) there is a high number of feature combinations with uncountable dependencies resulting in endless number of different target images. FreeKEYB's Dynamic Dead Code Elimination technique manages to resolve these dependencies and remove dead code and data is not restricted to include or exclude a somewhat limited number of modules or whole sub-routines and fix up some dispatch tables as in classical TSR programming, but works at byte level able to remove individual instructions in the middle of larger routines distributed all over the code to handle a particular case or support a specific feature special tools are used to analyze the code and create fixup tables automated using conditional defines to declare the various cases not only optional at assembly time but at initialization time without the overhead of having at least some amount of dead code left in the runtime image to keep track of all the dependencies between these conditionals, dynamically build and relocate the runtime image, fix up all the references between these small, changing, and moving binary parts still allowing to use the tiny .COM/.SYS style model is done at initialization time
392:, to play this role. However, Rosetta had a fairly steep performance overhead, so developers were encouraged to offer both PPC and Intel binaries, using Universal binaries. The obvious cost of Universal binary is that every installed executable file is larger, but in the years since the release of the PPC, hard-drive space has greatly outstripped executable size; while a Universal binary might be double the size of a single-platform version of the same application, free-space resources generally dwarf the code size, which becomes a minor issue. In fact, often a Universal-binary application will be smaller than two single-architecture applications because program resources can be shared rather than duplicated. If not all of the architectures are required, the 4786:, so you can at installation time specify which components of the driver you want and which you don't. This goes to an extent of dynamic loadable modularization and late linkage I have not seen under DOS so far. If you do not like the screen saver, macros, the calculator, or mouse support, or <almost anything else>, you can specify this at the command line, and FreeKEYB, while taking all the dependencies between the routines into account, will completely remove all the code fragments, which deal with that feature and are not necessary to provide the requested functionality, before the driver relocates the image into the target location and makes itself resident. 752:). Since DOS does not reject files with a .COM extension to be loaded per DEVICE and does not test for FFFFFFFFh, it is possible to combine a COM program and a device driver into the same file by placing a jump instruction to the entry point of the embedded COM program within the first four bytes of the file (three bytes are usually sufficient). If the embedded program and the device driver sections share a common portion of code, or data, it is necessary for the code to deal with being loaded at offset +0100h as a .COM style program, and at +0000h as a device driver. For shared code loaded at the "wrong" offset but not designed to be 3510:). Programs, such as Bridger Mitchell's JETLDR.COM, that load these modules from files into memory can use the ID string to validate the file, that is, to make sure that it is the kind of module that the user has stated it to be. User mistakes and damaged files can thus be detected. The header, thus, now stands as follows: rst db 'Z3TXT',0 ; null-terminated ID  ; 12345678 ; must be 8 characters, db 'PROGNAME' ; pad with spaces  ; 123 ; must be 3 characters db 'ENG' ; name of language dw LENGTH ; length of module 606:, which is decoded as a "RET" instruction by x86 processors, thereby gracefully exiting the program, while it will be decoded as "JP 103h" instruction by 8080 processors and simply jump to the next instruction in the program. Similar, the CP/M assembler Z80ASM+ by SLR Systems would display an error message when erroneously run on DOS. 3190:= directives prior to any INSTALL= statements, regardless of their order in the file. software may require the mouse driver to be present as a device driver, as mouse drivers have always been device drivers back in the old times. These mouse drivers have had specific device driver names depending on which protocol they used (" 3707:
reached the end of the file when it has read the last record (basic unit of disk space) allocated to the file. The disk directory entry for each file contains a list of the disk records allocated to that file. This method relies on the size of the file, rather than its content, to locate the end of the file.
3706:
is possible because CONTROL-Z is seldom used as data in ASCII files. In a non-ASCII file, however, CONTROL-Z is just as likely to occur as any other character. Therefore, it cannot be used as the end-of-file marker. CP/M uses a different method to mark the end of a non-ASCII file. CP/M assumes it has
685:
and DOS do not share a common file extension for executables. Thus, it is not normally possible to confuse executables. However, early versions of DOS had so much in common with CP/M in terms of its architecture that some early DOS programs were developed to share binaries containing executable code.
407:
In addition, Multi-Architecture Binary executables can contain code for both 32-bit and 64-bit versions of PowerPC and x86, allowing applications to be shipped in a form that supports 32-bit processors but that makes use of the larger address space and wider data paths when run on 64-bit processors.
4748:
FreeKEYB builds the driver's runtime image at initialization time depending on the type of machine it is being loaded on, the type of keyboard, layout, country and code page used, the type of mouse and video adapter(s) installed, the other drivers loaded on that system, the operating system and the
3054:
manual) switching between them at runtime the OS interface in WordStar is quite narrow and well abstracted the WordStar 3.2x overlays are 100% identical between the DOS and CP/M-86 versions. There is a runtime switch which chooses between calling INT 21h (DOS) and INT E0h (CP/M-86). WS.COM is not
3123:
FreeKEYB is a true .COM and .SYS driver (tiny model) in one. You can safely overwrite the first JMP, that's part of what I meant by "tricky header". you can replace the FFFFh:FFFFh by a 3-byte jump and a pending DB FFh. It works with MS-DOS, PC DOS, DR-DOS, and most probably any other DOS
4716:
depending on the underlying hardware, operating system, and driver configuration as well as the selected feature set and locale (about sixty configuration switches with hundreds of options for an almost unlimited number of possible combinations). This complexity and the dynamics are hidden from
1043:
format called Arm64X. An Arm64X binary contains all the content that would be in separate x64/Arm64EC and Arm64 binaries, but merged into one more efficient file on disk. Visual C++ toolset has been upgraded to support producing such binaries. And when building Arm64X binaries are technically
548:
In order to avoid this, some methods have been devised to build fat binaries which contain both a CP/M-80 and a DOS program, preceded by initial code which is interpreted correctly on both platforms. The methods either combine two fully functional programs each built for their corresponding
1573:
opcode C3h) will implicitly jump to the start of its code segment as well, thereby eventually reaching the INT 20h as well. In CP/M-86, the zero page is structured differently and there is no CALL 5 interface, but the stack return method and BDOS function 0 (but now through
1288:
embedded into the executable file alongside any number of alternative binary code snippets conditionally build a size- or speed-optimized runtime image of a program or driver necessary to perform (or not perform) a particular function in a particular target environment at
815:
and higher incorporate a safety feature developed by Matthias R. Paul: If these files are called inappropriately, tiny embedded stubs will just display some file version information and exit gracefully. Additionally, the message is specifically crafted to follow certain
208:, when 80 MB hard drives were a common size, these utilities were sometimes useful, as program code was generally a large percentage of overall drive usage, and stripping the unneeded members of a fat binary would free up a significant amount of space on a hard drive. 4827:, die die jeweils notwendigen Bestandteile des Treibers erst zum Installationszeitpunkt zusammenbastelt und reloziert, so daß keine ungenutzten Code- oder Datenbereiche mehr resident bleiben (z.B. wenn jemand ein bestimmtes FreeKEYB-Feature nicht benötigt). 233:
operating system, starting with NeXTSTEP 3.1. In NeXTSTEP, they were called "Multi-Architecture Binaries". Multi-Architecture Binaries were originally intended to allow software to be compiled to run both on NeXT's Motorola 68k-based hardware and on Intel
4442: 563:) in the .COM file have to be valid code for both 8086 and 8080 processors, which would cause the processors to branch into different locations within the code. For example, the utilities in Simeon Cran's emulator MyZ80 start with the opcode sequence 1545:
before passing control to a loaded program, they can, for as long as the stack is flat, also be exited by issuing a RET (opcode C9h) instruction, thereby falling into the terminating code at offset 0 in the zero page. Although DOS has a dedicated
646:
is never appropriate as the first byte of a program for any x86 processor (it has different meanings for different generations, but is never a meaningful first byte); the executable loader in some versions of DOS rejects COM files that start with
423:), Apple included utilities which allowed applications to be targeted for both Intel and PowerPC architecture; universal binaries could eventually contain up to four versions of the executable code (32-bit PowerPC, 32-bit x86, 64-bit PowerPC, and 287:
was able to run. For example, it was possible to choose the target architectures with multiple '-arch' options (with the architecture as argument). This was a convenient way to distribute a program for NeXTStep running on different architectures.
311:(2001), and NeXT's Multi-Architecture Binaries continued to be supported by the operating system. Under Mac OS X, Multi-Architecture Binaries can be used to support multiple variants of an architecture, for instance to have different versions of 1835: 3701:
character in the file after the last data character. If the file contains an exact multiple of 128 characters, in which case adding the CONTROL-Z would waste 127 characters, CP/M does not do so. Use of the CONTROL-Z character as the
2222: 446:
format; Universal 2 binary files are Multi-Architecture Binary files containing both x86-64 and ARM64 executable code, allowing the binary to run natively on both 64-bit Intel and 64-bit Apple silicon. Additionally, Apple introduced
567:. An 8086 sees this as a jump and reads its next instruction from offset +154h whereas an 8080 or compatible processor goes straight through and reads its next instruction from +103h. A similar sequence used for this purpose is 1030:
emulation, making it a useful "universal" machine code target. Fatpack is a loader that demonstrates the concept: it includes a 32-bit x86 program that tries to run the executables packed into its resource sections one by one.
1025:
format used by Windows does not allow assigning code to platforms, it is still possible to make a loader program that dispatches based on architecture. This is because desktop versions of Windows on ARM have support for 32-bit
3283:
so modifiziert, daß er - falls fälschlicherweise als normales Programm gestartet - ohne Absturz zur Kommandozeile zurückkehrt. Wann diese Sicherheitsfunktion in die offizielle Version Einzug halten wird, ist jedoch noch nicht
1565:(the equivalent to CP/M's zero page), where the system had previously planted an INT 20h instruction. Also, a loaded program's initial stack is prepared to hold a word of 0, so that a program issuing a near return RETN ( 1747:
families of operating systems contain similar data but are organized differently and incompatible. Since the entry points into the data structures are at different offsets in the file it is possible to create "fat"
185:, but emulated code generally runs slower than native code. Applications released as "fat binaries" took up more storage space, but they ran at full speed on either platform. This was achieved by packaging both a 475:. However, by 2008, some of their Macs used 32-bit EFI and some used 64-bit EFI. For this reason, Apple extended the EFI specification with "fat" binaries that contained both 32-bit and 64-bit EFI binaries. 272:). This structure defines the offset (from the start of the file) at which to find the file, the alignment, the size and the CPU type and subtype which the Mach-O binary (within the archive) is targeted at. 3501:
module should never be executed, but at a cost of one byte we could protect ourself against that outside chance. The header also contained the string of characters "Z3TXT" followed by a null (0) byte. Many
4163: 3198:
for example), and some software may search for these drivers in order to find out the correct type of mouse to be used. Another advantage would be that device drivers usually consume less memory (no
1786: 3761: 4130: 3324: 989:
One hard drive partition can be booted on different machines with different CPU architectures, for development and experimentation. Same root file system, different kernel and CPU architecture.
3540: 3206:) It's basically a tricky file header, a different code to parse the command line, a different entry point and exit line, and some segment magics to overcome the ORG 0 / ORG 100h difference. 2234: 1146:
files) containing dedicated executable code sections for one or more specific GPU architectures from which the CUDA runtime can choose from at load-time. Fat binaries are also supported by
204:
Fat binaries were larger than programs supporting only the PowerPC or 68k, which led to the creation of a number of utilities that would strip out the unneeded version. In the era of small
2590:
registers. The magic sequence is EB 52 EB: XCHG MOV D,D XCHG but that means the DOS code ends up quite a way away from the start of the program. More fun can be had with self-extract
373:. Apple promoted the distribution of new applications that support both PowerPC and x86 natively by using executable files in Multi-Architecture Binary format. Apple calls such programs " 3287:(NB. NWDOSTIP.TXT is a comprehensive work on Novell DOS 7 and OpenDOS 7.01, including the description of many undocumented features and internals. It is part of the author's yet larger 2873:, you can use ZXCC FATBNSEA.COM FATBIN combines a CP/M-80 .COM file and a DOS .COM file to produce one that will work on both systems. M3C4SEA.COM M3CONV version 4 - converts 4098:
Wang, Perry H.; Collins, Jamison D.; Chinya, Gautham N.; Jiang, Hong; Tian, Xinmin; Girkar, Milind; Pearce, Lisa; Lueh, Guei-Yuan; Yakoushkin, Sergey; Wang, Hong (2007-08-22).
1764:-headed files are not necessary. The shipped files are nevertheless "fat" for including a tiny executable stub just displaying an embedded message when invoked inappropriately. 4620: 189:-compiled version and a PowerPC-compiled version of the same program into their executable files. The older 68K code (CFM-68K or classic 68K) continued to be stored in the 2889:
is the program that was used to generate these self-unpacking archives. This version (2.11) can generate archives which unpack themselves under CP/M or DOS. You will need
2065: 808:, not COM-style programs. Trying to load COUNTRY.SYS with a DEVICE statement or executing IBMBIO.COM or IBMDOS.COM at the command prompt will cause unpredictable results. 4352: 4584: 72:
with code compatible with all operating systems, which executes a jump to the appropriate section. Alternative implementations store different executables in different
2133: 2086: 1250:(FMV): versions of the same function are written into the program, and a piece of code decides which one to use by detecting the CPU's capabilities (such as through 2643:
disassembly that translates to 'EX DE,HL; INC BC;' The 3rd byte is 'JUMP' followed by the 16-bit address specified as yy xx you'll have a .COM file that runs on
2586:
DOS protection feature The idea is based on the utilities in Simeon Cran's MYZ80 emulator; the DOS-protection header in those goes one better by not changing any
1930: 602:
Another method to keep a DOS-compatible operating system from erroneously executing .COM programs for CP/M-80 and MSX-DOS machines is to start the 8080 code with
4200: 1226:(IR), but on the other hand machine code may need to be stored too (for speed or compatibility). An LTO object containing both IR and machine code is known as a 545:
of the two processor families are not compatible, attempting to start a program under the wrong operating system leads to incorrect and unpredictable behaviour.
3618: 2197: 2166: 4155: 2615: 4943: 3830: 2367: 2324: 4967: 4919: 4066:
Wang, Perry H.; Collins, Jamison D.; Chinya, Gautham N.; Jiang, Hong; Tian, Xinmin; Girkar, Milind; Yang, Nick Y.; Lueh, Guei-Yuan; Wang, Hong (June 2007).
1898: 3579: 3506:
modules include such identifiers. In this category are resident command packages (RCPs), flow command packages (FCPs), and environment descriptor modules (
4418:. Proceedings of the IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS). Boston, Massachusetts, USA. pp. 163–174. 4811: 640:, as well as a "RET" instruction for 8080-compatible processors which leads to a graceful exit if the file is executed under older versions of CP/M-80. 262:) defines how many Mach-O Files the archive contains (how many instances of the same program for different architectures). After this header, there are 3753: 4099: 1246:, a programmer may wish to make use of some newer instruction set extensions while keeping compatibility with an older CPU. This can be achieved with 3527: 2110: 1869: 358: 61:
which can consequently be run on multiple processor types. This results in a file larger than a normal one-architecture binary file, thus the name.
2924: 2719: 2574: 2528: 1052:
The following approaches are similar to fat binaries in that multiple versions of machine code of the same purpose are provided in the same file.
3335: 2900: 400:
command-line applications can be used to remove versions from the Multi-Architecture Binary image, thereby creating what is sometimes called a
384:
Universal binary format was not necessary for forward migration of pre-existing native PowerPC applications; from 2006 to 2011, Apple supplied
303:
Apple Computer acquired NeXT in 1996 and continued to work with the OPENSTEP code. Mach-O became the native object file format in Apple's free
242:
running NeXTSTEP, with a single binary file for both platforms. It was later used to allow OPENSTEP applications to run on PCs and the various
3291:
collection maintained up to 2001 and distributed on many sites at the time. The provided link points to a HTML-converted older version of the
4515: 4346: 4232: 2421: 4296: 3308: 3150: 3111: 1138:
into some SASS (Streaming Assembler) binary executable code for the actually present target GPU. The executables can also include so called
4770: 4427: 4384: 3267: 2861:
containing a number of smaller files. When you run one, it will create its smaller files The self-extract archive programs will run under
2265: 1801: 451:
dynamic binary translation for x86 to Arm64 instruction set to allow users to run applications that do not have Universal binary variants.
2676: 1702:. However, MS-DOS and PC DOS do not provide crash-protected system files at all, and these file names are neither used nor needed in 1280:
A similar, but byte-level granular approach originally devised by Matthias R. Paul and Axel C. Frinke is to let a small self-discarding,
246:
platforms OPENSTEP supported. Multi-Architecture Binary files are in a special archive format, in which a single file stores one or more
4045: 3732: 3163: 3022: 2466:), but describes the general "self-identifying program" concept of platform-independent programs (PIPs) through what the authors call a 2427: 3979: 3710: 1265:
Many math libraries feature hand-written assembly routines that are automatically chosen according to CPU capability. Examples include
381:" as perhaps a way to distinguish this new transition from the previous transition, or other uses of Multi-Architecture Binary format. 4736: 3210:
a device driver is a bit more tricky as you have to leave the driver header where it is and only relocate the remainder of the driver
1983: 370: 4554: 4012: 3234: 2759: 2442: 1760:
4.00 (and higher) include an improved parser capable of reading both types of formats (and variants), even at the same time, so that
571:. John C. Elliott's FATBIN is a utility to combine a CP/M-80 and a DOS .COM file into one executable. His derivative of the original 3712: 3677: 2791: 1821: 924:
binaries with some meta data indicating which binary to use on what architecture. Additionally to the CPU architecture abstraction (
899: 703: 250:
subfiles for each architecture supported by the Multi-Architecture Binary. Every Multi-Architecture Binary starts with a structure (
5014: 4606: 4466: 2053: 5038: 4990: 4521: 4329:. IEEE/ACM Performance Modeling, Benchmarking and Simulation of High Performance Computer Systems (PMBS). Denver, Colorado, USA: 2768:(NB. FATBN101.COM 22k 1997-04-01 FATBIN v1.01. Creates fat binary files which will run under both CP/M and DOS. Distributed in a 2032: 885:, CP/M, DOS, and Windows), it prevents "binary garbage" from being displayed when a file is accidentally printed at the console. 3852: 2515:
Wilkinson, William "Bill" Albert; Seligman, Cory; Drushel, Richard F.; Harston, Jonathan Graham; Elliott, John C. (1999-02-17).
4321: 3663: 2818: 2405: 435: 3515: 4576: 3171: 2842: 2742:.COM file to create one which runs on both platforms. It was used to create: MSODBALL 2.05 - convert floppy discs between 1345: 1123: 983: 781: 3513: 4875: 3296: 2121: 2098: 4852: 4824: 4783: 4693: 4662: 3575: 3536: 3187: 2361:. Vol. 8, no. 2. St. Joseph, Michigan, USA: Heath/Zenith Users' Group (HUG). pp. 55–57. #85. P/N 885-2085. 1554: 1294: 963: 921: 745: 541:
binaries. In both cases programs are loaded at offset +100h and executed by jumping to the first byte in the file. As the
472: 1561:
programs DOS also emulates CP/M's behaviour to some extent: A program can terminate itself by jumping to offset 0 in its
2455: 2362: 1919: 1362: 1243: 1158: 1088: 937: 736:
by convention, although this is not a requirement. This is fixed up dynamically by the operating system when the driver
3471: 3451: 3423: 3375: 992:
Applications provided by network share or USB sticks, will work on multiple systems. This is also helpful for creating
4188: 3263:
NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds
1558: 1223: 198: 3449: 3403: 772:
Under DOS, some files, by convention, have file extensions which do not reflect their actual file type. For example,
760:, except for that in this case it has to be done by the loaded program itself; this is similar to the situation with 3605: 2989: 2616:"Microsoft Money crashes during import of account transactions or when changing a payee of a downloaded transaction" 2594:
archives. Start one with defb 0EBh, 018h, '-pms-' and it's treated as a valid archive by the PMA utilities, sends
2186: 2155: 4647: 4264: 3428:. Z-System Corner - Some New Applications of Type-4 Programs (55). S. Plainfield, New Jersey, USA: Socrates Press: 3401: 2623: 2401: 2400:. Proceedings of the 17th ACM conference on Computer and Communications Security (CCS'10). Chicago, Illinois, USA: 1542: 817: 389: 88: 4935: 3822: 2893:
to use PMSFX. New: Under DOS, it supports exact file sizes. SP2BMSEA.COM Converts a Stop Press Canvas file to a
4959: 4911: 3919: 1890: 1699: 1339: 1127: 1084: 1005: 777: 713: 702:, and used dynamically fixed-up code to adapt to the differing calling conventions of these operating systems at 304: 2312: 181:
microprocessors. Many applications for the old platform ran transparently on the new platform under an evolving
2639:
with those 5 bytes as the first ones you'll see 'JMP SHORT 3', followed by 3 garbage bytes. If you look at a
2611: 1430: 1135: 1069: 580: 124: 100: 4184: 3949: 1277:. In addition, the library loader in glibc supports loading from alternative paths for specific CPU features. 811:
It is sometimes possible to avoid this by utilizing techniques similar to those described above. For example,
756:, this requires an internal address fix-up similar to what would otherwise already have been carried out by a 3649:) are ignored, however, and the end of file condition returned by CP/M is used to terminate read operations. 3260:
Paul, Matthias R. (1997-07-30) . "Chapter II.4. Undokumentierte Eigenschaften externer Kommandos - SYS.COM".
869:(EOF) marker when a file is opened in non-binary mode, and thus, under many operating systems (including the 4799: 3566: 3199: 2965: 2854: 2769: 2021: 1972: 1356: 1306: 1258:, GCC, and LLVM all have the ability to automatically generate multi-versioned functions. This is a form of 1207: 1080: 1061: 847: 427:). However, PowerPC support was removed from Xcode 4.0 and is therefore not available to developers running 276: 3889: 3076: 4895: 4697: 4685: 3669: 3203: 1861: 1562: 1453: 1281: 1215: 1177: 761: 508: 3166:
and a device driver - similar to our FreeKEYB advanced keyboard driver. This is not really needed under
3797: 3429: 3381: 3039: 2336: 1757: 785: 618: 596: 374: 149: 96: 4669:
as well as a framework of automatic pre- and post-processing analysis tools to generate dependency and
3565:"5.1.1.1. Device Dependent Functions - Data Modes - Full-Duplex Software A(ASCII) and AL(ASCII Line)". 2912: 2707: 2562: 2516: 557:
if started on the wrong processor. For this to work, the first few instructions (sometimes also called
4068:"EXOCHI: architecture and programming environment for a heterogeneous multi-core multithreaded system" 3345: 1255: 839:
type-3 and type-4 "Z3ENV" programs as well as "Z3TXT" language overlay files, which would result in a
1926: 1722:
set, so that they are not listed by default, thereby reducing the risk of being invoked accidentally.
1505:, exact conditions and underlying mechanisms differ: Under CP/M-80, programs can terminate (that is, 1350: 1188: 993: 753: 327:
generations of processors. It can also be used to support multiple architectures, such as 32-bit and
120: 35: 4709: 4705: 4611: 2193: 2162: 1333: 1239: 1040: 1022: 54: 31: 4717:
users, who deal with a single executable file just like they would do with a conventional driver.)
4221: 1642:
for compatibility reasons with (third-party) tools hard-wired to expect these specific file names.
4728: 4285: 4159: 3703: 3195: 3103: 2388: 2185:
Tevanian, Avadis; DeMoney, Michael; Enderby, Kevin; Wiebe, Douglas; Snyder, Garth (1997-02-18) .
2154:
Tevanian, Avadis; DeMoney, Michael; Enderby, Kevin; Wiebe, Douglas; Snyder, Garth (1995-07-11) .
1667: 1482: 1418: 1410: 1402: 1110:(Compute Unified Device Architecture) is a software to enable general-purpose computing on GPUs ( 1065: 773: 737: 655: 443: 385: 73: 50: 4762: 4410: 4377: 3261: 2668: 1008:
image is available. As of 2021, FatELF has not been integrated into the mainline Linux kernel.
4689: 4616: 4511: 4409:
Bakhoda, Ali; Yuan, George L.; Fung, Wilson W. L.; Wong, Henry; Aamodt, Tor M. (2009-04-28) .
4342: 4122: 4110: 3673: 3477: 3433: 3385: 2894: 2479: 2417: 2320: 2261: 2257: 2024: 1975: 1827: 1817: 1634:, but, once introduced, these particular file names were retained from very early versions of 1557:
sub-functions to terminate programs (which are preferable for more complicated programs), for
1365:, shellcode targeting multiple platforms (and sometimes even camouflaged as alphanumeric text) 1321: 1285: 1169: 1131: 862: 757: 667: 637: 622: 357: 280: 239: 4033: 3724: 3162:
Add a SYS device driver header to the driver, so that CTMOUSE could be both in one, a normal
3014: 2392: 2249: 764:
but with the program already loaded at the target location by the operating system's loader.
148:
SR10.1 introduced a new file type, "cmpexe" (compound executable), that bundled binaries for
4803: 4419: 4334: 4114: 4079: 3882:"FatELF: Universal Binaries for Linux. - The proof-of-concept virtual machine download page" 3614: 2916: 2711: 2566: 2520: 2483: 2409: 2316: 1809: 1514: 1394: 1259: 1181: 1173: 936:
instruction set, etc.), there is the advantage of binaries with support for multiple kernel
805: 709: 671: 626: 504: 378: 352: 80: 1962: 4677: 4666: 4654: 4546: 4000: 3230: 2763: 1663: 1448:
for these files. (The .CMD extension, however, is conflictive with the file extension for
1441: 1119: 997: 614: 554: 496: 170: 141: 116: 92: 83:
software; there are several alternatives to solve the same problem, such as the use of an
58: 4807: 4504:
21st International Conference on Parallel Architectures and Compilation Techniques (PACT)
3142: 2783: 5006: 4982: 4713: 4492: 4457: 3877: 3818: 3785: 3312: 2129: 2094: 2061: 1719: 1631: 1438: 1406: 1327: 1092: 530: 4496: 3466: 3418: 3370: 2011: 1785:
Devanbu, Premkumar T.; Fong, Philip W. L.; Stubblebine, Stuart G. (19–25 April 1998).
979:
Distribution of web browser plug ins that work out of the box with multiple platforms.
5032: 4670: 3911: 3856: 3341: 3207: 3051: 2384: 2287: 2007: 1958: 1607: 1538: 1534: 1426: 1196: 1184: 1095:
loader can dynamically initiate the parallel execution on multiple available CPU and
725: 695: 687: 468: 439: 428: 420: 416: 190: 4849:
cosmopolitan libc - your build-once run-anywhere c library / Cosmopolitan Communiqué
3055:
the same between DOS and CP/M-86, although it's probably not very different either.
3050:
files are 100% identical between DOS and CP/M-86, with a flag (clearly shown in the
2834: 636:, which works both as a signature identifying this type of COM file to the CP/M 3.0 1659: 1486: 1390: 1192: 970: 691: 186: 153: 65: 3754:"What are the differences between Linux and Windows .txt files (Unicode encoding)" 2920: 2715: 2570: 2524: 2510: 2508: 2506: 2504: 2502: 2500: 2054:"Chapter 1 - Resource Manager / Resource Manager Reference - Resource File Format" 4338: 3568:
PDP-10 Reference Handbook: Communicating with the Monitor - Time-Sharing Monitors
2746:
706k format and a DOS 706k format. Both the programs run under CP/M-80 and DOS.
4867: 4681: 4459:
The Multi2Sim Simulation Framework - A CPU-GPU Model for Heterogeneous Computing
4423: 3279:
Für ein zukünftiges Update für Calderas OpenDOS 7.01 habe ich den Startcode von
2878: 2874: 2353:
Wilkinson, William "Bill" Albert (2005-04-02) . Written at Heath Company, USA.
1753: 1703: 1530: 1510: 1316: 1219: 866: 825: 812: 733: 610: 324: 255: 108: 87:
program to choose an architecture-specific binary at install time (such as with
69: 4844: 3645:
read operation. Control-Z characters embedded within machine code files (e.g.,
1039:
When developing Windows 11 ARM64, Microsoft introduced a new way to extend the
969:
The correct binary and libraries are centrally chosen by the system instead of
76:, each with its own entry point that is directly used by the operating system. 4189:"Technical Walkthrough: CUDA Pro Tip: Understand Fat Binaries and JIT Caching" 3280: 3175: 3174:= is supported since DR DOS 3.41+ and DR DOS preserves the order of 2471: 2445: 2230: 2181: 1695: 1691: 1464: 947:
Distributions no longer need to have separate downloads for various platforms.
925: 801: 797: 749: 630: 538: 516: 320: 316: 205: 4126: 3481: 3437: 3389: 2354: 2028: 1979: 1831: 1813: 254:) containing two unsigned integers. The first integer ("magic") is used as a 4701: 4673: 4658: 4083: 4041: 4008: 3698: 3638: 3494: 2941: 2858: 2812: 2735: 2653:(NB. While the author speaks about the Z80, this sequence also works on the 2636: 2413: 1687: 1506: 1290: 1270: 1147: 929: 917: 840: 550: 500: 448: 194: 145: 84: 1152: 442:(ARM64 architecture). To smooth the transition Apple added support for the 4067: 3725:"Re: Copy command which merges several files tags the word SUB at the end" 3465:
Sage, Jay (November–December 1992). Carlson, Art; Kibler, Bill D. (eds.).
3191: 3034:
The reason to suspect such difference is that version 3.2x also supported
27:
Combined executable file for multiple processor types or operating systems
3646: 3503: 2981: 1683: 1449: 1422: 1311: 1274: 836: 741: 308: 284: 230: 226: 182: 112: 17: 4256: 3972:"sjmulder/fatpack - Build multi-architecture 'fat' binaries for Windows" 1802:
Proceedings of the 20th International Conference on Software Engineering
898: 4650: 3035: 2743: 2016: 1967: 1575: 1551: 1547: 1494: 1490: 1456: 1434: 1386: 920:
operating systems. Technically, a FatELF binary was a concatenation of
882: 878: 821: 682: 512: 492: 488: 460: 340: 178: 104: 4607:"Transparent use of library packages optimized for Intel architecture" 4378:"Dynamic Warp Formation and Scheduling for Efficient GPU Control Flow" 3971: 3915: 3493:
there was an opcode of "RST 0", which, if executed, would result in a
3068: 1706:
and higher, which otherwise does provide crash-protected system files.
1698:
and higher, but originally a binary system file containing the MS-DOS
95:), selecting an architecture-specific binary at runtime (such as with 4376:
Fung, Wilson W. L.; Sham, Ivan; Yuan, George; Aamodt, Tor M. (2007).
4292: 4228: 4196: 4118: 3183: 3179: 3167: 2644: 1744: 1740: 1736: 1679: 1675: 1671: 1639: 1635: 1596: 1502: 1414: 1398: 1218:(LTO). Since LTO involves delaying the compilation to link-time, the 1210:(GCC) and LLVM do not have a fat binary format, but they do have fat 1168:
heterogeneous system simulator framework (originally only for either
1165: 1103: 1077: 909: 793: 789: 699: 629:). In order to indicate this, the first byte in the header is set to 542: 424: 336: 328: 312: 247: 57:
which has been expanded (or "fattened") with code native to multiple
4653:-based dynamically configurable successor of K3PLUS supporting most 2187:"Method and apparatus for architecture independent executable files" 2156:"Method and apparatus for architecture independent executable files" 1044:
difficult, developers can build Arm64X pure forwarder DLLs instead.
976:
If the ELF ABI changes someday, legacy users can be still supported.
4323:
CUDA Flux: A Lightweight Instruction Profiler for CUDA Applications
3941: 3526:"Table of IO Device Characteristics - Console or Teletypewriters". 3694: 3634: 3507: 3498: 3337:
DR-DOS 7.03 WHATSNEW.TXT - Changes from DR-DOS 7.02 to DR-DOS 7.03
2961: 2937: 2890: 2886: 2591: 1761: 1615: 1611: 1266: 1251: 1111: 1073: 913: 897: 874: 870: 855: 663: 592: 576: 572: 520: 464: 412: 356: 235: 64:
The usual method of implementation is to include a version of the
1752:
databases, which could be used under both DOS families. However,
1630:
This problem could have been avoided by choosing non-conflicting
982:
Distribution of one application file that works across Linux and
716:
for CP/M-86 and DOS also shares binary identical 16-bit drivers.
4507: 4330: 3881: 3853:"Subject: Newsgroups: gmane.linux.kernel, Re: FatELF patches..." 3690: 3642: 3417:
Sage, Jay (May–June 1992) . Carlson, Art; McEwen, Chris (eds.).
3309:"Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT" 3047: 2957: 2949: 2870: 2866: 2804: 2732: 2693: 2654: 2648: 2595: 2459: 2452: 2448: 2087:"Chapter 7 - Fat Binary Programs - Creating Fat Binary Programs" 1592: 1588: 1570: 1566: 1522: 1518: 1460: 1445: 1115: 1107: 835:("RST 0") at the very start of Jay Sage's and Joe Wright's 729: 659: 527: 291:
It was also possible to create libraries (e.g. using NeXTStep's
243: 222: 4891: 1359:, executable code camouflaged as (sometimes even readable) text 1087:
to produce fat binaries containing code sections for different
4983:"We develop to WarpUP the Amiga - StormC for PowerPC and p-OS" 3467:"Regular Feature, ZCPR Support, Language Independence, part 2" 3043: 2953: 2945: 2882: 2862: 2808: 2739: 2689: 2640: 2587: 2475: 2463: 2378: 2376: 2374: 1806:
Proceedings - International Conference on Software Engineering
1655: 1610:), whereas it decodes as "LEAVE" (set SP to BP and pop BP) on 1526: 1498: 1096: 1027: 933: 858: 843:(instead of a crash) under CP/M-80 if loaded inappropriately. 534: 523: 332: 174: 4491:
Ubal, Rafael; Jang, Byunghyun; Mistry, Perhaad; Schaa, Dana;
3789: 1920:"Domain System Software Release Notes, Software Release 10.1" 1076:
EXOCHI (Exoskeleton Sequencer) development suite extends the
2828: 2826: 1925:(first printing ed.). Chelmsford, Massachusetts, USA: 371:
transition, from PowerPC processors to Intel x86 processors
258:
to identify this file as a Fat Binary. The second integer (
2492:
90h, EBh, 20h, 2Ah, 90h, EBh, 20h, 3Ah, 24h, 77h, 01h, 04h
2488:
0Eh, B2h, 02h, A9h, 0Eh, B2h, 02h, 3Ah, 24h, 77h, 01h, 04h
2470:(that is, chunks of program logic not to be confused with 591:
to also include the "-pms-" signature for self-extracting
4497:"Multi2Sim: A Simulation Framework for CPU-GPU Computing" 3046:
and CP/M-86, only the main executable is different) the
2338:(NB. Has details on DOS COM program calling conventions.) 1385:
This isn't a problem for CP/M-86 style executables under
986:
variants, without a platform compatibility layer on them.
415:
development environment from 2.1 through 3.2 (running on
4547:"LTO Overview (GNU Compiler Collection (GCC) Internals)" 3008: 3006: 4412:
Analyzing CUDA Workloads Using a Detailed GPU Simulator
3641:
character (1AH) or a real end of file, returned by the
2223:"Universal Binaries and 32-bit/64-bit PowerPC Binaries" 1929:
December 1988. p. 2-16. Order No. 005809-A03.
943:
FatELF has several use-cases, according to developers:
658:
code sequences have also been devised for combined Z80/
3901:(NB. VM image of Ubuntu 9.04 with Fat Binary support.) 3460: 3458: 3412: 3410: 3178:
directives but it would improve the flexibility on
3143:"Re: [fd-dev] ANNOUNCE: CuteMouse 2.0 alpha 1" 3104:"Re: [fd-dev] ANNOUNCE: CuteMouse 2.0 alpha 1" 2447:) (NB. Does not address the scenario specifically for 1353:, a "fat" hex file format targeting multiple platforms 831:
A similar protection feature was the 8080 instruction
732:) start with a file header whose first four bytes are 3780: 3778: 3539:(DEC). 1965. p. 43. DEC-6-0-EX-SYS-UM-IP-PRE00. 3255: 3253: 3251: 2556: 2554: 283:
source code for the different architectures on which
3476:. The Z-System Corner (58). Lincoln, CA, USA: 7–10. 3364: 3362: 3224: 3222: 3220: 3218: 3136: 3134: 3132: 2820:(NB. Mentions FBMAKE from the FATBNSEA.COM package.) 2540:(NB. Some of the opcodes in Elliott's example code ( 193:, while the newer PowerPC code was contained in the 4643:
FreeKEYB - Enhanced DOS keyboard and console driver
3380:. ZCPR3 Corner (32). Columbia Falls, Montana, USA: 3097: 3095: 3093: 1199:families) supports ELF-based fat binaries as well. 269: 251: 211: 5011:AmigaOS: multimedia, multi-threaded, multi-tasking 4712:to minimize its memory footprint downto close the 4641:Paul, Matthias R.; Frinke, Axel C. (1997-10-13) , 3662:Hogan, Thom (1982). "3. CP/M Transient Commands". 2598:processors to 011Ah, and Z80 processors to 0130h. 1650: 1648: 1134:(as text) which the CUDA runtime driver can later 4451: 4449: 2348: 2346: 2344: 1072:for Heterogeneous Integration) compiler from the 4890:Tunney, Justine Alexandra Roberts (2020-08-24). 4866:Tunney, Justine Alexandra Roberts (2021-02-11). 4843:Tunney, Justine Alexandra Roberts (2021-02-11). 4763:"[fd-dev] Changing codepages in FreeDOS" 2877:snapshots in the .Z80 or .SNA format to or from 2869:, with identical effects. To extract them under 2788:Fossies - the Fresh Open Source Software Archive 1172:or x86 CPUs, but later extended to also support 4456:"13.4 The AMD Compiler Wrapper: Fat binaries". 3474:(TCJ) - Programming, User Support, Applications 3426:(TCJ) - Programming, User Support, Applications 3378:(TCJ) - Programming, User Support, Applications 3369:Sage, Jay (May–June 1988). Carlson, Art (ed.). 2807:version. DSKWRITE.ASM contains source for the 2635:byte sequence EB 03 C3 yy xx If you create a 1068:on multiple types of processors, i.e. the CHI ( 484:Combined COM-style binaries for CP/M-80 and DOS 68:for each instruction set, preceded by a single 3613:(1 ed.). Pacific Grove, California, USA: 2126:Inside Macintosh: Mac OS Runtime Architectures 2091:Inside Macintosh: Mac OS Runtime Architectures 2058:Inside Macintosh: Mac OS Runtime Architectures 2002: 2000: 1953: 1951: 846:In a distantly similar fashion, many (binary) 595:archives, thereby also representing a form of 575:modifies archives created by Yoshihiko Mino's 4320:Braun, Lorenz; Fröning, Holger (2019-11-18). 4286:"CUDA Compiler Driver NVCC - Reference Guide" 1381: 1379: 1099:cores in a heterogeneous system environment. 279:shipped with the Developer Tools was able to 8: 4692:, the driver implements byte-level granular 4465:. v4.2. Multi2Sim. 2013. pp. 173–176 . 3665:Osborne CP/M User Guide - For All CP/M Users 2980:Elliott, John C.; Lopushinsky, Jim (2002) . 1715:This is the reason why these files have the 2408:, Atlanta, Georgia, USA. pp. 547–558. 1798:Techniques for Trusted Software Engineering 1626: 1624: 1060:Since 2007, some specialized compilers for 780:database file for use with the CONFIG.SYS 212:NeXT's/Apple's multi-architecture binaries 107:'s fat bundles), distributing software in 3668:(2 ed.). Berkeley, California, USA: 2227:Mac OS X ABI Mach-O File Format Reference 1477: 1475: 1473: 1126:-based fat binaries containing so called 776:is not a DOS device driver, but a binary 438:, this time from Intel x86 processors to 79:The use of fat binaries is not common in 4936:"Fat Binary - MS-Windows and four Linux" 3604:"2. Operating System Call Conventions". 2688:(NB. While the article speaks about the 2355:"Something COMmon About MS-DOS and CP/M" 295:) with different targeted object files. 4912:"Making a Fat Binary for Linux and Mac" 4868:"How Fat Does a Fat Binary Need to Be?" 4845:"How Fat Does a Fat Binary Need to Be?" 4800:"[ANN] FreeDOS beta 6 released" 4605:Bahena, Victor Rodriguez (2018-04-03). 4383:. Vancouver, British Columbia, Canada. 3942:"SELF: Anatomy of an (alleged) failure" 3940:Brockmeier, Joe "Zonker" (2010-06-23). 2517:"MS-DOS & CP/M-Compatible Binaries" 2254:Mac OS X Internals - A Systems Approach 1777: 1375: 861:) near the beginning of the file. This 173:'s transition, beginning in 1994, from 3790:"FatELF: Universal Binaries for Linux" 2952:(the first three bytes are both legal 2692:, the code sequence also works on the 1862:"gnustep/tools-make: README.Packaging" 1666:database file for the keyboard driver 3266:. MPDOSTIP (in German) (3 ed.). 2803:DSKWRITE.Z80 contains source for the 678:Combined binaries for CP/M-86 and DOS 7: 4892:"αcτµαlly pδrταblε εxεcµταblε (Ape)" 4231:. February 2014. DA-06762-001_v6.0. 3529:PDP-6 Multiprogramming System Manual 3233:(COUNTRY.LST file) (1.44 ed.). 912:was a fat binary implementation for 894:FatELF: Universal binaries for Linux 804:are special binary images loaded by 217:NeXTSTEP Multi-Architecture Binaries 135: 1517:, either directly with RST 0 ( 3916:"Ryan Gordon Halts FatELF Project" 2404:, Pittsburgh, Pennsylvania, USA / 1690:, a text configuration file under 962:trees are not required anymore in 621:. If so, they start with an extra 537:-compatible operating systems for 526:) processor families use the same 25: 4825:dynamischen Dead-Code-Elimination 4295:. May 2022. TRM-06721-001_v11.7. 3970:Mulder, Sijmen J. (2021-03-06) . 3823:"FatELF specification, version 1" 3229:Paul, Matthias R. (2001-06-10) . 2311:Paul, Matthias R. (2002-10-07) . 2192:. Redwood City, California, USA: 2161:. Redwood City, California, USA: 1537:interface. Alternatively, as the 1000:images for heterogeneous systems. 686:One program known to do this was 589:EBh, 18h, 2Dh, 70h, 6Dh, 73h, 2Dh 587:, CP/M-80 and DOS, starting with 434:In 2020, Apple announced another 369:In 2005, Apple announced another 169:A fat-binary scheme smoothed the 4960:"Fat Binary - DOS Windows Linux" 4958:Gotham, Frederick (2020-11-02). 4934:Gotham, Frederick (2020-10-24). 4910:Gotham, Frederick (2020-10-22). 4798:Paul, Matthias R. (2001-04-10). 4761:Paul, Matthias R. (2001-08-21). 4727:Paul, Matthias R. (2002-04-06). 4109:. 11: Tera-scale Computing (3). 3578:(DEC). 1969. pp. 5-3–5-6 . 3307:Paul, Matthias R. (1997-10-02). 3141:Paul, Matthias R. (2002-04-06). 3102:Paul, Matthias R. (2002-04-11). 2911:Elliott, John C. (1997-01-18) . 2833:Elliott, John C. (2012-06-20) . 2758:Elliott, John C. (1998-06-28) . 2365:from the original on 2021-12-13. 1606:("RETF", popping CS:IP from the 1481:This works because a (suitable) 651:, avoiding incorrect operation. 613:.COM files may have one or more 346: 5017:from the original on 2021-09-29 4993:from the original on 2017-12-06 4970:from the original on 2021-09-12 4946:from the original on 2021-09-12 4922:from the original on 2021-09-12 4898:from the original on 2021-09-12 4878:from the original on 2021-06-01 4855:from the original on 2021-09-12 4814:from the original on 2017-09-09 4773:from the original on 2019-04-19 4739:from the original on 2019-04-27 4729:"[fd-dev] Ctrl+Alt+Del" 4623:from the original on 2022-05-26 4587:from the original on 2022-04-07 4557:from the original on 2021-09-12 4527:from the original on 2022-05-25 4506:. Minneapolis, Minnesota, USA: 4472:from the original on 2022-05-25 4433:from the original on 2022-05-26 4390:from the original on 2022-05-26 4358:from the original on 2022-03-21 4302:from the original on 2022-05-25 4267:from the original on 2022-05-25 4238:from the original on 2022-05-25 4203:from the original on 2022-03-23 4166:from the original on 2022-05-26 4136:from the original on 2022-05-26 4048:from the original on 2023-08-20 4015:from the original on 2023-08-20 3982:from the original on 2022-05-26 3952:from the original on 2022-05-26 3922:from the original on 2022-05-26 3892:from the original on 2022-05-21 3833:from the original on 2020-08-27 3800:from the original on 2020-08-27 3764:from the original on 2020-02-26 3735:from the original on 2020-02-26 3624:from the original on 2020-02-28 3585:from the original on 2011-11-15 3546:from the original on 2014-07-14 3535:. Maynard, Massachusetts, USA: 3270:from the original on 2017-09-10 3237:from the original on 2016-04-20 3186:systems, which always execute 3153:from the original on 2020-02-07 3114:from the original on 2020-02-21 3079:from the original on 2020-01-15 3025:from the original on 2019-07-28 3013:Necasek, Michal (2018-01-30) . 2992:from the original on 2016-08-30 2927:from the original on 2021-12-13 2845:from the original on 2021-11-17 2794:from the original on 2021-12-12 2782:Elliott, John C. (2002-03-11). 2722:from the original on 2021-12-13 2706:Elliott, John C. (1996-06-13). 2679:from the original on 2018-05-19 2577:from the original on 2021-12-13 2561:Elliott, John C. (2009-10-27). 2531:from the original on 2021-12-13 2433:from the original on 2022-05-26 2406:Georgia Institute of Technology 2327:from the original on 2017-09-03 2203:from the original on 2022-05-26 2172:from the original on 2020-12-14 2136:from the original on 2021-09-29 2068:from the original on 2021-09-29 2035:from the original on 2021-09-29 1986:from the original on 2021-09-29 1936:from the original on 2023-05-26 1901:from the original on 2022-05-25 1872:from the original on 2022-05-25 1841:from the original on 2014-01-16 1106:'s parallel computing platform 728:(typically with file extension 268:number of fat_arch structures ( 221:Fat binaries were a feature of 2885:only on a PC). PMSFX21X.COM 2708:"Upload to micros.hensa.ac.uk" 1735:file formats supported by the 1262:without any semantic effects. 865:will be interpreted as "soft" 1: 4784:dynamic dead code elimination 4694:dynamic dead code elimination 4665:. Utilizing an off-the-shelf 4645:(User Manual) (v6.5 ed.) 3851:Windisch, Eric (2009-11-03). 3723:BC_Programmer (2010-01-31) . 3576:Digital Equipment Corporation 3537:Digital Equipment Corporation 3231:"DOS COUNTRY.SYS file format" 2456:instruction set architectures 2394:Platform-Independent Programs 1808:. Kyoto, Japan. p. 131. 1602:is an undocumented alias for 1295:dynamic dead code elimination 1089:instruction set architectures 828:file identification utility. 617:overlays attached to them by 459:In 2006, Apple switched from 377:" and calls the file format " 136:Apollo's compound executables 115:it in-place, or the use of a 4339:10.1109/PMBS49563.2019.00014 4156:"cudaFatFormat.h / ptxomp.c" 3419:"Type-3 and Type-4 Programs" 3371:"ZCPR 3.4 - Type-4 Programs" 2811:version. To get the single 2669:"CP/M and MS-DOS Fat Binary" 2097:. 1997-03-11. Archived from 1363:Multi-architecture shellcode 1244:instruction set architecture 1161:introduced in 2007 as well. 768:Crash-protected system files 4782:a unique feature we call 4424:10.1109/ISPASS.2009.4919648 2696:and compatible processors.) 2657:and compatible processors.) 2383:Cha, Sang Kil; Pak, Brian; 2233:2009-02-04 . Archived from 2122:"Chapter 8 - PEF Structure" 1963:"Should Fat Binaries Diet?" 1860:Pero, Nicola (2008-12-18). 1529:opcode C7h), or by calling 1467:operating system families.) 1224:intermediate representation 820:recognized by the external 559: 553:which cause the program to 5055: 3344:1998-12-24. Archived from 2936:I've written a version of 2881:format (Multiface 3 -> 2815:, you need to use FBMAKE: 2402:Carnegie Mellon University 2288:"rEFIt - EFI Fat Binaries" 2248:Singh, Amit (2006-06-19). 720:Combined COM and SYS files 350: 164: 29: 5005:Münch, Matthias (2006) . 4708:and reconfigurability at 4609:. Power and Performance. 4227:(Application Note). 6.0. 4100:"Accelerator Exoskeleton" 3855:gmane.org. Archived from 2667:Brehm, Andrew J. (2016). 1891:"PackagingDrafts/GNUstep" 1513:) by jumping to 0 in the 1340:Position-independent code 1248:function multi-versioning 1234:Function multi-versioning 390:dynamic binary translator 388:, a PowerPC (PPC)-to-x86 5007:"AmigaOS 3.9 - Features" 4987:Haage & Partner GmbH 4676:to be embedded into the 4145:(12 of 1+vii+90+1 pages) 4107:Intel Technology Journal 3607:CP/M 2.0 Interface Guide 2982:"CP/M 3 COM file header" 2855:Self-extracting archives 2731:FATBIN 1.00 - combine a 1814:10.1109/ICSE.1998.671109 1541:is prepared to hold a 0 850:by convention include a 347:Apple's Universal binary 331:PowerPC, or PowerPC and 125:just-in-time compilation 47:multiarchitecture binary 30:Not to be confused with 5039:Executable file formats 4823:brandneue Feature, der 4684:and a self-discarding, 4575:Wennborg, Hans (2018). 4222:"CUDA Binary Utilities" 4084:10.1145/1273442.1250753 4034:"Build Arm64X binaries" 2966:self-extracting archive 2770:self-extracting archive 2610:ChristW (2012-11-14) . 2414:10.1145/1866307.1866369 2022:TidBITS Publishing Inc. 1973:TidBITS Publishing Inc. 1658:files of this type are 1533:function 0 through the 1357:Alphanumeric executable 1307:Cross-platform software 1208:GNU Compiler Collection 1176:CPUs and GPUs like the 1064:produce code files for 1062:heterogeneous platforms 1056:Heterogeneous computing 762:self-relocating drivers 690:, which used identical 315:code optimized for the 305:Darwin operating system 277:GNU Compiler Collection 3670:A. Osborne/McGraw-Hill 3497:. A file containing a 3484:. ark:/13960/t70v9g87h 3440:. ark:/13960/t4dn54d22 3392:. ark:/13960/t1wd4v943 3042:are identical between 2444:(12 pages) (See also: 1454:command line processor 1242:intended for the same 1216:link-time optimization 1091:(ISAs) from which the 964:OS directory structure 906: 788:driver. Likewise, the 375:Universal applications 366: 4581:Clang 7 documentation 4577:"Attributes in Clang" 3948:. Linux Weekly News. 3918:. Linux. osnews.com. 3637:file is denoted by a 3176:[D]CONFIG.SYS 2772:for CP/M-80 and DOS.) 2548:) might be mixed up.) 2292:refit.sourceforge.net 2012:"Fat Binary Comments" 1618:and newer processors. 1550:interrupt as well as 1437:because they use the 1238:Even in a program or 994:portable applications 901: 597:executable ASCII code 360: 3693:marks the end of an 3472:The Computer Journal 3424:The Computer Journal 3376:The Computer Journal 2321:alt.msdos.programmer 2313:"Re: Run a COM file" 2250:"2.6.2 Fat Binaries" 2196:US patent 5604905A. 2165:US patent 5432937A. 1927:Apollo Computer Inc. 1578:) both work as well. 1351:Universal hex format 1164:Multi2Sim (M2S), an 1136:just-in-time compile 1102:Introduced in 2006, 754:position-independent 549:environment, or add 515:executables for the 455:Apple Fat EFI binary 36:Portable application 4706:self-modifying code 4649:(NB. FreeKEYB is a 4612:Clear Linux Project 4072:ACM SIGPLAN Notices 4038:learn.microsoft.com 4005:learn.microsoft.com 3729:Computer Hope Forum 3617:. 1979. p. 5. 2563:"CP/M info program" 2389:Lipton, Richard Jay 2194:NeXT Computer, Inc. 2163:NeXT Computer, Inc. 1895:Fedora Project Wiki 1334:Portable Executable 1041:Portable Executable 1023:Portable Executable 1004:A proof-of-concept 467:CPUs, and replaced 411:In versions of the 307:(2000) and Apple's 299:Mach-O and Mac OS X 275:The version of the 177:microprocessors to 32:Portable executable 4989:. September 1996. 4257:"fatbinary - help" 4160:Nvidia Corporation 3704:end-of-file marker 3697:file by placing a 3196:Mouse Systems Mode 3069:"GSX Screen Shots" 3067:Lineback, Nathan. 1686:under MS-DOS, and 1559:machine-translated 1483:return instruction 1419:Concurrent DOS 386 1411:Concurrent DOS 286 1403:Concurrent CP/M-86 1293:through a form of 1256:Intel C++ Compiler 1066:parallel execution 907: 740:(typically in the 688:WordStar 3.2x 444:Universal 2 binary 367: 165:Apple's fat binary 51:executable program 4690:relocating loader 4617:Intel Corporation 4517:978-1-4503-1182-3 4348:978-1-7281-5977-5 4111:Intel Corporation 4001:"Arm64X PE files" 3821:(November 2009). 2944:unpackable under 2673:DesertPenguin.org 2620:The New Old Thing 2423:978-1-4503-0244-9 2258:Pearson Education 1322:Linear Executable 1286:relocating loader 863:control character 806:bootstrap loaders 782:COUNTRY directive 758:relocating loader 744:when it executes 638:executable loader 252:struct fat_header 101:union directories 16:(Redirected from 5046: 5025: 5023: 5022: 5001: 4999: 4998: 4978: 4976: 4975: 4954: 4952: 4951: 4930: 4928: 4927: 4906: 4904: 4903: 4886: 4884: 4883: 4863: 4861: 4860: 4830: 4829: 4820: 4819: 4808:de.comp.os.msdos 4795: 4789: 4788: 4779: 4778: 4758: 4752: 4751: 4745: 4744: 4724: 4718: 4655:keyboard layouts 4646: 4638: 4632: 4631: 4629: 4628: 4602: 4596: 4595: 4593: 4592: 4572: 4566: 4565: 4563: 4562: 4543: 4537: 4535: 4533: 4532: 4526: 4501: 4488: 4482: 4481:(4 of 210 pages) 4480: 4478: 4477: 4471: 4464: 4453: 4444: 4441: 4439: 4438: 4432: 4417: 4406: 4400: 4398: 4396: 4395: 4389: 4382: 4373: 4367: 4366: 4364: 4363: 4357: 4328: 4317: 4311: 4310: 4308: 4307: 4301: 4290: 4282: 4276: 4275: 4273: 4272: 4253: 4247: 4246: 4244: 4243: 4237: 4226: 4218: 4212: 4211: 4209: 4208: 4193:Nvidia Developer 4181: 4175: 4174: 4172: 4171: 4152: 4146: 4144: 4142: 4141: 4135: 4119:10.1535/itj.1103 4104: 4095: 4089: 4087: 4063: 4057: 4056: 4054: 4053: 4030: 4024: 4023: 4021: 4020: 3997: 3991: 3990: 3988: 3987: 3967: 3961: 3960: 3958: 3957: 3937: 3931: 3930: 3928: 3927: 3908: 3902: 3900: 3898: 3897: 3874: 3868: 3867: 3865: 3864: 3848: 3842: 3841: 3839: 3838: 3815: 3809: 3808: 3806: 3805: 3788:(October 2009). 3782: 3773: 3772: 3770: 3769: 3750: 3744: 3743: 3741: 3740: 3720: 3714: 3709: 3687: 3686: 3659: 3653: 3651: 3630: 3629: 3623: 3615:Digital Research 3612: 3601: 3595: 3593: 3591: 3590: 3584: 3573: 3562: 3556: 3554: 3552: 3551: 3545: 3534: 3523: 3517: 3512: 3490: 3489: 3462: 3453: 3448: 3446: 3445: 3414: 3405: 3400: 3398: 3397: 3366: 3357: 3356: 3354: 3353: 3332: 3326: 3323: 3321: 3320: 3311:. Archived from 3304: 3298: 3294: 3290: 3286: 3276: 3275: 3257: 3246: 3245: 3243: 3242: 3226: 3213: 3212: 3208:Self-loadhighing 3159: 3158: 3138: 3127: 3126: 3120: 3119: 3099: 3088: 3087: 3085: 3084: 3064: 3058: 3057: 3031: 3030: 3015:"WordStar Again" 3010: 3001: 3000: 2998: 2997: 2977: 2971: 2970: 2933: 2932: 2908: 2902: 2899: 2865:(2 or later) or 2851: 2850: 2830: 2821: 2817: 2800: 2799: 2784:"DSKWRITE v1.00" 2779: 2773: 2767: 2762:. Archived from 2755: 2749: 2748: 2728: 2727: 2703: 2697: 2687: 2685: 2684: 2664: 2658: 2652: 2632: 2631: 2622:. Archived from 2607: 2601: 2600: 2583: 2582: 2558: 2549: 2547: 2543: 2539: 2537: 2536: 2512: 2495: 2493: 2489: 2441: 2439: 2438: 2432: 2399: 2380: 2369: 2366: 2350: 2339: 2335: 2333: 2332: 2308: 2302: 2301: 2299: 2298: 2284: 2278: 2277: 2275: 2274: 2267:978-0-13270226-3 2245: 2239: 2238: 2219: 2213: 2211: 2209: 2208: 2202: 2191: 2180: 2178: 2177: 2171: 2160: 2151: 2145: 2144: 2142: 2141: 2118: 2112: 2109: 2107: 2106: 2083: 2077: 2076: 2074: 2073: 2050: 2044: 2043: 2041: 2040: 2020:. No. 241. 2004: 1995: 1994: 1992: 1991: 1971:. No. 240. 1955: 1946: 1944: 1942: 1941: 1935: 1924: 1916: 1910: 1909: 1907: 1906: 1887: 1881: 1880: 1878: 1877: 1857: 1851: 1849: 1847: 1846: 1840: 1795: 1782: 1765: 1751: 1734: 1729: 1723: 1713: 1707: 1652: 1643: 1628: 1619: 1605: 1601: 1595:processors, the 1585: 1579: 1479: 1468: 1452:written for the 1395:Personal CP/M-86 1383: 1260:dynamic dispatch 1189:Southern Islands 1156: 1118:-based compiler 1048:Similar concepts 853: 834: 818:"magic" patterns 813:DR-DOS 7.02 710:Digital Research 698:for CP/M-86 and 650: 645: 635: 605: 590: 581:self-extractable 570: 566: 505:Personal CP/M-80 399: 395: 379:Universal binary 363:Universal binary 353:Universal binary 294: 271: 266: 261: 253: 183:emulation scheme 81:operating system 59:instruction sets 49:) is a computer 21: 5054: 5053: 5049: 5048: 5047: 5045: 5044: 5043: 5029: 5028: 5020: 5018: 5004: 4996: 4994: 4981: 4973: 4971: 4957: 4949: 4947: 4933: 4925: 4923: 4909: 4901: 4899: 4889: 4881: 4879: 4865: 4858: 4856: 4842: 4839: 4837:Further reading 4834: 4833: 4817: 4815: 4797: 4796: 4792: 4776: 4774: 4760: 4759: 4755: 4742: 4740: 4726: 4725: 4721: 4678:executable file 4667:macro assembler 4640: 4639: 4635: 4626: 4624: 4604: 4603: 4599: 4590: 4588: 4574: 4573: 4569: 4560: 4558: 4545: 4544: 4540: 4530: 4528: 4524: 4518: 4499: 4495:(2012-09-23) . 4493:Kaeli, David R. 4490: 4489: 4485: 4475: 4473: 4469: 4462: 4455: 4454: 4447: 4436: 4434: 4430: 4415: 4408: 4407: 4403: 4393: 4391: 4387: 4380: 4375: 4374: 4370: 4361: 4359: 4355: 4349: 4326: 4319: 4318: 4314: 4305: 4303: 4299: 4288: 4284: 4283: 4279: 4270: 4268: 4255: 4254: 4250: 4241: 4239: 4235: 4224: 4220: 4219: 4215: 4206: 4204: 4187:(2014-05-08) . 4185:Harris, Mark J. 4183: 4182: 4178: 4169: 4167: 4154: 4153: 4149: 4139: 4137: 4133: 4102: 4097: 4096: 4092: 4065: 4064: 4060: 4051: 4049: 4032: 4031: 4027: 4018: 4016: 3999: 3998: 3994: 3985: 3983: 3969: 3968: 3964: 3955: 3953: 3939: 3938: 3934: 3925: 3923: 3910: 3909: 3905: 3895: 3893: 3878:Gordon, Ryan C. 3876: 3875: 3871: 3862: 3860: 3850: 3849: 3845: 3836: 3834: 3819:Gordon, Ryan C. 3817: 3816: 3812: 3803: 3801: 3786:Gordon, Ryan C. 3784: 3783: 3776: 3767: 3765: 3760:. 2011-08-03 . 3752: 3751: 3747: 3738: 3736: 3722: 3721: 3717: 3684: 3682: 3680: 3661: 3660: 3656: 3627: 3625: 3621: 3610: 3603: 3602: 3598: 3588: 3586: 3582: 3574:. Vol. 3. 3571: 3564: 3563: 3559: 3555:(1+84+10 pages) 3549: 3547: 3543: 3532: 3525: 3524: 3520: 3487: 3485: 3464: 3463: 3456: 3443: 3441: 3416: 3415: 3408: 3395: 3393: 3368: 3367: 3360: 3351: 3349: 3334: 3333: 3329: 3318: 3316: 3306: 3305: 3301: 3292: 3288: 3273: 3271: 3259: 3258: 3249: 3240: 3238: 3228: 3227: 3216: 3156: 3154: 3140: 3139: 3130: 3124:issue as well. 3117: 3115: 3101: 3100: 3091: 3082: 3080: 3066: 3065: 3061: 3028: 3026: 3012: 3011: 3004: 2995: 2993: 2979: 2978: 2974: 2960:code and legal 2930: 2928: 2910: 2909: 2905: 2848: 2846: 2832: 2831: 2824: 2797: 2795: 2781: 2780: 2776: 2757: 2756: 2752: 2725: 2723: 2705: 2704: 2700: 2682: 2680: 2666: 2665: 2661: 2629: 2627: 2609: 2608: 2604: 2580: 2578: 2560: 2559: 2552: 2545: 2541: 2534: 2532: 2514: 2513: 2498: 2491: 2487: 2436: 2434: 2430: 2424: 2397: 2391:(2010-10-08) . 2382: 2381: 2372: 2352: 2351: 2342: 2330: 2328: 2310: 2309: 2305: 2296: 2294: 2286: 2285: 2281: 2272: 2270: 2268: 2247: 2246: 2242: 2221: 2220: 2216: 2206: 2204: 2200: 2189: 2184: 2175: 2173: 2169: 2158: 2153: 2152: 2148: 2139: 2137: 2120: 2119: 2115: 2104: 2102: 2085: 2084: 2080: 2071: 2069: 2052: 2051: 2047: 2038: 2036: 2006: 2005: 1998: 1989: 1987: 1957: 1956: 1949: 1939: 1937: 1933: 1922: 1918: 1917: 1913: 1904: 1902: 1889: 1888: 1884: 1875: 1873: 1859: 1858: 1854: 1844: 1842: 1838: 1824: 1793: 1784: 1783: 1779: 1774: 1769: 1768: 1749: 1732: 1730: 1726: 1714: 1710: 1692:Windows 95 1682:containing the 1664:keyboard layout 1653: 1646: 1632:file extensions 1629: 1622: 1603: 1599: 1586: 1582: 1501:, although the 1485:can be used to 1480: 1471: 1384: 1377: 1372: 1303: 1236: 1222:must store the 1205: 1150: 1058: 1050: 1037: 1019: 1014: 998:cloud computing 896: 891: 851: 832: 770: 722: 680: 648: 643: 633: 603: 588: 568: 564: 555:exit gracefully 497:Concurrent CP/M 486: 481: 457: 397: 393: 355: 349: 301: 292: 270:struct fat_arch 264: 259: 219: 214: 171:Apple Macintosh 167: 162: 142:Apollo Computer 138: 133: 117:virtual machine 39: 28: 23: 22: 15: 12: 11: 5: 5052: 5050: 5042: 5041: 5031: 5030: 5027: 5026: 5002: 4979: 4955: 4931: 4907: 4887: 4838: 4835: 4832: 4831: 4790: 4753: 4719: 4714:canonical form 4700:techniques at 4680:alongside the 4633: 4597: 4567: 4538: 4516: 4483: 4445: 4401: 4368: 4347: 4312: 4277: 4248: 4213: 4176: 4162:. 2004-11-15. 4147: 4090: 4078:(6): 156–166. 4058: 4044:. 2023-03-10. 4025: 4011:. 2022-08-13. 3992: 3962: 3932: 3914:(2009-11-05). 3912:Holwerda, Thom 3903: 3869: 3843: 3810: 3774: 3745: 3715: 3678: 3672:. p. 74. 3654: 3633:The end of an 3596: 3557: 3518: 3454: 3406: 3358: 3327: 3299: 3247: 3214: 3128: 3089: 3073:Toastytech.com 3059: 3002: 2972: 2964:header) as a 2940:that produces 2903: 2835:"Generic CP/M" 2822: 2774: 2766:on 1998-06-28. 2760:"FATBIN v1.01" 2750: 2698: 2659: 2602: 2550: 2496: 2422: 2385:Brumley, David 2370: 2340: 2303: 2279: 2266: 2260:. p. 66. 2240: 2237:on 2012-04-27. 2214: 2146: 2132:. 1997-03-11. 2130:Apple Computer 2113: 2095:Apple Computer 2078: 2064:. 1996-07-06. 2062:Apple Computer 2045: 2010:(1994-08-29). 2008:Engst, Adam C. 1996: 1961:(1994-08-22). 1959:Engst, Adam C. 1947: 1911: 1897:. 2009-02-25. 1882: 1852: 1822: 1787:"3.3 Java and 1776: 1775: 1773: 1770: 1767: 1766: 1724: 1708: 1644: 1620: 1580: 1543:return address 1469: 1439:file extension 1431:System Manager 1407:Concurrent DOS 1374: 1373: 1371: 1368: 1367: 1366: 1360: 1354: 1348: 1343: 1337: 1331: 1328:New Executable 1325: 1319: 1314: 1309: 1302: 1299: 1235: 1232: 1204: 1201: 1085:multithreading 1057: 1054: 1049: 1046: 1036: 1033: 1018: 1015: 1013: 1010: 1002: 1001: 990: 987: 980: 977: 974: 967: 948: 940:and versions. 895: 892: 890: 887: 769: 766: 748:statements in 726:device drivers 721: 718: 679: 676: 560:gadget headers 531:file extension 485: 482: 480: 477: 456: 453: 351:Main article: 348: 345: 300: 297: 218: 215: 213: 210: 166: 163: 161: 158: 150:Motorola 680x0 137: 134: 132: 129: 119:(such as with 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 5051: 5040: 5037: 5036: 5034: 5016: 5012: 5008: 5003: 4992: 4988: 4984: 4980: 4969: 4965: 4961: 4956: 4945: 4941: 4937: 4932: 4921: 4917: 4913: 4908: 4897: 4893: 4888: 4877: 4873: 4869: 4854: 4850: 4846: 4841: 4840: 4836: 4828: 4826: 4813: 4809: 4805: 4802:(in German). 4801: 4794: 4791: 4787: 4785: 4772: 4768: 4764: 4757: 4754: 4750: 4738: 4734: 4730: 4723: 4720: 4715: 4711: 4707: 4703: 4699: 4695: 4691: 4687: 4683: 4679: 4675: 4672: 4671:code morphing 4668: 4664: 4663:country codes 4660: 4656: 4652: 4648: 4644: 4637: 4634: 4622: 4618: 4614: 4613: 4608: 4601: 4598: 4586: 4582: 4578: 4571: 4568: 4556: 4552: 4548: 4542: 4539: 4523: 4519: 4513: 4509: 4505: 4498: 4494: 4487: 4484: 4468: 4461: 4460: 4452: 4450: 4446: 4443: 4429: 4425: 4421: 4414: 4413: 4405: 4402: 4386: 4379: 4372: 4369: 4354: 4350: 4344: 4340: 4336: 4332: 4325: 4324: 4316: 4313: 4298: 4294: 4287: 4281: 4278: 4266: 4263:. 8.0. 2016. 4262: 4261:helpmanual.io 4258: 4252: 4249: 4234: 4230: 4223: 4217: 4214: 4202: 4198: 4194: 4190: 4186: 4180: 4177: 4165: 4161: 4157: 4151: 4148: 4132: 4128: 4124: 4120: 4116: 4112: 4108: 4101: 4094: 4091: 4085: 4081: 4077: 4073: 4069: 4062: 4059: 4047: 4043: 4039: 4035: 4029: 4026: 4014: 4010: 4006: 4002: 3996: 3993: 3981: 3977: 3973: 3966: 3963: 3951: 3947: 3943: 3936: 3933: 3921: 3917: 3913: 3907: 3904: 3891: 3887: 3883: 3879: 3873: 3870: 3859:on 2016-11-15 3858: 3854: 3847: 3844: 3832: 3828: 3824: 3820: 3814: 3811: 3799: 3795: 3791: 3787: 3781: 3779: 3775: 3763: 3759: 3755: 3749: 3746: 3734: 3730: 3726: 3719: 3716: 3713: 3711: 3708: 3705: 3700: 3696: 3692: 3681: 3679:0-931988-82-9 3675: 3671: 3667: 3666: 3658: 3655: 3650: 3648: 3644: 3640: 3636: 3620: 3616: 3609: 3608: 3600: 3597: 3581: 3577: 3570: 3569: 3561: 3558: 3542: 3538: 3531: 3530: 3522: 3519: 3516: 3514: 3511: 3509: 3505: 3500: 3496: 3483: 3479: 3475: 3473: 3468: 3461: 3459: 3455: 3452: 3450: 3439: 3435: 3431: 3427: 3425: 3420: 3413: 3411: 3407: 3404: 3402: 3391: 3387: 3383: 3379: 3377: 3372: 3365: 3363: 3359: 3348:on 2019-04-08 3347: 3343: 3342:Caldera, Inc. 3339: 3338: 3331: 3328: 3325: 3315:on 2003-10-04 3314: 3310: 3303: 3300: 3297: 3285: 3282: 3269: 3265: 3264: 3256: 3254: 3252: 3248: 3236: 3232: 3225: 3223: 3221: 3219: 3215: 3211: 3209: 3205: 3201: 3197: 3193: 3189: 3185: 3181: 3177: 3173: 3169: 3165: 3152: 3148: 3144: 3137: 3135: 3133: 3129: 3125: 3113: 3109: 3105: 3098: 3096: 3094: 3090: 3078: 3074: 3070: 3063: 3060: 3056: 3053: 3052:WordStar 3.20 3049: 3045: 3041: 3037: 3024: 3020: 3016: 3009: 3007: 3003: 2991: 2987: 2983: 2976: 2973: 2969: 2967: 2963: 2959: 2955: 2951: 2947: 2943: 2939: 2926: 2922: 2918: 2914: 2907: 2904: 2901: 2898: 2896: 2892: 2888: 2884: 2880: 2876: 2872: 2868: 2864: 2860: 2856: 2844: 2840: 2836: 2829: 2827: 2823: 2819: 2816: 2814: 2810: 2806: 2793: 2789: 2785: 2778: 2775: 2771: 2765: 2761: 2754: 2751: 2747: 2745: 2741: 2737: 2734: 2721: 2717: 2713: 2709: 2702: 2699: 2695: 2691: 2678: 2674: 2670: 2663: 2660: 2656: 2651: 2650: 2646: 2642: 2638: 2626:on 2018-07-05 2625: 2621: 2617: 2613: 2612:Chen, Raymond 2606: 2603: 2599: 2597: 2593: 2589: 2576: 2572: 2568: 2564: 2557: 2555: 2551: 2546:EBh, 04h, ... 2542:EBh, 44h, EBh 2530: 2526: 2522: 2518: 2511: 2509: 2507: 2505: 2503: 2501: 2497: 2485: 2481: 2477: 2473: 2469: 2468:gadget header 2465: 2461: 2457: 2454: 2450: 2446: 2443: 2429: 2425: 2419: 2415: 2411: 2407: 2403: 2396: 2395: 2390: 2386: 2379: 2377: 2375: 2371: 2368: 2364: 2360: 2356: 2349: 2347: 2345: 2341: 2337: 2326: 2322: 2318: 2314: 2307: 2304: 2293: 2289: 2283: 2280: 2269: 2263: 2259: 2255: 2251: 2244: 2241: 2236: 2232: 2228: 2224: 2218: 2215: 2199: 2195: 2188: 2182: 2168: 2164: 2157: 2150: 2147: 2135: 2131: 2127: 2123: 2117: 2114: 2111: 2101:on 2021-09-29 2100: 2096: 2092: 2088: 2082: 2079: 2067: 2063: 2059: 2055: 2049: 2046: 2034: 2030: 2026: 2023: 2019: 2018: 2013: 2009: 2003: 2001: 1997: 1985: 1981: 1977: 1974: 1970: 1969: 1964: 1960: 1954: 1952: 1948: 1932: 1928: 1921: 1915: 1912: 1900: 1896: 1892: 1886: 1883: 1871: 1867: 1863: 1856: 1853: 1837: 1833: 1829: 1825: 1823:0-8186-8368-6 1819: 1815: 1811: 1807: 1803: 1799: 1792: 1790: 1781: 1778: 1771: 1763: 1759: 1755: 1746: 1742: 1738: 1728: 1725: 1721: 1718: 1712: 1709: 1705: 1701: 1697: 1693: 1689: 1685: 1681: 1677: 1673: 1669: 1665: 1661: 1657: 1651: 1649: 1645: 1641: 1637: 1633: 1627: 1625: 1621: 1617: 1613: 1609: 1598: 1594: 1590: 1584: 1581: 1577: 1572: 1568: 1564: 1560: 1556: 1553: 1549: 1544: 1540: 1536: 1532: 1528: 1524: 1520: 1516: 1512: 1508: 1504: 1500: 1496: 1492: 1488: 1487:exit programs 1484: 1478: 1476: 1474: 1470: 1466: 1462: 1458: 1455: 1451: 1447: 1443: 1440: 1436: 1432: 1428: 1427:Multiuser DOS 1424: 1420: 1416: 1412: 1408: 1404: 1400: 1396: 1392: 1388: 1382: 1380: 1376: 1369: 1364: 1361: 1358: 1355: 1352: 1349: 1347: 1344: 1341: 1338: 1335: 1332: 1329: 1326: 1323: 1320: 1318: 1315: 1313: 1310: 1308: 1305: 1304: 1300: 1298: 1296: 1292: 1287: 1283: 1278: 1276: 1272: 1268: 1263: 1261: 1257: 1253: 1249: 1245: 1241: 1233: 1231: 1229: 1225: 1221: 1217: 1213: 1209: 1202: 1200: 1198: 1194: 1190: 1186: 1183: 1179: 1175: 1171: 1167: 1162: 1160: 1154: 1149: 1145: 1141: 1140:CUDA binaries 1137: 1133: 1129: 1125: 1121: 1117: 1113: 1109: 1105: 1100: 1098: 1094: 1090: 1086: 1082: 1079: 1075: 1071: 1067: 1063: 1055: 1053: 1047: 1045: 1042: 1034: 1032: 1029: 1024: 1021:Although the 1016: 1011: 1009: 1007: 999: 995: 991: 988: 985: 981: 978: 975: 972: 971:shell scripts 968: 965: 961: 957: 953: 949: 946: 945: 944: 941: 939: 935: 931: 927: 923: 919: 915: 911: 904: 900: 893: 888: 886: 884: 880: 876: 872: 868: 864: 860: 857: 849: 844: 842: 838: 829: 827: 824:& DR-DOS 823: 819: 814: 809: 807: 803: 799: 796:system files 795: 791: 787: 783: 779: 775: 767: 765: 763: 759: 755: 751: 747: 743: 739: 735: 731: 727: 719: 717: 715: 711: 707: 705: 701: 697: 693: 692:overlay files 689: 684: 677: 675: 673: 669: 665: 661: 657: 652: 641: 639: 632: 628: 624: 620: 616: 612: 607: 604:C3h, 03h, 01h 600: 598: 594: 586: 582: 578: 574: 569:EBh, 03h, C3h 565:EBh, 52h, EBh 562: 561: 556: 552: 546: 544: 540: 536: 532: 529: 525: 522: 518: 514: 510: 506: 502: 498: 494: 490: 483: 478: 476: 474: 470: 469:Open Firmware 466: 462: 454: 452: 450: 445: 441: 440:Apple silicon 437: 432: 430: 429:Mac OS X 10.7 426: 422: 421:Mac OS X 10.6 418: 417:Mac OS X 10.4 414: 409: 405: 403: 391: 387: 382: 380: 376: 372: 364: 359: 354: 344: 342: 338: 334: 330: 326: 322: 318: 314: 310: 306: 298: 296: 289: 286: 282: 281:cross-compile 278: 273: 267: 257: 249: 245: 241: 237: 232: 228: 224: 216: 209: 207: 202: 200: 196: 192: 191:resource fork 188: 184: 180: 176: 172: 159: 157: 156:executables. 155: 151: 147: 143: 130: 128: 126: 122: 118: 114: 110: 106: 102: 98: 94: 90: 86: 82: 77: 75: 71: 67: 62: 60: 56: 52: 48: 44: 37: 33: 19: 5019:. Retrieved 5010: 4995:. Retrieved 4986: 4972:. Retrieved 4963: 4948:. Retrieved 4939: 4924:. Retrieved 4915: 4900:. Retrieved 4880:. Retrieved 4871: 4857:. Retrieved 4848: 4822: 4816:. Retrieved 4793: 4781: 4775:. Retrieved 4766: 4756: 4747: 4741:. Retrieved 4732: 4722: 4642: 4636: 4625:. Retrieved 4610: 4600: 4589:. Retrieved 4580: 4570: 4559:. Retrieved 4550: 4541: 4529:. Retrieved 4503: 4486: 4474:. Retrieved 4458: 4435:. Retrieved 4411: 4404: 4392:. Retrieved 4371: 4360:. Retrieved 4322: 4315: 4304:. Retrieved 4280: 4269:. Retrieved 4260: 4251: 4240:. Retrieved 4216: 4205:. Retrieved 4192: 4179: 4168:. Retrieved 4150: 4138:. Retrieved 4106: 4093: 4075: 4071: 4061: 4050:. Retrieved 4037: 4028: 4017:. Retrieved 4004: 3995: 3984:. Retrieved 3975: 3965: 3954:. Retrieved 3945: 3935: 3924:. Retrieved 3906: 3894:. Retrieved 3885: 3872: 3861:. Retrieved 3857:the original 3846: 3835:. Retrieved 3826: 3813: 3802:. Retrieved 3793: 3766:. Retrieved 3757: 3748: 3737:. Retrieved 3728: 3718: 3689: 3683:. Retrieved 3664: 3657: 3632: 3626:. Retrieved 3606: 3599: 3587:. Retrieved 3567: 3560: 3548:. Retrieved 3528: 3521: 3492: 3486:. Retrieved 3470: 3442:. Retrieved 3422: 3394:. Retrieved 3374: 3350:. Retrieved 3346:the original 3336: 3330: 3317:. Retrieved 3313:the original 3302: 3293:NWDOSTIP.TXT 3289:MPDOSTIP.ZIP 3278: 3272:. Retrieved 3262: 3239:. Retrieved 3161: 3155:. Retrieved 3146: 3122: 3116:. Retrieved 3107: 3081:. Retrieved 3072: 3062: 3033: 3027:. Retrieved 3018: 2994:. Retrieved 2985: 2975: 2956:code, legal 2935: 2929:. Retrieved 2906: 2853: 2847:. Retrieved 2838: 2802: 2796:. Retrieved 2787: 2777: 2764:the original 2753: 2730: 2724:. Retrieved 2701: 2681:. Retrieved 2672: 2662: 2634: 2628:. Retrieved 2624:the original 2619: 2605: 2585: 2579:. Retrieved 2533:. Retrieved 2467: 2435:. Retrieved 2393: 2358: 2329:. Retrieved 2306: 2295:. Retrieved 2291: 2282: 2271:. Retrieved 2253: 2243: 2235:the original 2226: 2217: 2205:. Retrieved 2174:. Retrieved 2149: 2138:. Retrieved 2125: 2116: 2103:. Retrieved 2099:the original 2090: 2081: 2070:. Retrieved 2057: 2048: 2037:. Retrieved 2015: 1988:. Retrieved 1966: 1938:. Retrieved 1914: 1903:. Retrieved 1894: 1885: 1874:. Retrieved 1865: 1855: 1843:. Retrieved 1805: 1797: 1788: 1780: 1727: 1716: 1711: 1660:KEYBOARD.SYS 1583: 1576:INT E0h 1552:INT 21h 1548:INT 20h 1444:rather than 1391:CP/M-86 Plus 1279: 1264: 1247: 1237: 1227: 1220:object files 1212:object files 1211: 1206: 1193:Nvidia Fermi 1163: 1143: 1139: 1101: 1083:concept for 1059: 1051: 1038: 1020: 1003: 959: 955: 951: 942: 908: 902: 873:monitor and 848:file formats 845: 830: 810: 771: 723: 708: 681: 653: 642: 625:header (one 608: 601: 584: 558: 547: 487: 479:CP/M and DOS 458: 433: 431:or greater. 410: 406: 401: 383: 368: 362: 302: 290: 274: 263: 256:magic number 220: 203: 168: 154:Apollo PRISM 139: 78: 66:machine code 63: 46: 42: 40: 4872:Hacker News 4767:freedos-dev 4733:freedos-dev 4704:as well as 4682:binary code 4551:gcc.gnu.org 4113:: 185–196. 3886:icculus.org 3827:icculus.org 3794:icculus.org 3594:(207 pages) 3200:environment 3184:PC DOS 3168:DR DOS 3147:freedos-dev 3108:freedos-dev 3019:OS/2 Museum 2986:Seasip.info 2921:comp.os.cpm 2879:Multiface 3 2839:Seasip.info 2716:comp.os.cpm 2571:comp.os.cpm 2525:comp.os.cpm 2472:ROP gadgets 2183:(9 pages); 1945:(256 pages) 1754:DR-DOS 7.02 1750:COUNTRY.SYS 1741:PC DOS 1733:COUNTRY.SYS 1704:DR-DOS 7.02 1676:PC DOS 1662:, a binary 1640:PC DOS 1535:CALL 5 1346:Side effect 1317:Fat pointer 1203:Fat objects 1191:as well as 1151: [ 1122:can create 1006:Ubuntu 9.04 867:end-of-file 790:PC DOS 774:COUNTRY.SYS 656:overlapping 611:CP/M-80 3.0 402:thin binary 325:PowerPC 970 206:hard drives 109:source code 70:entry point 5021:2021-09-29 4997:2021-09-29 4974:2021-09-12 4950:2021-09-12 4926:2021-09-12 4902:2021-09-12 4882:2021-09-12 4859:2021-09-12 4818:2017-07-02 4777:2019-04-20 4743:2019-04-27 4698:relocation 4659:code pages 4627:2022-05-26 4591:2022-05-26 4561:2021-09-12 4536:(10 pages) 4531:2022-05-25 4476:2022-05-25 4437:2022-05-06 4399:(12 pages) 4394:2022-05-26 4362:2022-05-26 4306:2022-05-25 4271:2022-05-25 4242:2022-05-25 4207:2022-05-26 4170:2022-05-26 4140:2022-05-26 4088:(11 pages) 4052:2023-03-31 4019:2023-03-31 3986:2022-05-26 3956:2011-02-06 3926:2010-07-05 3896:2022-05-26 3863:2010-07-08 3837:2010-07-25 3804:2010-07-13 3768:2020-02-26 3739:2020-02-26 3685:2020-02-28 3652:(56 pages) 3628:2020-02-28 3589:2014-07-10 3550:2014-07-10 3488:2020-02-09 3444:2021-11-29 3396:2021-11-29 3352:2019-04-08 3319:2009-03-29 3284:abzusehen. 3281:IBMBIO.COM 3274:2014-08-06 3241:2016-08-20 3157:2020-02-07 3118:2020-02-21 3083:2020-01-15 3029:2019-07-28 2996:2016-08-29 2942:.COM files 2931:2021-12-13 2859:.COM files 2849:2021-12-12 2798:2021-12-12 2726:2021-12-13 2683:2018-05-19 2630:2018-05-19 2581:2021-12-13 2535:2021-12-13 2437:2022-05-26 2331:2017-09-03 2297:2022-10-18 2273:2021-09-28 2231:Apple Inc. 2207:2022-05-26 2176:2022-05-26 2140:2021-09-29 2105:2011-06-20 2072:2021-09-29 2039:2021-09-29 1990:2021-09-29 1940:2022-07-24 1905:2022-05-26 1876:2022-05-26 1850:(10 pages) 1845:2021-09-29 1772:References 1696:MS-DOS 7.0 1465:Windows NT 1459:under the 1228:fat object 950:Separated 926:byte order 916:and other 802:IBMDOS.COM 798:IBMBIO.COM 750:CONFIG.SYS 674:binaries. 631:magic byte 539:Intel 8086 517:Intel 8080 436:transition 425:64-bit x86 321:PowerPC G4 317:PowerPC G3 43:fat binary 4804:Newsgroup 4702:load-time 4674:meta data 4127:1535-864X 4042:Microsoft 4009:Microsoft 3758:Superuser 3699:CONTROL-Z 3647:COM files 3639:control-Z 3495:warm boot 3482:0748-9331 3438:0748-9331 3390:0748-9331 3192:PC$ MOUSE 2917:Newsgroup 2913:"PMSFX 2" 2813:.COM file 2736:.COM file 2712:Newsgroup 2637:.COM file 2567:Newsgroup 2521:Newsgroup 2317:Newsgroup 2212:(9 pages) 2029:1090-7017 1980:1090-7017 1832:0270-5257 1720:attribute 1688:MSDOS.SYS 1515:zero page 1509:into the 1507:warm boot 1450:batchjobs 1291:load-time 1271:Intel MKL 1185:Evergreen 1159:simulator 1148:GPGPU-Sim 996:and also 930:word size 918:Unix-like 841:warm boot 734:FFFFFFFFh 694:in their 501:CP/M Plus 449:Rosetta 2 265:nfat_arch 260:nfat_arch 195:data fork 146:Domain/OS 140:In 1988, 113:compiling 111:form and 91:multiple 85:installer 18:GPGPU-Sim 5033:Category 5015:Archived 4991:Archived 4968:Archived 4944:Archived 4920:Archived 4896:Archived 4876:Archived 4853:Archived 4812:Archived 4771:Archived 4737:Archived 4710:run-time 4686:relaxing 4621:Archived 4585:Archived 4555:Archived 4522:Archived 4467:Archived 4428:Archived 4385:Archived 4353:Archived 4297:Archived 4291:. 11.7. 4265:Archived 4233:Archived 4201:Archived 4164:Archived 4158:. 1.13. 4131:Archived 4046:Archived 4013:Archived 3980:Archived 3950:Archived 3920:Archived 3890:Archived 3880:(2009). 3831:Archived 3798:Archived 3762:Archived 3733:Archived 3619:Archived 3580:Archived 3541:Archived 3504:Z-System 3268:Archived 3235:Archived 3170:because 3151:Archived 3112:Archived 3077:Archived 3040:overlays 3023:Archived 2990:Archived 2925:Archived 2875:Spectrum 2843:Archived 2792:Archived 2720:Archived 2677:Archived 2575:Archived 2529:Archived 2486:: i.e. 2458:(as for 2428:Archived 2363:Archived 2325:Archived 2198:Archived 2167:Archived 2134:Archived 2066:Archived 2033:Archived 1984:Archived 1931:Archived 1899:Archived 1870:Archived 1836:Archived 1756:and its 1743:and the 1684:DOS BIOS 1423:DOS Plus 1312:DOS stub 1301:See also 1297:(DDCE). 1282:relaxing 1275:OpenBLAS 1157:, a GPU 1132:assembly 1130:virtual 837:Z-System 784:and the 742:DOS BIOS 654:Similar 623:256-byte 419:through 309:Mac OS X 285:NeXTStep 231:OPENSTEP 227:NeXTSTEP 201:format. 4964:Narkive 4940:Narkive 4916:Narkive 4806::  4651:Unicode 3946:LWN.net 3295:file.) 3172:INSTALL 3036:CP/M-86 2919::  2895:Windows 2744:Amstrad 2714::  2614:(ed.). 2569::  2523::  2319::  2017:TidBITS 1968:TidBITS 1758:NLSFUNC 1503:opcodes 1495:CP/M-86 1491:CP/M-80 1457:CMD.EXE 1435:REAL/32 1387:CP/M-86 1240:library 1114:). Its 1093:runtime 1017:Fatpack 1012:Windows 883:TOPS-10 826:VERSION 822:NetWare 786:NLSFUNC 704:runtime 683:CP/M-86 666:or x86/ 662:, 8086/ 543:opcodes 513:MSX-DOS 493:MP/M-80 489:CP/M-80 461:PowerPC 386:Rosetta 293:libtool 238:-based 179:PowerPC 105:GNUstep 89:Android 55:library 4661:, and 4514:  4345:  4293:Nvidia 4229:Nvidia 4197:Nvidia 4125:  3976:GitHub 3676:  3508:Z3ENVs 3480:  3436:  3432:–19 . 3388:  3384:–17 . 3194:" for 3188:DEVICE 3180:MS-DOS 2738:and a 2645:MS-DOS 2474:) for 2420:  2359:REMark 2264:  2027:  1978:  1866:GitHub 1830:  1820:  1745:DR-DOS 1737:MS-DOS 1717:hidden 1700:kernel 1680:IO.SYS 1672:MS-DOS 1670:under 1654:Other 1636:MS-DOS 1597:opcode 1489:under 1415:FlexOS 1399:S5-DOS 1273:, and 1197:Kepler 1195:& 1187:& 1166:OpenCL 1104:Nvidia 1081:pragma 1078:OpenMP 1035:Arm64X 984:BSD OS 960:/lib64 956:/lib32 910:FatELF 903:FatELF 854:byte ( 794:DR-DOS 746:DEVICE 700:MS-DOS 619:GENCOM 583:under 579:to be 361:Apple 337:x86-64 329:64-bit 323:, and 313:32-bit 248:Mach-O 131:Apollo 123:) and 97:Plan 9 4525:(PDF) 4500:(PDF) 4470:(PDF) 4463:(PDF) 4431:(PDF) 4416:(PDF) 4388:(PDF) 4381:(PDF) 4356:(PDF) 4327:(PDF) 4300:(PDF) 4289:(PDF) 4236:(PDF) 4225:(PDF) 4134:(PDF) 4103:(PDF) 3695:ASCII 3635:ASCII 3622:(PDF) 3611:(PDF) 3583:(PDF) 3572:(PDF) 3544:(PDF) 3533:(PDF) 3499:Z3TXT 3202:, no 3038:(the 2938:PMSFX 2897:.BMP 2891:PMARC 2887:PMSFX 2647:and 2592:PMArc 2431:(PDF) 2398:(PDF) 2201:(PDF) 2190:(PDF) 2170:(PDF) 2159:(PDF) 1934:(PDF) 1923:(PDF) 1839:(PDF) 1794:(PDF) 1762:Janus 1616:80186 1612:80188 1608:stack 1539:stack 1370:Notes 1342:(PIC) 1267:glibc 1252:CPUID 1155:] 1144:cubin 1142:(aka 1112:GPGPU 1074:Intel 914:Linux 889:Linux 875:RT-11 871:PDP-6 856:ASCII 738:loads 696:ports 664:68000 609:Some 577:PMarc 573:PMsfx 551:stubs 521:Zilog 519:(and 471:with 465:Intel 413:Xcode 398:ditto 341:ARM64 335:, or 236:IA-32 197:, in 187:68000 160:Apple 74:forks 4696:and 4688:and 4512:ISBN 4508:IEEE 4343:ISBN 4331:IEEE 4123:ISSN 3691:CP/M 3674:ISBN 3643:CP/M 3478:ISSN 3434:ISSN 3386:ISSN 3048:.OVR 2958:8086 2950:CP/M 2948:and 2871:Unix 2867:CP/M 2857:are 2805:CP/M 2733:CP/M 2694:8080 2655:8080 2649:CP/M 2596:8086 2544:and 2482:and 2480:MIPS 2462:and 2460:CP/M 2453:8086 2451:vs. 2449:8080 2418:ISBN 2262:ISBN 2025:ISSN 1976:ISSN 1828:ISSN 1818:ISBN 1731:The 1674:and 1668:KEYB 1593:8086 1589:8088 1571:8086 1567:8088 1531:BDOS 1523:8085 1519:8080 1511:BIOS 1497:and 1463:and 1461:OS/2 1446:.COM 1442:.CMD 1433:and 1336:(PE) 1330:(NE) 1324:(LX) 1284:and 1214:for 1170:MIPS 1120:NVCC 1116:LLVM 1108:CUDA 958:and 952:/lib 938:ABIs 905:logo 800:and 792:and 730:.SYS 724:DOS 668:MIPS 660:6502 627:page 585:both 528:.COM 511:and 396:and 394:lipo 365:logo 339:and 244:RISC 223:NeXT 152:and 121:Java 103:and 93:APKs 45:(or 4420:doi 4335:doi 4115:doi 4080:doi 3204:PSP 3164:TSR 3044:DOS 2962:PMA 2954:Z80 2946:DOS 2883:Z80 2863:DOS 2809:DOS 2740:DOS 2690:Z80 2641:Z80 2588:Z80 2490:or 2484:ARM 2476:x86 2464:DOS 2410:doi 1810:doi 1656:DOS 1604:CBh 1600:C9h 1587:On 1563:PSP 1555:API 1527:Z80 1499:DOS 1254:). 1182:ATI 1178:AMD 1174:ARM 1128:PTX 1124:ELF 1097:GPU 1028:x86 934:CPU 922:ELF 879:VMS 852:1Ah 833:C7h 778:NLS 714:GSX 712:'s 672:ARM 649:C9h 644:C9h 634:C9h 615:RSX 593:PMA 535:DOS 533:as 524:Z80 509:SCP 473:EFI 463:to 333:x86 240:PCs 225:'s 199:PEF 175:68k 144:'s 99:'s 53:or 34:or 5035:: 5013:. 5009:. 4985:. 4966:. 4962:. 4942:. 4938:. 4918:. 4914:. 4894:. 4874:. 4870:. 4864:; 4851:. 4847:. 4821:. 4810:. 4780:. 4769:. 4765:. 4746:. 4735:. 4731:. 4657:, 4619:. 4615:. 4583:. 4579:. 4553:. 4549:. 4520:. 4510:. 4502:. 4448:^ 4426:. 4351:. 4341:. 4333:. 4259:. 4199:. 4195:. 4191:. 4129:. 4121:. 4105:. 4076:42 4074:. 4070:. 4040:. 4036:. 4007:. 4003:. 3978:. 3974:. 3944:. 3888:. 3884:. 3829:. 3825:. 3796:. 3792:. 3777:^ 3756:. 3731:. 3727:. 3688:. 3631:. 3491:. 3469:. 3457:^ 3430:13 3421:. 3409:^ 3382:10 3373:. 3361:^ 3340:. 3277:. 3250:^ 3217:^ 3160:. 3149:. 3145:. 3131:^ 3121:. 3110:. 3106:. 3092:^ 3075:. 3071:. 3032:. 3021:. 3017:. 3005:^ 2988:. 2984:. 2968:. 2934:. 2923:. 2915:. 2852:. 2841:. 2837:. 2825:^ 2801:. 2790:. 2786:. 2729:. 2718:. 2710:. 2675:. 2671:. 2633:. 2618:. 2584:. 2573:. 2565:. 2553:^ 2527:. 2519:. 2499:^ 2494:.) 2478:, 2426:. 2416:. 2387:; 2373:^ 2357:. 2343:^ 2323:. 2315:. 2290:. 2256:. 2252:. 2229:. 2225:. 2128:. 2124:. 2093:. 2089:. 2060:. 2056:. 2031:. 2014:. 1999:^ 1982:. 1965:. 1950:^ 1893:. 1868:. 1864:. 1834:. 1826:. 1816:. 1804:. 1800:. 1796:. 1789:TH 1678:, 1647:^ 1623:^ 1493:, 1472:^ 1429:, 1425:, 1421:, 1417:, 1413:, 1409:, 1405:, 1401:, 1397:, 1393:, 1389:, 1378:^ 1269:, 1230:. 1153:de 954:, 932:, 928:, 881:, 877:, 859:^Z 706:. 599:. 507:, 503:, 499:, 495:, 491:, 404:. 343:. 319:, 127:. 41:A 5024:. 5000:. 4977:. 4953:. 4929:. 4905:. 4885:. 4862:. 4630:. 4594:. 4564:. 4534:. 4479:. 4440:. 4422:: 4397:. 4365:. 4337:: 4309:. 4274:. 4245:. 4210:. 4173:. 4143:. 4117:: 4086:. 4082:: 4055:. 4022:. 3989:. 3959:. 3929:. 3899:. 3866:. 3840:. 3807:. 3771:. 3742:. 3592:. 3553:. 3447:. 3399:. 3355:. 3322:. 3244:. 3182:/ 3086:. 2999:. 2686:. 2538:. 2440:. 2412:: 2334:. 2300:. 2276:. 2210:. 2179:. 2143:. 2108:. 2075:. 2042:. 1993:. 1943:. 1908:. 1879:. 1848:. 1812:: 1791:" 1739:/ 1694:/ 1638:/ 1614:/ 1591:/ 1569:/ 1525:/ 1521:/ 1180:/ 1070:C 973:. 966:. 670:/ 229:/ 38:. 20:)

Index

GPGPU-Sim
Portable executable
Portable application
executable program
library
instruction sets
machine code
entry point
forks
operating system
installer
Android
APKs
Plan 9
union directories
GNUstep
source code
compiling
virtual machine
Java
just-in-time compilation
Apollo Computer
Domain/OS
Motorola 680x0
Apollo PRISM
Apple Macintosh
68k
PowerPC
emulation scheme
68000

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.