Assembler --- Assembly instructions into Machine Code Instructions.
When the assembly instructions is sent into the ASM , the named 'variables' are hard-coded as memory address and ;label' variables as code address. Some parts of the prog source are always lost when assembler is used,which is inevitable.
MASM - Microsoft Assembler. (Macro Assembler)
- Used by Microsoft systems for the low-part definition of the Operating systems.
- Used for Intel core.
- This is not portable and hence is the disadvantage with other platforms.
TASM - Turbo assembler
- Developed by Borland and used in integration with Borland's software development tools.
- This assembler is not free .
NASM - Netwide Assembler
- Free, portable and retargetable.
- Can be used both in Linux and Windows systems.
- Not mature as TASM and MASM,but definitely user-friendly.
FASM - Flat Assembler
- Fast Self-assembling Open-source (X86) assembler .
AT & T Syntax
- AT&T syntax is different from Intel Syntax, but is used in GAS (GNU Assembler) ,mainly distributed in Unix and Unix-based Systems.
- GAS is specifically designed to be used as the back-end of GCC (GNU Compiler Collection) package.
- GCC always feeds it syntactically correct code,GAS often has minimal error checking.
- GAS syntax can be switched to Intel syntax with the directive ":intel_syntax noprefix"
- GAs is automatically installed with GCC or GNU binutils distribution package.
HLA - High Level Assemblers
- An assembler with high-level syntax.
- HLA acts as a front-end to other assemblers as FASM, MASM , NASM and GAS. So, the programmer must have another assembler installed to assemble programs with HLA.
- HLA comes with a comprehensive standard library.
- HLA syntax is very easy and closely resembles to C.
Example of a HLA code :
mov (src, dest) ;
pop(eax) ;
push(ebp) ;
for (mov (0, ecx) ; ecx < 10; inc (exc)) do
mul (ecx) ;
endfor ;
No comments:
Post a Comment