Talk:Assembly language

message: In "See also" section the point "List of assemblers" linked to Comparison of assemblers!
And where the link to MACRO-11 should be added? --Tim32 (talk) 19:20, 22 June 2008 (UTC)
thread_title:  http://en.wikipedia.org/wiki/List_of_assemblers <> Comparison of assemblers 

message: Since this section has to deal mostly with x86 assembly language, I suggest that it be moved there.  ( rCX (talk) 03:59, 4 July 2008 (UTC)
replies: text: I moved it. rCX (talk) 00:57, 23 July 2008 (UTC)
thread_title:  Syntax section 

message: The representation in here does it refer to the hexadecimal address that machines use, such as when Blue Screen of Death error, they consists of a particulara hardware address in hexadecimal form. (I have very little macros programming foundation.)
 This representation is usually defined by the hardware manufacturer, and is based on 
 abbreviations (called mnemonics) that help the programmer remember individual instructions, 
 registers, etc
By the way some interpreter use to translate XML documents according to XML schema, are they consider assemblers?
--Ramu50 (talk) 03:24, 13 July 2008 (UTC)
thread_title:  FAQ 

message: Hi MrOllie.  I'm publishing (with permission) Doug Dingus' comprehensive guide to Assembly Language for the Absolute Begineer.  Not trying to sell anything, but I think it would be a valuable external resource that goes into detail beyond what would be appropriate for an article. This is inline with the External Link guidlines.  —Preceding unsigned comment added by Nmcclana (talk • contribs) 02:07, 18 February 2009 (UTC)
replies: text: You're publishing? Please do not add links to your own site. See WP:EL and especially WP:COI. - MrOllie (talk) 15:42, 18 February 2009 (UTC)
replies: text: This EL doesn't promote anything other than a better understanding of assembly language.  And linking to an article you've reprinted doesn't qualify for automatic deletion.  MrOllie thinks an EL to 'Assembly Language for the Absolute Beginner' is spam, a COI, and requires deletion without discussion.  I think it is a useful guide for someone who would read about assembly language and want to learn more.  Any other opinions? --Nmcclana (talk) 19:16, 18 February 2009 (UTC)
replies: text: Quoting WP:EL - 'In line with Wikipedia policies, you should avoid linking to a site that you own, maintain, or represent — even if WP guidelines seem to imply that it may otherwise be linked.' - MrOllie (talk) 19:26, 18 February 2009 (UTC)
thread_title:  Ext links (Absolute Begineers guide to assembly language 

message: Pagetable.com was removed from the external links/software section - pagetable.com is a unique resource for assembly language analysis and history/evolution of the language across various architectures and compilers; I believe it comes into category 3, Wikipedia:EL#What_should_be_linked. One of the admins should examine the content of pagetable.com and other links and not just delete en masse because they don't have either the expertise or time to identify useful resources 121.45.167.176 (talk) 20:29, 19 March 2010 (UTC)
thread_title:  Ext links (Pagetable.com) 

message: I made a long research to use the Modulo operator in Assembly language and the closest I found was the DIV operator however it's not available on the simple educational Assembler PEP8  (French operators instruction Chapitre 7 in http://www.er.uqam.ca/nobel/k20250/Notes_cours.html).
Is there a simpler way of doing a modulo ?  Perhaps doing bitwise operations ?  --DynV (talk) 19:29, 12 June 2009 (UTC)
thread_title:  Modulo 

message: The main page for this article includes a reference to an assembler named "French Silk" and touts it as being the smallest assembler ever written.   In fact, the Instant Editor Assembler (known more by its acronym, IEA) was the smallest assembler around.   I am not sure who wrote it, but remember it was marketed through Randy Chase's Commodore Users' Group Newsletter.   I am not a fan of the IEA, as I was one of many dissatisfied customers who bought a copy of it, and tried to use it.   French Silk, on the other hand, had a much better reputation for speed of execution and assembling.   Dexter Nextnumber (talk) 08:22, 2 January 2010 (UTC)
replies: text: No size given, but it's mentioned here Tedickey (talk) 14:10, 2 January 2010 (UTC)
thread_title:  Vic-20 assembler 

message: Some assemblers do limited Peephole optimization, e.g., converting long branches to short branches. I believe that there should be a discussion of this in the article, preferably with some examples. Shmuel (Seymour J.) Metz Username:Chatul (talk) 12:39, 10 August 2010 (UTC)
thread_title:  Automatic optimization 

message: Some terms have different definitions in different assemblers. In particular, some assemblers use the term pseudo-instruction to refer to assembler directives. The article should avoid conveying an impression that the nomenclature used is universal. Shmuel (Seymour J.) Metz Username:Chatul (talk) 13:22, 10 August 2010 (UTC)
replies: text: There's no neutrality/POV issue here, so I'm removing the systematic bias template. If reliable sources give distinctly different definitions of a term, and I think this is the case, the article should reflect this. That much is very straight forward. ButOnMethItIs (talk) 08:47, 6 September 2010 (UTC)
replies: text: The NPOV issue is the 'removal of neutral language, as discussed in #A pseudo-opcode is a directive. Shmuel (Seymour J.) Metz Username:Chatul (talk) 13:35, 6 September 2010 (UTC)
replies: text: I think you misunderstand the meaning of neutrality. Your language may have been more accurate, but it was not more neutral. Again, I see no NPOV issue. ButOnMethItIs (talk) 15:48, 6 September 2010 (UTC)
thread_title:  Neutral nomenclature 

message: Are there any data to support the claim that most assemblers have symbol management, e.g., name spaces? There are certainly many assemblers that don't. Shmuel (Seymour J.) Metz Username:Chatul (talk) 18:13, 23 August 2010 (UTC)
replies: text: I seriously doubt it. I'm sure most assemblers are extremely spartan in their feature set. ButOnMethItIs (talk) 01:00, 7 September 2010 (UTC)
replies: text: And for that reason, I have replaced "most" with "some." Although I don't have any reference to support even "some" I assume that the person who put the statement there in the first place would have first-hand experience. Most of the assemblers that I have used have been, as noted above, quite spartan in the features they supported. An old 6502 assembler wouldn't even calculate forward branches for you. Dead Horsey (talk) 06:48, 21 December 2010 (UTC)
thread_title:  Prevalence of name spaces 

message: I did in fact initiate a discussion prior to adding a ; the proper course for someone who disagreed would have been to discuss the reasons instead of removing the template. Shmuel (Seymour J.) Metz Username:Chatul (talk) 15:09, 7 September 2010 (UTC)
replies: text: There was no on-going discussion or clear claim of bias. If there were, I would have started there. ButOnMethItIs (talk) 15:54, 7 September 2010 (UTC)
replies: text: There was, and the template linked to it. Shmuel (Seymour J.) Metz Username:Chatul (talk) 18:00, 7 September 2010 (UTC)
thread_title:  Removal of Systemic bias template 

message: There is a comment suggesting that the following text is unclear
I agree that it is misleading, and suggest the following
 Shmuel (Seymour J.) Metz Username:Chatul (talk) 15:22, 8 September 2010 (UTC)
thread_title:  Clarification of extended mnemonics? 

message: While it is certainly true that most compilers and operating systems in the 1950s and 1960s were written in assembler, the article overstates the degree of dominance. Notable examples of languages used for system implementation include
*Algol 60
*BLISS
*ESPOL
*FORTRAN
*JOVIAL
*NELIAC
*Pascal
*PL/I
 Shmuel (Seymour J.) Metz Username:Chatul (talk) 13:12, 18 November 2010 (UTC)
replies: text: You seem to miss the point here... The languages mentioned were used decades before C became dominant as a systems implementation language in the late 1980's (basically because of it's tight association with UNIX). The early C (or B) of 1972 was a hack used to port an early version of UNIX to the PDP-8. B as well as early versions of C lacked typing and was basically just a simplified and – sadly enough – a syntactically changed variant of Martin Richard's simple but elegant BCPL (which in turn was a partial implementation of the CPL language). A modern C appeared on the public scene around 1978, but it was not until 10 years later that it became really dominant. At that point, languages like Algol68, PL/1, BLISS, JOVIAL, PL/M, Simula, Pascal, Modula, and even Ada, had been used for systems programming for many years, just like C today.  — Preceding unsigned comment added by 83.253.229.235 (talk) 01:33, 27 April 2014 (UTC)
thread_title:  Early alternatives to assemblers for systems programming 

message: There is a general convention to use italics to represent quoted material that is not surrounded by quotaion marks or apostrophes. User:Nigelj  recently added quotation marks around material that already was framed by double apostrophes, the Wiki markup for italics. E.g.,
Shouldn't it be one or the other but not both? Shmuel (Seymour J.) Metz Username:Chatul (talk) 14:48, 19 November 2010 (UTC)
replies: text: Yes, I added the double quotes after having added the wikilinks inside the italic phrases.diff I wasn't sure, but I felt that the blue then black type broke up the phrases making it difficult to see what was going on. I was in two minds about the double quotes, but was just trying to make the meaning easy to see. I'm not attached to them and they could be removed without any problem if people think that is best. --Nigelj (talk) 22:58, 19 November 2010 (UTC)
thread_title:  Meta: Quotes and italics 

message: The section on macros has a lot of good information, but it seems to get very off-topic. It starts with a good discussion of the use of macros, and then diverges into specific uses of macros in legacy systems, using the macro assembler as a code generator for COBOL, history of the C preprocessor, and then discussions of the underlying structure of Prolog, LISP, and Forth. I'd like to trim this section down dramatically, and move the more advanced content to another article. Any comments? Dead Horsey (talk) 06:55, 21 December 2010 (UTC)
replies: text: I agree. It's legitimate to mention that macro assemblers inspired macros in other language, but not to go into detail about macros in languages other than assemblers. Separate articles about macros in document formatting languages, e.g., SCRIPT, general programming languages, e.g., PL/I, and shell script languages, e.g., CLIST, would be helpful. Shmuel (Seymour J.) Metz Username:Chatul (talk) 11:20, 21 December 2010 (UTC)
replies: text: I will try to make some time in the next week to make these changes. I need to find out if there are other articles where the content can move. Someone put a lot of effort into writing all that information, and if it can be moved somewhere else that makes sense, I'd rather do that instead of deleting it. Dead Horsey (talk) 03:52, 22 December 2010 (UTC)

text: Discussion of using the assembler macro facilities to generate code in other languages definitely belongs in this article. As I noted last year, discussion of features in other languages inspired by the macro languages of assemblers probably does not belong here. Shmuel (Seymour J.) Metz Username:Chatul (talk) 18:47, 11 December 2011 (UTC)
thread_title:  Macros 

message: I corrected the dates for some milestones in the evolution of assembler languages, and in the process I wondered whether it would be appropriate to add references, e.g., 705 Autocoder, 709 FAP, for the approximate dates. Would that be helpful, or would it be TMI? Shmuel (Seymour J.) Metz Username:Chatul (talk) 21:12, 18 January 2011 (UTC)
thread_title:  Add references or TMI? 

message: I added a citation needed template to the text referring to CPU's being idle. My first take was that while it was not true for mainframes that it was plausible for desktops, but then it occurred to me that the delays in loading the all too common bloated web pages might be due to CPU consumption for rendering. If anybody has hard data on CPU consumption in various applications on various classes of machines, citations would be appreciated. Shmuel (Seymour J.) Metz Username:Chatul (talk) 13:22, 19 January 2011 (UTC)
replies: text: Looking at the statement, it seems to me that it means that often the CPU isn't doing useful work. That might be an idle loop on many processors, or a wait state on others. When computers cost millions of dollars, people worked hard to keep them busy.  Now they don't work so hard. IBM used to lease machines with a charge based on how much they were actually used, with a meter that ran when it wasn't in a wait state. Gah4 (talk) 06:36, 14 May 2018 (UTC)
replies: text: I modified the I/O routines used by the IBM1130 at Victoria University to employ the WAIT op-code rather than just loop-on-busy, with a view to the usage meter not advancing during such WAIT intervals (before the operation-complete interrupt arrived) however, I had not looked closely enough at the behaviour of the meter (like a car's odometer) - it did not stop its advance until nearly a second after the cpu had entered the "wait" state. Even the longest delay, for the page-throw action of the slow lineprinter, completed in less time. Pox. But, it was fascinating to observe the flickering lights showing just how much time was spent waiting during I/O action, and a friend was prompted to devise a buffering scheme employing unused memory that could run the devices at top speed - until memory ran out. NickyMcLean (talk) 11:49, 14 May 2018 (UTC)
thread_title:  CPU loading 

message: Hi all,
I stumbled across this page via Random Article, it brought back happy memories of writing TSRs and trying to understand PC BIOS routines (ahem). 
I feel that the first main section (Why use assembly language?) dives a little deep into the nitty-gritty for an opener. But the first para of the  Historical perspective section is just what the article needs at the beginning (from a layman's point a view), and I was wondering about incorporating it at the top of the page. MinorProphet (talk) 23:03, 28 April 2011 (UTC)
thread_title:  Why use assembly language? 

message: Would it be worth making specific mention of bytecode assemblers (e,g, Jasmin)?  Or are these subsumed under the notion of a virtual machine architecture? Peter Flass (talk) 13:33, 16 January 2012 (UTC)
replies: text: It seems to me that there isn't anything fundamentally different about Byte Code assemblers. Even the name is somewhat strange, as many hardware architectures are byte based.  (See VAX for one example.)  At one time, Sun did have hardware that at least partly executed JVM in hardware, and others could still build such hardware.  As above, nobody is expected to write programs in JVM code, but pretty much nobody writes assembly code for the RISC processors, either, though someone has to write the templates for compiler code generators. So, it seems to me that JVM code has as much use here as, for example, SPARC assembly code. Gah4 (talk) 03:34, 20 October 2016 (UTC)

text: No, Java et al are not assemblers; the source languages are not machine oriented. Jasmin, OTOH, is, although the machine in question is virtual. Shmuel (Seymour J.) Metz Username:Chatul (talk) 15:04, 25 October 2016 (UTC)
thread_title:  Bytecode assemblers 

message: I am currently working on a significant overhaul of the File Allocation Table article for accuracy and completeness, and I have run into a question I was unable to answer myself so far. Perhaps someone of you can help out and provide an answer.
Primer: All FAT formatted volumes since DOS 2.0 contain a BIOS Parameter Block (BPB) in the boot sector describing the volume, wheras DOS 1.x volumes did not. In their course to determine the actual medium format, among other methods MS-DOS, PC DOS and DR-DOS check various byte patterns at offset 000h in a boot sector in order to find out, if a given sector might contain some form of BPB or not. Volumes containing a BPB typically start with a jump instruction at offset 000h to skip over the BPB.
Patterns tested for by DOS include a short jump sequence "JMPS ??, NOP" (EBh ??h 90h, as seen since DOS 3.0) or a near jump (E9h ??h ??h, as seen on DOS 2.x formatted disks). On harddisks, DR-DOS (but not MS-DOS/PC DOS) additionally checks for a swapped sequence 90h EBh ??h. (To be precise, these tests alone are not enough to be sure a BPB is present since some DOS 1.1 disks contain EBh ??h 90h as well, but still have no BPB; but I won't go into further details here, as it doesn't matter in regard to my question below.)
On floppies, all these operating systems (MS-DOS, PC DOS and DR-DOS) also check for a byte pattern 69h ??h ??h at offset 000h in the boot sector. This is documented for MS-DOS/PC DOS in at least one book, and it can be found in the OpenDOS source code as well, but without further explanation. Stepping through MS-DOS in a debugger it can be verified that the test actually exists in MS-DOS as well, however, in none of the books I have checked so far, 69h is a valid x86 opcode. So, I wonder what it is. Perhaps a jump instruction for a non-x86 processor? Mind, that the FAT file system was also used on Ataris (Motorola 680x0) as well as on some very late CP/M variants (8080) and all MSX-DOS machines (Z80), but a starting opcode of 69h does not seem to make sense on these platforms as well. The IBM PC RT was built around the IBM ROMP processor, a RISC processor -- certainly not x86-compatible, but unfortunately I cannot find any opcode maps for this specific processor. What about the extra opcodes supported by the NEC V20/V30? Or some undocumented opcode? Was there any other platform important enough to have Microsoft or IBM add this special test into the volume mount code of MS-DOS/PC DOS? Windows NT? Any ideas? --Matthiaspaul (talk) 01:41, 21 January 2012 (UTC)
thread_title:  Help request: Decoding starting opcode 69h at ofs 000h in FAT formatted floppy boot sector 

message: I did some more general cleanup on this article, but it is still disorganized and full of redundancies.  In particular the sections "current usage" and "typical applications" should be combined, but there are lots of other instances of duplication.Peter Flass (talk) 13:39, 9 March 2012 (UTC)
thread_title:  General cleanup 

message: Please stop adding these external links:
* DOS assembly Interpreter and Assembler
* BASIC with a 32 bit inline assembler
In the first place, if you look you will notice that the "external links" here are pointers to information, not pointers to specific assemblers - the page List of assemblers is intended for that.  In the second place, BBC Basic is not an assembler, even if it contains one.  By that criterion, almost all C compilers would be assemblers because they allow imbedded assembly code. Peter Flass (talk) 23:34, 7 June 2012 (UTC)
thread_title:  Two of these things are not like the others... 

message: As a new editor I cannot yet edit this article. Is there a way to get it unlocked? I only want to make some minor edits to make it read more smoothly.  — Preceding unsigned comment added by Geau (talk • contribs) 12:09, 26 August 2012 (UTC)
replies: text: See this: http://en.wikipedia.org/wiki/Wikipedia:Protection_policy#semi HumphreyW (talk) 12:33, 26 August 2012 (UTC)
thread_title: Locked

message: Removed: "Many assemblers have built-in (or predefined) macros for system calls and other special code sequences, such as the generation and storage of data realized through advanced bitwise and boolean operations used in gaming, software security, data management, and cryptography."
The above is just total nonsense.  First off, hardly any assembler has anything like this.  Second off, if it's a macro library, then that has nothing at all to do with the assembler itself.  Third, I know of nothing that is specific to "gaming" that is implemented in any cpu architecture unless it is a custom designed cpu.  Intel has announced/documented built-in instructions for AES, but guess what, they have yet to ship any actual x86 cpus which implement these instructions -- see Intel's manual for details.  By advanced bitwise operations, I guess you mean the usual shifts and rotates?  nothing special about that. me?  I've programmed so many different computers using so many different assemblers that I've lost count.  OldCodger2 (talk) 22:13, 15 September 2012 (UTC)
replies: text: I looked at this claim crosswise too.  I have a vague recollection that some assemblers may have had predefined macros, maybe SDS Metasymbol for example, but not for anything mentioned.  In any case I think it would need a citation. Peter Flass (talk) 23:05, 15 September 2012 (UTC)

text: While we're looking at macros, the article says this "Note that this definition of "macro" is slightly different from the use of the term in other contexts, like the C programming language. C macro's created through the #define directive typically are just one line, or a few lines at most. Assembler macro instructions can be lengthy "programs" by themselves, executed by interpretation by the assembler during assembly."  While this may be true of C other high-level languages have macro facilities that can be and sometimes are used to write lengthy programs, PL/I, for example. Peter Flass (talk) 23:08, 15 September 2012 (UTC)
replies: text: Also, both assembler and PL/I macros have been written with the function of generating text unrelated to the native language, e.g., Stage 1 of the OS/360 systems generation (SysGen) process.Shmuel (Seymour J.) Metz Username:Chatul (talk) 12:00, 19 September 2012 (UTC)

text: In the early days it was common for assemblers to have built-in macros but not macro libraries. However, I'm not aware of any that did so in the time-frame of the game consoles; the cases I'm aware of were much earlier. Shmuel (Seymour J.) Metz Username:Chatul (talk) 12:00, 19 September 2012 (UTC)
thread_title:  /* Macros */ removed a bogus claim, about built-in operations for gaming and data managment 

message: marked as resolved by Diamondl (talk) 03:25, 18 January 2018 (UTC)
replies: text: I agree, and I note that one difference is that the suggested example specifies the architecture and the assembler for the listing. However, it might be better to create a separate article for assembler examples and to include examples for disparate assemblers, including IBM's HLASM and an assembler for at least one RISC. Shmuel (Seymour J.) Metz Username:Chatul (talk) 21:57, 31 January 2013 (UTC)
thread_title:  Don't like the example 

message: The last update changed the bare word assembler to a link. However, assembler is just a disambiguation page rather than an explanation of assembler programs. Is such a link appropriate? Shmuel (Seymour J.) Metz Username:Chatul (talk) 22:22, 7 February 2013 (UTC)
replies: text: In general, you are not supposed to link to disambiguation pages.  In some cases, though, it might be interesting to see other uses for a word. More specifically, what is an assembler assembling? Is that meaning related to other uses for the words assembler and assembly?  (And, for that matter, should it be assembly language or assembler language?) Gah4 (talk) 23:11, 29 November 2016 (UTC)
thread_title:  Link to assembler disambiguation page? 

message: "Modern assemblers, especially for RISC architectures, such as SPARC or Power Architecture, as well as x86 and x86-64, optimize instruction scheduling to exploit the CPU pipeline efficiently." - What? There is no citation but this suggests there exists an assembler which can do this. The closest thing I can think of would be MIPS branch delay slots, where assemblers exist (such as GNU gas) that can fill the slot with an instruction. 24.85.180.193 (talk) 04:27, 11 January 2014 (UTC)
replies: text: OK, how about for IA-64 (Itanium) where a 128 bit word contains three instructions, controlling different functional units at the same time.  Hopefully the assemblers provide some help on organizing instructions such that things happen at the right time. Gah4 (talk) 05:44, 29 November 2016 (UTC)
thread_title:  Assemblers scheduling instructions? 

message: One fact to to keep in mind is that code rearrangements that improve performance on one processor may degrade it on another. A compiler (including an assembler) that has an option to do optimization for a specific processor may give result better than an assembler program hand optimized for one processor but run on another. Of course, configuration management will be more complicated if you have to distribute more versions of the object code. Shmuel (Seymour J.) Metz Username:Chatul (talk) 18:40, 22 January 2014 (UTC)
thread_title:  Compiler optimization versus hand optimization 

message: Hi, I've suggested to rename seven User asm categories to User ASM. The lower case names would conflict with the Ethnologue/IANA/ISO asm language code as used in the  magic. The existing  templates -0…-5 and -N won't be affected. –Be..anyone (talk) 05:48, 15 February 2014 (UTC)
thread_title:  User asm 

message: I consider myself an assembler expert, and I've never come accross an erata sheet,
much less one that is treated by a linker. The suggestion ensues that one pass assemblers were the norm in primitive system, while in fact two pass assemblers were, and passing a long source on paper tape was twice done on e.g. Intel's first development system for the 8080. 
Later came the Isis system featuring double 8 inch floppies, and undoubtedly the assembler was two pass, but who to prove it.
80.100.243.19 (talk) 04:21, 19 February 2014 (UTC)
thread_title:  ERRATA sheet, what? 

message: The authors are muddying the waters by considering early on in the discussion of the number of passes  the possibility that the assembler decides whether a jump could be long or short. It is quite common that the assembler forces or allows the programmer to specify the length. Under that assumption the one versus two pass can be discussed clearly. It must also be pointed out that in that case more than two passes are never applicable.
:Address fix-ups and exploitation of short jumps are not the only reasons for multiple passes, especially in the early days. Shmuel (Seymour J.) Metz Username:Chatul (talk) 20:10, 26 February 2014 (UTC)
thread_title:  variable instruction length 

message: User:Ankitapasricha (no talk page) added a sample code section, but failed to mention the language. Any sample code in an article covering multiple languages should indicate the specific language, and, in this case, also the hardware platform. If anybody knows the processor, OS and assembler for the sample code, please update Assembly language#Sample Code to reflect that.
Shmuel (Seymour J.) Metz Username:Chatul (talk) 17:06, 2 October 2014 (UTC)
replies: text: Do we even need this section?  It's nice-looking code and all, but what point is being made by this?  Even if the language is given, do we expect readers to decode the instructions to follow the algorithm?  If the point is just to give a "feel" for assembly, we have an image of some assembly code already included at the start of the article.  --A D Monroe III (talk) 17:46, 16 October 2014 (UTC)
replies: text: I could make a case for having examples, but I could also make a case for not having them, at least in the same article. My major concern is that if there are to be examples that they should be properly identified. I certainly have no objections should you decide to remove the unattributed example. Shmuel (Seymour J.) Metz Username:Chatul (talk) 17:01, 24 October 2014 (UTC)
thread_title:  Sample code missing language 

message: I count myself as an assembler expert, and even have written a few. I never have come accross an errata assembler as described here, let alone as a class in its own standing apart from multi pass assemblers. Is this a crippled way to describe assemblers that give relocatable output? But in that case the term  one pass   is misleading, as relocatable output must be processed by a linker before it can be executed.
I'm so non plussed that I hesitate to try clear things up.  — Preceding unsigned comment added by 80.100.243.19 (talk) 14:09, 2 December 2014 (UTC)
replies: text: I've read about such one-pass assemblers, although I've never encountered one. But then I only started in 1960, and there were a lot of assemblers out by then. Shmuel (Seymour J.) Metz Username:Chatul (talk) 20:17, 2 December 2014 (UTC)
replies: text: I remember stories about Soviet processors, where each came with a list indicating which instructions didn't work.  (Similar to a bad-block map for older disk drives.)  I suspect that having assemblers and compilers that could work with such lists would be useful. I don't know if that is related to errata assemblers, though. Gah4 (talk) 22:59, 29 November 2016 (UTC)
thread_title:  Errata assemblers, huh? 

message: One of my recent edits was reverted: 
While the original version may have been more concise I felt that it was incomplete.  I'd appreciate it if someone could provide another opinion. Peter Flass (talk) 22:45, 12 February 2016 (UTC)
thread_title:  reverted edit - opinions? 

message: Reverse engineering of software/firmware can be used for many reasons, from the most worthy to the most unworthy:
*To address a flaw in a product that is no longer supported by the company who designed it, either because that company is defunct or because they moved on to fancier products...
**for example, the Turbo-C 1.0 compiler has been release into the public domain, but if you try to use a timing function on a modern computer (400Mhz+), it won't work. That particular library function would have to be rewritten for fast computers.
*For educational purpose. Figuring out who things are done.
**for example, you can disassemble any product to learn how good (or bad) algorithms are written.
*For making a competitive product, changing just enough to circumvent a patent.
*for finding the security holes in a product in order to created viruses or other malware.
I wonder if the sentence that was added today in the article, belongs here or better under reverse engineering. Dhrm77 (talk) 13:26, 22 June 2016 (UTC)
thread_title:  Typical applications - reverse engineering 

message: Hello fellow Wikipedians,
I have just modified  on Assembly language. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
*Added archive https://web.archive.org/web/20110708061040/http://programminggroundup.blogspot.com/ to http://programminggroundup.blogspot.com/
*Added archive https://web.archive.org/web/20051124110958/http://www.drpaulcarter.com:80/pcasm/ to http://drpaulcarter.com/pcasm/
*Added archive https://web.archive.org/web/20160304070400/http://cupola.gettysburg.edu/cgi/viewcontent.cgi?article=1001&context=oer to http://cupola.gettysburg.edu/cgi/viewcontent.cgi?article=1001&context=oer
*Replaced archive link https://web.archive.org/web/*/http://win32assembly.online.fr/tutorials.html with https://web.archive.org/web/20051125010505/http://grc.com:80/smgassembly.htm on http://www.grc.com/smgassembly.htm
When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at ).
Cheers.—InternetArchiveBot (Report bug) 02:26, 20 October 2016 (UTC)
thread_title:  External links modified 

message: An assembler for assembling machine language uses Mnemonics to represent the binary codes of machine language. So it is not technically a separate language but an easier to remember alphabet for typing that machine language. Very high level macro-assemblers create what may look like an addition to the language giving rise to the idea that a new and separate language has been created but this article is about Machine Language Assemblers and should avoid such confusion IMHO Scottprovost (talk) 02:59, 14 November 2016 (UTC)
replies: text: You are forgetting (or perhaps you were never aware of) the fact that the vast majority of assemblers, even non-macro assemblers, support symbolic names for memory locations - both for code (branch points) and for data. The assembler must assign numeric locations for each symbol and include the appropriate address in the generated binary code for each of the instructions that reference such locations. So it is not just a matter of changing mnemonic opcodes, etc., into the machine language. Plus, in most modern environments, the output of the assembler is not yet executable; it must be processed by a "linker"; some of the assembler language constructs are interpreted by the linker, or are instructions to it.  Jeh (talk) 19:53, 14 November 2016 (UTC)
replies: text: Usually there is a link step, but not always. For IBM S/360, there is a three card loader that will load an object program, as generated by the assembler, into core and start executing it.  While the usual way to use an assembler is to generate relocatable object code, many have the ability to generate absolute addresses. For the IBM 360/20, the usual way to load programs is with a one card loader. (There is no OS, you just load and run your program.)   Other systems have a similar ability to load and run programs. Gah4 (talk) 22:57, 29 November 2016 (UTC)
thread_title: Machine Language Assemblers

message: Hello fellow Wikipedians,
I have just modified 3 external links on Assembly language. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
*Added archive https://web.archive.org/web/20111210201410/http://www.sparc.com/standards/V8.pdf to http://www.sparc.com/standards/V8.pdf
*Corrected formatting/usage for http://www.drpaulcarter.com/pcasm/
*Corrected formatting/usage for http://grc.com/smgassembly.htm
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
Cheers.—InternetArchiveBot (Report bug) 20:43, 10 July 2017 (UTC)
thread_title:  External links modified 

message: I am not sure if you had intended to link to another article but currently the citation:
Booth, A.D.; Britten, K.H.V. (September 1947). "Coding for the ARC" (PDF). Birkbeck College, London. Retrieved 23 July 2017.
Points to the following document:
Booth, A.D.; Britten, K.H.V. (August 1947). "General Considerations In The Design Of An All Purpose Electronic Digital Computer" (PDF). [Source/Date TBD]
I did search for another PDF to what I think you intended, but could not readily find a PDF.  I did include the following link as it might be helpful in the search for the actual content: http://hopl.info/showlanguage.prx?exp=4929
Thoughts?  — Preceding unsigned comment added by Illusive.D0ct0r (talk • contribs) 13:25, 7 December 2017 (UTC)
thread_title:  Potential Citation/Reference Issue 

message: are there programmable devices, that have assemblers, that aren't computers?  It depends. There are things that aren't computers in the way most people think about them, but then again, you might define anything programmable as a computer. How about programmable hand (or desk) calculators, that are most often not considered computers, but might do many things that one would commonly do on a computer. Assemblers are commonly used for microcoding, that is , for the internal control code of a computer. There are assemblers written specifically for finite state machines that are part of other systems, but not general enough to be computers. One of the less obvious ones, is that IBM OS/360, and likely other IBM systems, use the assembler to generate JCL for doing system generation. The assembler macro facility is general enough to do things other than generate machine code. Gah4 (talk) 04:44, 14 May 2018 (UTC)
replies: text: DOS/360 and TOS/360 certainly did the same thing for stage 1 of a SysGen. Shmuel (Seymour J.) Metz Username:Chatul (talk) 13:09, 14 May 2018 (UTC)
thread_title:  someone asked: ''are there programmable devices, that have assemblers, that aren't computers?'' 

message: I want to add a short description of the origins of assembler. 
(a) the first digital computer an assembler was written for, what it (assembler) was like
(b) it's author
(c) why it is named assembler/assembly language? by whom and when?
(d) did it have another name originally?
Unfortunately, The sources I found are somehow contradictory. 
A number of different views can be found at https://www.quora.com/Why-is-the-assembly-language-called-so
Particularly, it has the following statements:
1. The inventor actually called what we now call an assembler (which converts the mnemonics of Assembly into machine code) a “converter.” 
2. the programmer would convert each symbolic instruction to its binary equivalent, which became known as “assembling” the program. It wasn’t long before someone wrote a program to do the job, and naturally named it the “assembler.” In a backward way, the symbolic instructions became known as “assembler” or “assembly” code.
''
The most reliable source I found is IEEE computer society article David Wheeler 1985 Computer Pioneer Award "For assembly language programming". https://www.computer.org/web/awards/pioneer-david-wheeler
Wheeler's "initial orders" allowed Edsac instructions to be provided in a simple language rather than by writing binary numbers, and made it possible for non-specialists to begin to write programs. This was the first "assembly language" and was the direct precursor of every modern programming language, all of which derive from the desire to let programmers write instructions in a legible form that can then be translated into computer-readable binary.
--P.maistrenko (talk) 14:26, 4 October 2018 (UTC)
thread_title:  To add a paragraph on the origin (the first machine assmenlr was made for, date and authors,) reason ir was naed assembler, etc.  

message: The infobox claims that "assembly language" first appeared in 1949, and the article also has a number of categories relating to that year.  However, I can't find any text or citations in the article justifying that date, and in fact the section on "Historical perspective" claims that "The first assembly language was developed in 1947 by Kathleen Booth for the ARC2".  Seems like an error.
:
:I suspect that, as usual, the exact date depends on the exact definition. One important property of assemblers now is symbolic addressing. It might be that early assemblers (random guess) allowed symbolic opcodes, but not symbolic addressing. You then have to decide if that counts or not. I suspect it took some years to get to the modern definition. Gah4 (talk) 20:17, 20 April 2020 (UTC)
thread_title:  "First appeared 1949" -- did it? 

message: The second paragraph of the paper written by the Booths begins:
:"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 ..."
Kathleen Booth's 1947 contribution to the field began with a 1946 trip by her future husband, Andrew Booth, to the USA, spending time at Princeton, gaining insight into the field from Prof. von Neumann. The following year they both came, for a longer (6 month) visit. 
Their 1947 paper envisioned parallel arithmetic units and/or a large memory. Each parallel unit would possibly do 100 calculations per second, and a large memory would be 1,000 to 10,000 "numbers" of "approximately 40 binary digits." After talking theoretics, they labeled this "quite impracticable."
Over a decade later the word sizes of 36 bits (e.g. IBM 7094) were the high end,
and while 32K did exist by that time, earlier machines were typically in the 4K range.
In short, since programming in those days meant flipping switches, Kathleen Booth's work was not the writing of an assembler, with or without a symbol table. It was really about not having to flip switches over and over, but rather recording binary values on paper tape.
One someone or several someones, together or at similar times but isolated from one another, developed assembly language. The "is credited" wording seems short and to the point. The Von Neumann reference isn't really necessary - it would require splitting all of this into sections to cover
* Andrew Booth's 1946 trip
* The six month follow up trip by both Kathleen and Andrew
* Kathleen's flipping of switches - early day "programming"
* Their review of possible memory types, including paper tape, magnetic tape, magnetic drum
* Her theoretical work, which didn't product an actual assembler program, since symbolic characters were not even part of the system - there were no character strings.
It should be understood that even Project Whirlwind didn't meet all of the goals envisioned by the Booths.   To recap, even "is credited" may be an overstatement, but to say that she actually wrote an assembler, on a machine that didn't deal in character data, is untrue. Pi314m (talk) 07:34, 10 February 2019 (UTC)
thread_title: Kathleen B, 1947, Assembly language

message: The last three paragraphs of Assembly language#Assembly directives have nothing to do with Assembly directives
Symbolic assemblers let programmers associate arbitrary names (labels or symbols) with memory locations and various constants. Usually, every constant and variable is given a name so instructions can reference those locations by name, thus promoting self-documenting code. In executable code, the name of each subroutine is associated with its entry point, so any calls to a subroutine can use its name. Inside subroutines, GOTO destinations are given labels. Some assemblers support local symbols which are lexically distinct from normal symbols (e.g., the use of "10$" as a GOTO destination).
Some assemblers, such as NASM, provide flexible symbol management, letting programmers manage different namespaces, automatically calculate offsets within data structures, and assign labels that refer to literal values or the result of simple computations performed by the assembler. Labels can also be used to initialize constants and variables with relocatable addresses.
Assembly languages, like most other computer languages, allow comments to be added to program source code that will be ignored during assembly. Judicious commenting is essential in assembly language programs, as the meaning and purpose of a sequence of binary machine instructions can be difficult to determine. The "raw" (uncommented) assembly language generated by compilers or disassemblers is quite difficult to read when changes must be made.
I'd probably move the text to new subsections of Assembly language#Key concepts or Assembly language#Language design.
Also, some compilers generate assembly language with comments or pseuodo-assembly listing with comments, e.g., many of IBM's PL/I compilers. Shmuel (Seymour J.) Metz Username:Chatul (talk) 18:10, 14 April 2019 (UTC)
thread_title:  Misplaced text 

message: The following Wikimedia Commons file used on this page has been nominated for deletion:
* 
Participate in the deletion discussion at the . —Community Tech bot (talk) 23:38, 26 July 2019 (UTC)
thread_title:  A Commons file used on this page has been nominated for deletion 

message: Some editorial comment indicated that it was unclear that the listing and code-generation would occur during the second pass.  That's expected, since forward-references to symbols meant that the required values wouldn't be available until the whole source was read/parsed.  And yes, reading a card deck or paper tape more than once was a little inconvenient TEDickey (talk) 23:16, 20 April 2020 (UTC)
thread_title: two-pass assemblers

message: C was more popular than assembly for these 68000 based home computer systems. Rcgldr (talk) 14:34, 11 September 2020 (UTC)
replies: text: Most of games and demos were written in Assembly but strategy/RPG/adventure games (ported from PC & Mac) and OSs and utilities were written in C. So it's not easy to say which language was more popular, both were very important. Hobbyists also used a lot of BASIC (and STOS/AMOS) --84.248.217.94 (talk) 10:22, 3 August 2021 (UTC)
thread_title:  Historical perspective - Atari St - Commodore Amiga 

message: In many assemblers, pseudo-ops used inside of macro definitions can also be used in open code, and the article does not discuss this. As a start, I added the text below, which user:Wtshymanski reverted:
There is a lot of code that uses these facilities outside of macro definitions, and I believe that the existing text on assembly language macros is misleading without a discussion of the use of them in open code. --Shmuel (Seymour J.) Metz Username:Chatul (talk) 14:40, 10 September 2021 (UTC)
thread_title:  Macro facilities in open code 

message: This article cites Tiobe reporting around 2.5% usage of assembly language. WebAsembly is not listed at all amongst 100 languages. Given the expectation that the latter is used more than the former, Tiobe may have mixed up these two. The Wikipedia article on the latter confusingly refers to the former.  — Preceding unsigned comment added by Jgeer (talk • contribs) 23:27, 7 November 2021 (UTC)
thread_title:  Tiobe mixing assembly language with WebAssembly ? 

message: In several assemblers, pseudoops meant for defining macros can also be used in open code.
I added the text "" 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)
replies: text: 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)
replies: text:  The list of pseudo-ops may be TMI, but surely the fact that they are allowed in open code belongs there. How about just ""? --Shmuel (Seymour J.) Metz Username:Chatul (talk) 01:42, 23 November 2021 (UTC)
replies: text: 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)
replies: text:  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)
replies: text: 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)
replies: text:  "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)

text: 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)
replies: text: 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)
thread_title:  Macro pseudo-ops in open code 

message: I don't know if there is a good place to include this as a reference, but there is a short video series that is very good at explaining how assembly language works called Assembly Primer For Hackers. Hopefully there is a place to use this as a reference. Maybe in external links? -- Ubh [talk... contribs...] 05:51, 18 November 2023 (UTC)
replies: text: I watched the first few minutes of the introduction and it appears to be tailored to assemblers on the Intel 32-bit x86 rather than assemblers in general. -- Shmuel (Seymour J.) Metz Username:Chatul (talk) 18:59, 29 November 2023 (UTC)
thread_title:  Assembly Language Primer For Hackers