assembler : Java Glossary


Assembler is a language programmers use that is very similar to machine language. The difficultly learning it are all the pseudo-ops which do not correspond to machine language instructions. They control how the assembler generates object files and symbol tables.

Java compiles to byte code, the machine language for a Java-optimised CPU (Central Processing Unit). Most of the time you don’t have such a CPU, so you either interpret it, or compile it to native code, or hotspot it.

When you write assembler you are keenly aware of architectural details such as register size and addressing. As a consequence, porting assembler programs between OS (Operating System) es take a lot of work. You also need different assemblers and linkers for each architecture.

Architechural Details Presumed by Various Operating Systems
OS Chip Presumed Register Size
in bits
Address register Size
in bits
Segment Register Size
in bits
Net Address Width
in bits
Virtual Address Size Notes
DOS 8086 16 16 16 20 1 megabyte Read Mode. 640k for programs, 384K for BIOS (Basic Input Output System) and memory mapped hardware.
W3.1 80286 16 16 16 30 1 gigabyte Protected mode
W95, W98, Me, NT, W2K, XP, W2003, Vista, W2008 and W7-32 80386 32 32 flat 31 2 gigabytes Flat Virtual addressing
W7-64 Athlon 64 64 64 flat 63 9 exabytes Flat virtual adressing. Windows 7-64 dropped support for 16-bit programs because 64-bit chips no longer support DOS and W3.1 addressing in 64-bit long mode.
Java JVM (Java Virtual Machine) 32/64 32/64 flat 31/63 2 gigabytes
9 exabytes
Usually simulated inside other OS es, but also implemented in firmware or hardware. In theory, the addressing could be doubled by permitting negative addresses.

Microsoft bundles its X:\Program Files (x86)\VC\bin\x86_amd64\ml64.exe, the 64-bit Assembler with the free Microsoft Visual Studio C++ Express 2012.

This page is posted
on the web at:

Optional Replicator mirror
on local hard disk J:

Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.

Your face IP:[]
You are visitor number