by Daniel Pimentel — Fri 11 November 2005

An assembly (or assembler) language, often abbreviated asm, is a low-level programming language for a computer, or other programmable device, in which there is a very strong (generally one-to-one) correspondence between the language and the architecture's machine code instructions. Each assembly language is specific to a particular computer architecture. In contrast, most high-level programming languages are generally portable across multiple architectures but require interpreting or compiling. Assembly language may also be called symbolic machine code.



,pp (compile '(+ 32 10) #:to 'assembly)
 ((:LCASE16 . 2))  ; Labels, unused in this case.
 8                 ; Length of the thunk that was compiled.
 (load-program     ; Metadata thunk.
  #f              ; No metadata thunk for the metadata thunk.
  (make-int8 2)   ; Liveness extents, source info, and arities,
  (make-int8 8)   ; in a format that Guile knows how to parse.
  (list 0 3)
  (list 0 1)
  (list 0 3)
 (assert-nargs-ee/locals 0)  ; Prologue.
 (make-int8 32)    ; Actual code starts here.
 (make-int8 10)
2000-2016 by Daniel Pimentel under GFDL