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
Macro (computer science)
(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!
==Assembly language== While ''macro instructions'' can be defined by a programmer for any set of native assembler program instructions, typically macros are associated with macro libraries delivered with the operating system allowing access to operating system functions such as * peripheral access by [[access methods]] (including macros such as OPEN, CLOSE, READ and WRITE) * operating system functions such as ATTACH, WAIT and POST for subtask creation and synchronization.<ref>{{cite web|title=University of North Florida|url=https://www.unf.edu/~cwinton/html/cop3601/s10/class.notes/asm6-Macros.pdf}}</ref> Typically such macros expand into executable code, e.g., for the EXIT macroinstruction, * a list of ''define constant'' instructions, e.g., for the [[Data Control Block|DCB]] macro—DTF (Define The File) for [[DOS/360 and successors|DOS]]<ref>{{cite web |url=https://www.ibm.com/support/knowledgecenter?origURL=api/redirect/zvm/v5r4/index.jsp |title=DTF (DOS/VSE)|website=[[IBM]] }}</ref>—or a combination of code and constants, with the details of the expansion depending on the parameters of the macro instruction (such as a reference to a file and a data area for a READ instruction); * the executable code often terminated in either a ''branch and link register'' instruction to call a routine, or a [[supervisor call]] instruction to call an operating system function directly. * Generating a ''Stage 2'' job stream for [[System Generation (OS)|system generation]] in, e.g., [[OS/360]]. Unlike typical macros, sysgen stage 1 macros do not generate data or code to be loaded into storage, but rather use the '''PUNCH''' statement to output [[Job Control Language|JCL]] and associated data. In older operating systems such as those 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.
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)