Printer Friendly
Dictionary, Encyclopedia and Thesaurus - The Free Dictionary
1,733,953,008 visitors served.
forum mailing list For webmasters
?
New: Language forums
Dictionary/
thesaurus
Medical
dictionary
Legal
dictionary
Financial
dictionary
Acronyms
 
Idioms
Encyclopedia
Wikipedia
encyclopedia
?

assembly language
(redirected from Assembler programming)

   Also found in: Wikipedia, Hutchinson 0.01 sec.

assembly language

Type of low-level computer programming language consisting mostly of symbolic equivalents of a particular computer's machine language. Computers produced by different manufacturers have different machine languages and require different assemblers and assembly languages. Some assembly languages can be used to convert the code that programmers write (source code) into machine language (readable by the computer), and have functions to facilitate programming (e.g., by combining a sequence of several instructions into one entity). Programming in assembly languages requires extensive knowledge of computer architecture.


assembly language

A programming language that is one step away from machine language. Each assembly language statement is translated into one machine instruction by the assembler. Programmers must be well versed in the computer's architecture, and, undocumented assembly language programs are difficult to maintain. It is hardware dependent; there is a different assembly language for each CPU series.

It Used to All Be Assembly Language
In the past, control programs (operating systems, database managers, etc.) and many applications were written in assembly language to maximize the machine's performance. Today, C/C++ is widely used instead. Like assembly language, C/C++ can manipulate the bits at the machine level, but it is also portable to different computer platforms. There are C/C++ compilers for almost all computers.

Assembly Language Vs. Machine Language
Although often used synonymously, assembly language and machine language are not the same. Assembly language is turned into machine language. For example, the assembly instruction COMPARE A,B is translated into COMPARE contents of memory bytes 2340-2350 with 4567-4577 (where A and B happen to be located). The physical binary format of the machine instruction is specific to the computer it's running in.

They Can Be Quite Different
Assembly languages are quite different between computers as is evident in the example below, which takes 16 lines of code for the mini and 82 lines for the micro. The example changes Fahrenheit to Celsius.

             HP 3000

  begin
  intrinsic  read,print,binary,ascii;
  array buffer(0:17);
  array string(0:3);
  byte array b'string(*) = string;
  integer ftemp, ctemp, len;
    move buffer:= "Enter Fahrenheit ";
    print (buffer,-30,%320);
    len:=read (string,-4);
    ftemp:= binary(b'string,len);
    ctemp:= (ftemp-32) * 5 / 9;
    len:= ascii(ctemp,1-,b'string);
    move buffer:= "Celsius is ";
    move buffer(14) := string, (-len);
    print (buffer,-32,%0);
  end



          PC (Intel x86)

  cseg    segment para public 'CODE'
          assume  cs:cseg,ds:cseg
  start:
          jmp     start1
  msgstr  db      'Enter Fahrenheit '
  crlf    db      13,10,'$'
  nine    db      9
  five    db      5
  outstr  db      'Centrigrade is $'
  start1: push    ds
          push    cs
          pop     ds
          mov     dx,offset cseg:msgstr
          mov     ah,9
          int     21h
  sloop:
  cent:   call    getnumb
          test    ax,ax
          je      exit
          push    ax
          mov     dx,offset cseg:outstr
          mov     ah,9
          int     21h
          pop     ax
          sub     ax,32
          jns     c1
          push    ax
          mov     dl,'-'
          mov     ah,6
          int     21h
          pop     ax
          neg     ax
  cl:     mul     five
          div     nine
          call    putval
          mov     dx,offset cseg:crlf
          mov     ah,9
          int     21h
          jmp     sloop
  exit:   pop     ds
          mov     ah,4ch
          int     21h
  getnumb:
          xor     bx,bx
  llp:    mov     dl,0ffh
          mov     ah,1
          int     21h
          cmp     al,0dh
          je      llr
          sub     al,'0'
          jb      llr
          cmp     al,'9'
          ja      llr
          xor     ah,ah
          shl     bx,1
          add     ax,bx
          shl     bx,1
          shl     bx,1
          add     bx,ax
          jmp     llp
  llr:    mov     dx,offset cseg:crlf
          mov     ah,9
          int     21h
          mov     ax,bx
          ret
  putval: xor     bx,bx
          push    bx
          mov     bx,10
  llg:    xor     dx,dx
          div     bx
          add     dx,'0'
          push    dx
          test    ax,ax
          jne     llg
  bloop:  pop     dx
          test    dx,dx
          je      endx
          mov     ah,6
          int     21h
          jmp     bloop
  endx:   ret
  cseg    ends
          end     start


assembly language [ə′sem·blē ‚laŋ·gwij]
(computer science)
A symbolic, nonbinary format for instructions (human-readable version of machine language) that allows mnemonic names to be used for instructions and data; for example, the instruction to add the number 39321 to the contents of register D1 in the central processing unit might be written as ADD#39321, D1 in assembly language, as opposed to a string of 0's and 1's in machine language.

1.(language, robotics)Assembly Language - (AL) A language for industrial robots developed at Stanford University in the 1970s.

["The AL Language for an Intelligent Robot", T. Binford in Langages et Methods de Programation des Robots Industriels, pp. 73-88, IRIA Press 1979].

["AL User's Manual", M.S. Mujtaba et al, Stanford AI Lab, Memo AIM-323 (Jan 1979)].
2.(language)assembly language - (Or "assembly code") A symbolic representation of the machine language of a specific processor. Assembly language is converted to machine code by an assembler. Usually, each line of assembly code produces one machine instruction, though the use of macros is common.

Programming in assembly language is slow and error-prone but is the only way to squeeze every last bit of performance out of the hardware.

Filename extension: .s (Unix), .asm (CP/M and others).

See also second generation language.


How to thank TFD for its existence? Tell a friend about us, add a link to this page, add the site to iGoogle, or visit webmaster's page for free fun content.
?Page tools
Printer friendly
Cite / link
Email
Feedback
? Mentioned in ? References in periodicals archive
 
The Assembler Project is primarily designed to provide assembler programming skills to s/390 mainframe customers.
 
Encyclopedia browser? ? Full browser
 
 
Encyclopedia
?

Disclaimer | Privacy policy | Feedback | Copyright © 2009 Farlex, Inc.
All content on this website, including dictionary, thesaurus, literature, geography, and other reference data is for informational purposes only. This information should not be considered complete, up to date, and is not intended to be used in place of a visit, consultation, or advice of a legal, medical, or any other professional. Terms of Use.