Poised Solutions

Assembly Developer

poised solutions
IT practice and software development
Library Poised Solutions

Assembly Developer

Assembly Developer

Assembly language is a useful skill and computer language to have. By understanding programming at the assembly level, a better understanding of all other programming languages can be achieved. Assembly is the one to one mapping of machine code to mnemonic assembly instructions. Assembly allows for the highest level of performance in computer programming as code can be optimised for specific tasks and computer system architecture.

Poised Solutions offers Assembly Development, though only really advises it for very specific instances, either system development (and still C is preferable in many cases), very high performing applications, or where applications have to be miniaturised. Assembly is used in robotics and embedded devices, it also used in ultra high speed trading where the nano second can count.

When debugging an executable, assembly code can be disassembled from the machine code, this is useful even with the source code present to see the actual instructions passing through the CPU cores. Assembly is probably the unsung hero in the programming world, and knowledge of it extends to all facets of programming even if not used directly.

Poised Solutions can develop assembly code in both the AT&T and Intel syntax, for X86 16bit, 32bit and 64bit, along with development on ARM designed processors.


Assembly Uses

Assembly is not heavily used for general business projects, primarily due to the development life cycle times, the propensity for error, so the added cost of extended testing and the complexity of assembly itself. Assembly is heavily used in compilers, performance and size critical applications, and to understand how a program fully works which is useful in general testing, penetration testing and disassembly and analysis of malware.

Assembly Areas of Use
  • Debugging
  • Compilers
  • Disassembly
  • General Testing
  • Malware Analysis
  • Embedded Systems
  • Kernel Development
  • Penetration Testing
  • Ultra High Speed Trading

Assembly Example Code

;-----------------------------------------------------------
;                        _    _
;  __ _ ______ ___ _ __ | |__| |_  _   __ _ ____ __
; / _` (_-<_-</ -_) '  \| '_ \ | || |_/ _` (_-< '  \
; \__,_/__/__/\___|_|_|_|_.__/_|\_, (_)__,_/__/_|_|_|
;                               |__/
;
;-----------------------------------------------------------
; File      : assembly.asm
; Author    : Richard Lewis
; Project   : /mnt/webbeastie/proj/poisedsolutions/lib/code/
; Syntax    : asm
; Date      : Wed 15 Jul 2009
; Copyright : Richard Lewis 2009
;-----------------------------------------------------------
; assembly.asm - example assembly code
;-----------------------------------------------------------

section .data
    msg     : db 'Hello World',0xa ; Hello string and newline
    msg_len : equ $-msg            ; msg length
;-----------------------------------------------------------

section .bss
;-----------------------------------------------------------

section .text
    global _start ; chronos begin

_start:

    ; display msg
    mov eax, 4       ; sys_write
    mov ebx, 1       ; file descriptor (stdout)
    mov ecx, msg     ; offset of msg intp ecx
    mov edx, msg_len ; const msg_len into edx
    int 0x80         ; kernel call (display)
    ;-------------------------------------------------------

    ; system exit
    mov eax, 1  ; sys_exit
    mov ebx, 0  ; exit code 0 (ret)
    int 0x80    ; kernel call (exit)
;-----------------------------------------------------------

Assembly Development Services Poised Solutions

DevelopmentSystem DevelopmentApplication Development
DevelopmentSystem DevelopmentApplication Development

Assembly Resources

Assembly Resources
Assembly















Poised Solutions Assembly Developer for Hire. If you have a Java project then Poised Solutions has the development skills to make that project into a reality. Get in contact with Poised Solutions to discuss your IT Project today.

Poised Solutions Web Design and Web Development by Poised Solutions