The Netwide Assembler (NASM) is an assembler and disassembler for the Intel x86 architecture. CSC initially provided programming tools such as assembler and compiler software. Program translation is divided into four subproblems&colon; compiler, assembler, link editor, and loader. The operating system distribution software also included a relocating assembler and linker. It was also available bundled with Turbo Assembler and Turbo Debugger. The GAS executable is named as, the standard name for a Unix assembler. It also added support for GNU Assembler syntax. D retains C++'s ability to perform low-level programming and to add inline assembler. The target machine would translate this to its native code using a macro assembler. The user specifies options by coding a series of assembler macros. The in-line 6502 assembler was replaced by an ARM assembler. The geometry processor contains the Geometry Assembler, the Tesselator and the Vertex Assembler. FASM ("flat assembler") is an assembler for x86 processors. Essentially ALGOL acted like the macro pass of a macro assembler. Doing much low-level coding like this usually came from lack of access to an assembler.