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
Assembly language
(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!
==Terminology== * A '''macro assembler''' is an assembler that includes a [[macro (computer science)|macroinstruction]] facility so that (parameterized) assembly language text can be represented by a name, and that name can be used to insert the expanded text into other code. ** '''Open code''' refers to any assembler input outside of a macro definition. * {{anchor|Cross assembler}}A '''cross assembler''' (see also [[cross compiler]]) is an assembler that is run on a computer or [[operating system]] (the ''host'' system) of a different type from the system on which the resulting code is to run (the ''target system''). Cross-assembling facilitates the development of programs for systems that do not have the resources to support software development, such as an [[embedded system]] or a [[microcontroller]]. In such a case, the resulting [[object code]] must be transferred to the target system, via [[read-only memory]] (ROM, [[EPROM]], etc.), a [[Programmer (hardware)|programmer]] (when the read-only memory is integrated in the device, as in microcontrollers), or a data link using either an exact bit-by-bit copy of the object code or a text-based representation of that code (such as [[Intel hex]] or [[Motorola S-record]]). * A '''[[high-level assembler]]''' is a program that provides language abstractions more often associated with high-level languages, such as advanced control structures ([[Conditional (computer programming)#If–then(–else)|IF/THEN/ELSE]], DO CASE, etc.) and high-level abstract data types, including structures/records, unions, classes, and sets. * A '''[[microassembler]]''' is a program that helps prepare a [[microcode|microprogram]] to control the low level operation of a computer. * A '''meta-assembler''' is "a program that accepts the syntactic and semantic description of an assembly language, and generates an assembler for that language",<ref name="Daintith_2019"/> or that accepts an assembler source file along with such a description and assembles the source file in accordance with that description. "Meta-Symbol" assemblers for the [[SDS 9 Series]] and [[SDS Sigma series]] of computers are meta-assemblers.<ref>{{cite book |last1=Xerox Data Systems |title=Xerox Meta-Symbol Sigma 5-9 Computers Language and Operations Reference Manual |date=Oct 1975 |page=vi |url=http://bitsavers.org/pdf/sds/sigma/lang/900952G_metaSymbolLangRef_Oct75.pdf |quote=Used as a meta-assembler, it enables the user to design his own programming languages and to generate processors for such languages with a minimum of effort. |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/sds/sigma/lang/900952G_metaSymbolLangRef_Oct75.pdf |archive-date=2022-10-09 |url-status=live |access-date=June 7, 2020}}</ref> [[Sperry Univac]] also provided a Meta-Assembler for the [[UNIVAC 1100/2200 series]].<ref>{{cite book |last1=Sperry Univac Computer Systems |title=Sperry Univac Computer Systems Meta-Assembler (MASM) Programmer Reference |date=1977 |url=http://www.bitsavers.org/pdf/univac/1100/asm/UP-8453_MASM_Programmers_Ref_1977.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://www.bitsavers.org/pdf/univac/1100/asm/UP-8453_MASM_Programmers_Ref_1977.pdf |archive-date=2022-10-09 |url-status=live |access-date=June 7, 2020}}</ref> * '''[[inline assembler]]''' (or '''embedded assembler''') is assembler code contained within a high-level language program.<ref>{{cite web |title=How to Use Inline Assembly Language in C Code |url=https://gcc.gnu.org/onlinedocs/gcc/Using-Assembly-Language-with-C.html |website=gnu.org |access-date=Nov 5, 2020}}</ref> This is most often used in systems programs which need direct access to the hardware.
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)