Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a404332278cf0ecd

Jump to content

Talk:Assembly language

Page contents not supported in other languages.
Add topic
From Wikipedia, the free encyclopedia
Latest comment: 5 days ago by Espertus in topic Claim about inventor of assembly language

Macro pseudo-ops in open code

[edit]

@Wtshymanski: In several assemblers, pseudoops meant for defining macros can also be used in open code.

I added the text "

In addition, some of the assembler statements useful in macro definitions are also valid in open code, e.g., the HLASM statements

AGO
Transfer to specified assembler statement
AIF
Evaluate logical and transfer if true
GBLx
Define compile-time variables in a global context
LCLx
Define compile-time variables in a local context
SETx
Evaluate expressions and assign their values to compile time variables

" to Assembly language#Macros and Wtshymanski reverted the change, stating that it was out of place. I don't see anything wrong with either the text or its location. --Shmuel (Seymour J.) Metz Username:Chatul (talk) 00:18, 19 November 2021 (UTC)Reply

Wikipedia is not a textbook. It's probably excessivley detailed, especially in an already over-long article, to go into all the fascinating tangents. --Wtshymanski (talk) 21:38, 22 November 2021 (UTC)Reply
@Wtshymanski: The list of pseudo-ops may be TMI, but surely the fact that they are allowed in open code belongs there. How about just "In addition, some of the assembler statements useful in macro definitions are also valid in open code"? --Shmuel (Seymour J.) Metz Username:Chatul (talk) 01:42, 23 November 2021 (UTC)Reply
This article doesn't define "open code" so the phrase is meaningless to the reader. This reader, anyway. --Wtshymanski (talk) 03:22, 24 November 2021 (UTC)Reply
@Wtshymanski: Surely it should, since some pseudo-ops are invalid in open code, e.g., MEXIT in HLASM. --Shmuel (Seymour J.) Metz Username:Chatul (talk) 11:46, 24 November 2021 (UTC)Reply
When it comes to defining what features work in which implementations, we leave the realm of an encyclopedai article and descent to the level of a textbook...or a programmer's manual or how-to guide. The first dozen hits on Google Books for "open code" are split between "open source" and food best-fefore dates written in plain language instead of a cipher. --Wtshymanski (talk) 19:39, 24 November 2021 (UTC)Reply
@Wtshymanski: "open code" = "outside of macro definitions". It's a pretty well understood term among assembler programmers. Peter Flass (talk) 20:09, 24 November 2021 (UTC)Reply
This (https://www.google.ca/books/edition/IBM_Assembler/6thQAAAAYAAJ?hl=en&gbpv=1&bsq=%22open+code%22+%22assembler%22&dq=%22open+code%22+%22assembler%22&printsec=frontcover) says "open code" is an IBM-ism, which is why I never heard of it, learning my assembler on the streets as I did. It's a pretty recondite point for a general article on assembly language, which must perforce pay attention to the world outside of IBM. --Wtshymanski (talk) 21:28, 24 November 2021 (UTC)Reply
You’re right that google shows a lot of irrelevant results in a generic search for “open code”, but it’s not just an IBM-ism, but is regularly used when talking about macros and conditional assembly. For example, here’s one result from a book on MASM programming. .if the term is used here, however, it should probably be defined.Peter Flass (talk) 02:27, 25 November 2021 (UTC)Reply

It is useful to include features which exist in assemblers for a variety of machines. In this case, the actual features are assembler variables and conditional assembly. That is, the assembler equivalent of C's #define and #ifdef. (More generally, #if.) AGO allows for loops, which might be more rare for assemblers. These are similar to the features of the PL/I preprocessors, and as well as I know, implemented in a preprocessor stage by assemblers. (That is, a temporary file is written for later processing.) The more general case should be covered here. Gah4 (talk) 23:41, 23 June 2024 (UTC)Reply

While many simple assemblers have a separate preprocessor stage, but that is by no means universal. Specifically, the IBM assemblers Assembler H Versions 1 and 2 and High Level Assembler (HLASM) allow macro to query attributes of symbols even when they are defined later in the source code than the macro definition and invocation. -- Shmuel (Seymour J.) Metz Username:Chatul (talk) 14:18, 24 June 2024 (UTC)Reply

DSECT

[edit]

IBM assemblers use DSECT in about the way that C programmers use struct. That is, for computing offsets into data structures. (In the case of struct pointers, that is all the compiler does. For an actual struct, it also allocates memory.) What I am wondering now, is which other assemblers have a similar feature? This would be the case where the assembler computes the offsets, and not a series of (the equivalent of) #define. Gah4 (talk) 23:31, 23 June 2024 (UTC)Reply

Final paragraph of #Macros

[edit]

The final paragraph of § Macros, beginning Macro parameter substitution is strictly by name: at macro processing time, the value of a parameter is textually substituted for its name. The most famous class of bugs resulting was the use of a parameter that itself was an expression and not a simple name when the macro writer expected a name. In the macro:, has several issues.

  1. It is unclear what assembler on what platform has the issue; it needs explanatory text, a citation for the assembler and a citation for the bug.
  2. There is a NPOV issue; the wording should make it clear that not all assemblers have the issue.

It might be better to write example subsections for a few diverse assemblers and to include a modified version of that paragraph in the relevant example. Candidates for example sections include

  • Digital Equipment Corporation#DEC decsystem10 Macro Assembler
  • DEC VAX-11 Macro Assembler
  • IBM 707x Autocoder
  • IBM 709/7090 FORTRAN II Assembly Program
  • IBM 709x Macro Assembly Program (MAP)
  • IBM OS/360 Assembler (F)
  • IBM OS/VS, DOS/VS, and VM/370 Assembler (Assembler XF)
  • IBM Assembler H
  • IBM High Level Assembler (HLASM)
  • SDS/XDS Macro-Symbol
  • UNIVAC 1100/2200 Meta-Assembler (MASM)

I can do some of the word-smithing for the IBM assemblers if and when there is consensus on what to include. Note that the nomenclature varies all over the landscape. -- Shmuel (Seymour J.) Metz Username:Chatul (talk) 14:48, 3 July 2026 (UTC)Reply

tell me about 2nd gen of computer

[edit]

tell me about 2nd gen of computer ~2026-46173-44 (talk) 04:10, 24 August 2026 (UTC)Reply

Second-generation computer redirects to History of computing hardware § Transistor computers, which discusses what are referred to as "second-generation computers".
This is not tied to assembler language; many, probably most, first-generation computers (that links to Vacuum-tube computer), had both assemblers for assembly language, and many of them had compilers for higher-level languages. Later generations of computers, all the way to present-day computers, generally have both as well. Guy Harris (talk) 07:24, 24 August 2026 (UTC)Reply

Claim about inventor of assembly language

[edit]

The article currently says: "Kathleen Booth 'is credited with inventing assembly language'". The first of two citations is to a blog post, which is not a reputable source. (I also quickly noticed an error in the blog post, which said she "was born Kathleen Britten in 1922". Her birth name was actually Hylda Valerie Britten.)

The second is a reference to a seminal paper written by her and Andrew Booth. The reference includes the text "The non-original ideas, contained in the following text, have been derived from a number of sources, ... It is felt, however, that acknowledgement should be made to Prof. John von Neumann and to Dr. Herman Goldstein for many fruitful discussions ..."

This does not support the claim that she is credited as being the [sole] inventor of assembly language.

I think the sentence in which the claim appeared needs to be rewritten unless supporting references can be found.

Espertus (talk) 20:30, 18 September 2026 (UTC)Reply