Content deleted Content added
Citation bot (talk | contribs) Add: date, website. | Use this bot. Report bugs. | Suggested by Dominic3203 | Category:Assembly languages | #UCB_Category 3/31 |
→External links: HLASM URLs |
||
(10 intermediate revisions by 6 users not shown) | |||
Line 69:
==General characteristics==
As it is an [[assembly language]], BAL uses the native [[instruction set]] of the IBM mainframe architecture on which it runs, [[IBM System/360|System/360]]
The simplicity of machine instructions means that the [[source code]] of a program written in assembler will usually be much longer than an equivalent program in, say, [[COBOL]] or [[Fortran]]. In the past, the speed of hand-coded assembler programs was often felt to make up for this drawback, but with the advent of optimizing compilers, [[C (programming language)|C]] for the mainframe, and other advances, assembler has lost much of its appeal. IBM continues to upgrade the assembler, however, and it is still used when the need for speed or very fine control is paramount. However, all of the IBM successors to BAL have included a sophisticated macro facility that allows writing much more compact source code.
Line 255 ⟶ 253:
===High Level Assembler===
'''High Level Assembler''' or '''HLASM''' was released in June 1992 replacing IBM's Assembler H Version 2.<ref>{{cite web|last=IBM Corporation|title=IBM High Level Assembler and Toolkit Feature - Release History|website=[[IBM]] |date=19 October 2018 |url=https://www.ibm.com/support/pages/ibm-high-level-assembler-and-toolkit-feature-release-history|access-date=January 19, 2025}}</ref><ref name="hlasm-announcement-letter">{{cite web|publisher=IBM Corporation|type=Announcement letter|id=292-244|title=IBM High Level Assembler/MVS & VM & VSE|date=5 May 1992 |url=https://www.ibm.com/docs/en/announcements/archive/ENUS292-244|access-date=January 19, 2025}}</ref> It was the default translator for System/370 and System/390, and supported the MVS, VSE, and VM operating systems. As of 2023 it is [[IBM]]'s current [[Assembly language|assembler]] programming language for its [[z/OS]], [[z/VSE]], [[z/VM]] and [[z/TPF]] [[operating system]]s on [[z/Architecture]] [[mainframe computer|mainframe]] [[computers]]. Release 6 and later also run on [[Linux]], and generate [[Executable and Linkable Format|ELF]] or [[GOFF]] object files (this environment is sometimes referred to as [[Linux on IBM Z]]).<ref>{{cite book|last=IBM Corporation|title=High Level Assembler for Linux on zSeries User's Guide|year=2008|url=
| title = Module 24: SLAC Enhancements to and Beautifications of the IBM H-Level Assembler for Version 2.8
| author = Greg Mushial
Line 285 ⟶ 283:
</syntaxhighlight>
}} <code>USING</code> statements, a list of <code>USING</code> statements currently active, an indication of whether a variable is read or written in the cross-reference, and allowing mixed-case symbol names.<ref name="hlasm-announcement-letter" />
| title = IBM High Level Assembler for MVS & VM & VSE Release 2 Presentation Guide
| id = SG24-3910-01
Line 379 ⟶ 377:
{{Wikibooks|360 Assembly}}
* [https://www.ibm.com/docs/en/hla-and-tf/1.6.0?topic=
* [https://www.ibm.com/docs/en/SSENW6_1.6.0/pdf/asmg1025_pdf.pdf High Level Assembler for z/OS & z/VM & z/VSE 1.6 General Information]
* [http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/360/asm/SC20-1646-6_int360asm_Aug70.pdf A Programmer's Introduction to IBM System/360 Assembler Language (Student Text)]
* [
* [http://punctiliousprogrammer.com/ The Punctilious Programmer: IBM Mainframe Assembler]
* [https://www.amazon.com/dp/B00NS797PQ Basic IBM Mainframe Assembly Language Programming]
|