IBM Basic assembly language and successors: Difference between revisions

Content deleted Content added
Move non-mainline assemblers to "other versions." Combine M44 sections Add section on Model 20 versions
Delete insignificiant "trivia", insert note on exits and interfaces
Line 368:
* [[GNU Assembler]] (gas) is part of the [[GNU Compiler Collection]] (gcc) for [[Linux on IBM Z|Linux on OS/390 and IBM Z]]. This assembler has a unique syntax that is incompatible with other assemblers for IBM architectures.
 
==TriviaImportance==
Originally all System/360 operating systems were written in assembler language, and all system interfaces were defined by macro definitions. Access from high-level languages (HLLs) was restricted to what that language supplied. Any other system calls had to be coded as subroutines called from HLL programs. IBM allowed customization of OS features by an installation thru what were known as ''Exits''—user-supplied routines that could extend or alter normal OS functions. These exits were required to be coded in assembler language. Later, IBM recoded OS/360 in a systems programming language, [[PL/S]], but, except for a short trial, decided not to release the PL/S compiler to users. As a result of these factors, assembler language saw significant use on IBM systems for many years.
BAL is also the mnemonic of the "Branch And Link" [[w:nl:Instructieset van IBM 360|instruction]].<ref name="opl_bobm">{{cite web|url=http://www.bixoft.nl/english/opl_bobm.htm|title=HLASM - List of all Opcodes, Extended Mnemonics and Function Codes, Sorted by Mnemonic|accessdate=January 14, 2013}}</ref>
 
==See also==