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 Assembly
(section)
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!
== High vs. low-level assembler == HLA v2.x supports the same low-level machine instructions as a regular low-level assembler. High-end assemblers also support high-level-language-like statements (such as IF and WHILE) and more advanced data declaration directives, including [[Data structure|structures]]-[[Record (computer science)|records]], unions, and even [[Class (computer programming)|classes]]. Examples of high-end assemblers include HLA, [[Microsoft Macro Assembler]] (MASM), and [[Turbo Assembler]] (TASM) on the Intel [[x86]] processor family. Unlike most other assembler tools, the HLA compiler includes a ''Standard Library'' with thousands of [[Subroutine|functions, procedures]]s and [[Macro (computer science)|macros]]s that can be used to create full applications with the ease of a high-level language. While assembly language [[Library (computing)|libraries]] are not new, a language that includes a large standardized library encourages programmers to use library code rather than writing their own functions. HLA supports all the same low-level machine instructions as other x86 assemblers. Furthermore, HLA's high-level control structures are based on those found in MASM and TASM, whose HLL-like features predated HLA by several years. In HLA, low-level assembly code can be written just as easily as with any other assembler by ignoring the HLL control constructs. Unlike HLLs like Pascal and C(++), HLA does not require inline asm statements. HLA's HLL-like features provide a learning aid for beginning assembly programmers by easing the learning curve, with the expectation that they will discontinue using those statements once they master the low-level instruction set. In practice, many experienced programmers continue to use HLL-like statements in HLA, MASM, and TASM long after mastering the low-level instruction set, typically to improve readability. It is also possible to write ''high-level'' programs using HLA, which reduces the tedium of low-level assembly language programming. Some assembly language programmers reject HLA outright{{Citation needed|date=October 2022|reason=Unclear scope and reasoning - maybe quote one of these programmers explaining their motive for rejecting HLA}} because it allows programmers to do this. However, supporting both high-level and low-level programming gives any language a broader range of applicability.
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)