Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
High-level assembler
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{about||the language by Randall Hyde|High Level Assembly|the IBM product|IBM High Level Assembler}} {{no footnotes|date=September 2016}} A '''high-level assembler''' in [[computing]] is an [[Assembly language#Assembler|assembler]] for [[assembly language]] that incorporate features found in a [[high-level programming language]]. The earliest high-level assembler was probably Burroughs' [[Executive Systems Problem Oriented Language]] (ESPOL) in about 1960, which provided an [[ALGOL]]-like syntax around explicitly-specified Burroughs [[B5000]] machine instructions.{{Disputed inline|ESPOL seems to be more than just an assembler|date=May 2024}} This was followed by [[Niklaus Wirth]]'s [[PL360]] in 1968; this replicated the Burroughs facilities, with which he was familiar, on an IBM [[System/360]]. More recent high-level assemblers are [[Borland]]'s [[Turbo Assembler]] (TASM), [[Netwide Assembler]] (NASM), [[Microsoft]]'s [[Microsoft Macro Assembler|Macro Assembler]] (MASM), [[IBM]]'s [[IBM High Level Assembler|High Level Assembler]] (HLASM) for [[z/Architecture]] systems, Alessandro Ghignola's Linoleum, [[Cosmos (operating system)#X#|X#]] used in Cosmos and Ziron.{{Citation needed|date=September 2016}} High-level assemblers typically provide instructions that directly assemble [[Bijective|one-to-one]] into low-level [[machine code]] as in any assembler, plus control statements such as IF, WHILE, REPEAT...UNTIL, and FOR, macros, and other enhancements. This allows the use of high-level control statement abstractions wherever maximal speed or minimal space is not essential; low-level statements that assemble directly to machine code can be used to produce the fastest or shortest code. The end result is assembly [[source code]] that is far more readable than standard assembly code while preserving the efficiency inherent with using assembly language. High-level assemblers generally provide information-hiding facilities and the ability to call functions and procedures using a high-level-like syntax (i.e., the assembler automatically produces code to push parameters on the [[call stack]] rather than the programmer having to manually write the code to do this). High-level assemblers also provide data abstractions normally found in high-level languages. Examples include: [[data structure]]s, [[Union type|unions]], [[Class (computer programming)|classes]], and [[Set (abstract data type)|sets]]. Some high-level assemblers (e.g., [[TASM]] and [[High Level Assembly]] (HLA)) support [[object-oriented programming]]. ==References== * {{cite book |author-first=David |author-last=Salomon |editor-first=Ian D. |editor-last=Chivers |title=Assemblers and Loaders |date=February 1993 |orig-year=1992 |edition=1 |series=Ellis Horwood Series In Computers And Their Applications |publisher=[[Ellis Horwood Limited]] / [[Simon & Schuster International Group]] |location=California State University, Northridge, California, USA |publication-place=Chicester, West Sussex, UK |isbn=0-13-052564-2 |url=http://www.davidsalomon.name/assem.advertis/asl.pdf |access-date=2008-10-01 |url-status=live |archive-url=https://web.archive.org/web/20200323010358/http://www.davidsalomon.name/assem.advertis/asl.pdf |archive-date=2020-03-23}} [http://www.davidsalomon.name/assem.advertis/AssemAd.html][https://www.scribd.com/doc/7326575/Assembly-Language] (xiv+294+4 pages) (NB. Presents definitions and examples of older high-level assemblers.) * {{cite book|title=The Art of Assembly Language|author=[[Randall Hyde]]|url=http://www.nostarch.com/assembly2.htm|isbn=978-1-5932-7207-4|edition=2nd|year=2010}} ==External links== * ''HAL70 '', [[Hamish Dewar]] [https://gtoal.com/history.dcs.ed.ac.uk/archive/docs/CSRs/CSR-29-78-HAL70.pdf] A high level assembly language for Interdata series 70 mini-computers. * [https://web.archive.org/web/20111110073431/http://homepage.mac.com/randyhyde/webster.cs.ucr.edu/index.html Webster site with information and links on HLA and assembler] [[Category:Assemblers|*High-level]] {{comp-sci-stub}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:About
(
edit
)
Template:Citation needed
(
edit
)
Template:Cite book
(
edit
)
Template:Comp-sci-stub
(
edit
)
Template:Disputed inline
(
edit
)
Template:No footnotes
(
edit
)