Jump to content

Typed assembly language

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by AnomieBOT (talk | contribs) at 01:55, 31 March 2017 (Dating maintenance tags: {{Unreferenced}}). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computer science, a typed assembly language (TAL) is an assembly language that is extended to include a method of annotating the datatype of each value that is manipulated by the code. These annotations can then be used by a program (type checker) that processes the assembly language code in order to analyse how it will behave when it is executed. Specifically, such a type checker can be used to prove the type safety of code that meets the criteria of some appropriate type system.

Typed assembly languages usually include a high-level memory management system based on garbage collection.

A typed assembly language with a suitably expressive type system can be used to enable the safe execution of untrusted code without using an intermediate representation like bytecode, allowing features similar to those currently provided by virtual machine environments like Java and .NET.

See also

Further reading

  • TALx86, a research project from Cornell University which has implemented a typed assembler for the Intel IA-32 architecture.