Jump to content

Macro instruction: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Erik9bot (talk | contribs)
SmackBot (talk | contribs)
m remove Erik9bot category,outdated, tag and general fixes, added orphan tag
Line 1: Line 1:
{{Unreferenced stub|auto=yes|date=December 2009}}
A '''macro instruction''' is a line of computer program coding that results in one or more lines of program coding in the target programming language. In the mid 1950s, when [[assembly language]] programming was commonly used to write programs for [[digital computers]], the use of macro instructions was initiated for two main purposes: to reduce the amount of program coding that had to be written by generating several assembly language statements from one macro instruction and to enforce program writing standards, e.g. specifying input/output commands in standard ways. Macro instructions were effectively a middle step between assembly language programming and the [[high-level programming languages]] that followed, such as [[FORTRAN]] and [[COBOL]]. Two of the earliest programming installations to develop "macro languages" for the IBM 705 computer were at Dow Chemical Corp. in Delaware and the Air Material Command, Ballistics Missile Logistics Office in California. A macro instruction written in the format of the target assembly language would be processed by a macro compiler, which was a pre-processor to the assembler, to generate one or more assembly language instructions to be processed next by the assembler program that <s>will</s> would translate the assembly language instructions into [[machine language]] instructions.
{{Orphan|date=December 2009}}

A '''macro instruction''' is a line of computer program coding that results in one or more lines of program coding in the target programming language. In the mid 1950s, when [[assembly language]] programming was commonly used to write programs for [[digital computers]], the use of macro instructions was initiated for two main purposes: to reduce the amount of program coding that had to be written by generating several assembly language statements from one macro instruction and to enforce program writing standards, e.g. specifying input/output commands in standard ways. Macro instructions were effectively a middle step between assembly language programming and the [[high-level programming languages]] that followed, such as [[FORTRAN]] and [[COBOL]]. Two of the earliest programming installations to develop "macro languages" for the IBM 705 computer were at Dow Chemical Corp. in Delaware and the Air Material Command, Ballistics Missile Logistics Office in California. A macro instruction written in the format of the target assembly language would be processed by a macro compiler, which was a pre-processor to the assembler, to generate one or more assembly language instructions to be processed next by the assembler program that <s>will</s> would translate the assembly language instructions into [[machine language]] instructions.


While ''macro instructions'' can be defined by a programmer as a shorthand for any set of native assembler program instructions, typically macro's are associated with macro libraries delivered with the operating system allowing access to operating system functions such as peripheral access by [[access methods]] (including macro's such as OPEN, CLOSE, READ and WRITE) and other operating system functions such as ATTACH, WAIT and POST for subtask creation and synchronization. Typically such macro's expand into a list of ''define constant'' instructions representing the parameters of the macro instruction (such as a reference to a file and a data area for a READ instruction) followed by either a ''branch and link'' instruction to call a routine, or a [[supervisor call]] instruction to call an operating system function directly.
While ''macro instructions'' can be defined by a programmer as a shorthand for any set of native assembler program instructions, typically macro's are associated with macro libraries delivered with the operating system allowing access to operating system functions such as peripheral access by [[access methods]] (including macro's such as OPEN, CLOSE, READ and WRITE) and other operating system functions such as ATTACH, WAIT and POST for subtask creation and synchronization. Typically such macro's expand into a list of ''define constant'' instructions representing the parameters of the macro instruction (such as a reference to a file and a data area for a READ instruction) followed by either a ''branch and link'' instruction to call a routine, or a [[supervisor call]] instruction to call an operating system function directly.
Line 6: Line 9:
In modern operating systems such as Unix and derivatives, operating system access is provided through subroutines, usually invoking DLL routines. High-level languages such as C offer comprehensive access to operating system functions, obviating the need for assembler language programs for such functionality.
In modern operating systems such as Unix and derivatives, operating system access is provided through subroutines, usually invoking DLL routines. High-level languages such as C offer comprehensive access to operating system functions, obviating the need for assembler language programs for such functionality.

{{DEFAULTSORT:Macro Instruction}}
{{compu-prog-stub}}
[[Category:Computer programming]]
[[Category:Computer programming]]

[[Category:Articles lacking sources (Erik9bot)]]

{{Compu-prog-stub}}


[[pl:Makroinstrukcja]]
[[pl:Makroinstrukcja]]

Revision as of 04:08, 17 December 2009

A macro instruction is a line of computer program coding that results in one or more lines of program coding in the target programming language. In the mid 1950s, when assembly language programming was commonly used to write programs for digital computers, the use of macro instructions was initiated for two main purposes: to reduce the amount of program coding that had to be written by generating several assembly language statements from one macro instruction and to enforce program writing standards, e.g. specifying input/output commands in standard ways. Macro instructions were effectively a middle step between assembly language programming and the high-level programming languages that followed, such as FORTRAN and COBOL. Two of the earliest programming installations to develop "macro languages" for the IBM 705 computer were at Dow Chemical Corp. in Delaware and the Air Material Command, Ballistics Missile Logistics Office in California. A macro instruction written in the format of the target assembly language would be processed by a macro compiler, which was a pre-processor to the assembler, to generate one or more assembly language instructions to be processed next by the assembler program that will would translate the assembly language instructions into machine language instructions.

While macro instructions can be defined by a programmer as a shorthand for any set of native assembler program instructions, typically macro's are associated with macro libraries delivered with the operating system allowing access to operating system functions such as peripheral access by access methods (including macro's such as OPEN, CLOSE, READ and WRITE) and other operating system functions such as ATTACH, WAIT and POST for subtask creation and synchronization. Typically such macro's expand into a list of define constant instructions representing the parameters of the macro instruction (such as a reference to a file and a data area for a READ instruction) followed by either a branch and link instruction to call a routine, or a supervisor call instruction to call an operating system function directly.

In older operating systems such as used on IBM mainframes, full operating system functionality was only available to assembler language programs, not to high level language programs (unless assembly language subroutines were used, of course), as the standard macro instructions did not always have counterparts in routines available to high-level languages.

In modern operating systems such as Unix and derivatives, operating system access is provided through subroutines, usually invoking DLL routines. High-level languages such as C offer comprehensive access to operating system functions, obviating the need for assembler language programs for such functionality.