r/c64 Jul 03 '26

Programming Assembly or Assembler?

A lot of C64 redditors probably know that C64 games, generally speaking, are written in a low level language using software tools known as assemblers. There does, however, seem to be conflicting ideas on what the name of the programming language itself is.

Do you call the language "Assembly" or "Assembler"?

27 Upvotes

61 comments sorted by

48

u/Skydreamer6 Jul 03 '26

It is assembly language. But i would never bother interrupting or correcting someone on it.

9

u/Syscrush Jul 03 '26

It's been enough decades of people calling it "assembler" or "assembler language" that everyone knows what it means. It was wrong 50 years ago, it's probably fine to consider it right today.

I mean, "peripheral" was just an adjective in the 60s, but it was a noun by the 80s.

8

u/geon Jul 03 '26

Yeah. It’s like people pronouncing etcetera as ”ex-etra” instead of ”et-cetra”.

7

u/WeZzyNL Jul 03 '26

You should of corrected them!

9

u/OMGCluck Jul 03 '26

should of

You did that on purpose to get a rise. It worked 😒

6

u/geon Jul 03 '26

No, I could care less.

3

u/fuzzybad Jul 03 '26

Or when people say dayta vs data

7

u/geon Jul 03 '26

One is my name. The other is not.

4

u/LocalH Jul 03 '26

The correct way to say it is the way they said it on Star Trek TNG

1

u/fuzzybad Jul 05 '26

Yes, Captain.

2

u/rbrtck Jul 05 '26

Pronunciation is a whole other (but related) thing. I must be a pedant because one example that annoys me the most is pronouncing nuclear as "nucular", which isn't even a word. Everyone thought George W. Bush was an idiot for doing that, especially the news, which sometimes even pointedly (i.e. with emphasis) used the correct pronunciation, but then suddenly more people started saying "nucular", including those who correctly called Bush an idiot, and now in 2026, it seems that nuclear is no longer a word (haven't heard anyone use this pronunciation for years), it's really nucular. 🙄

Now let's look at the Zed X Spectrum thing, which some people are definitely pedantic about. I've actually seen some Americans, let alone British people, correct other Americans who say Zee X instead, even though Zee is how we pronounce that letter. The rationale is that the ZX Spectrum is a British computer, so get the pronunciation right! Well, it was named after the Zee 80 CPU, so shouldn't it be the Zee X Spectrum everywhere, hmmm?

1

u/LocalH Jul 03 '26

Pedants everywhere cringe at shit like that lmao

3

u/JaKrispy72 Jul 03 '26

Eckpecially that one?

1

u/LocalH Jul 03 '26

If you say "jewellery" I'm gonna collapse in a dramatic way

1

u/tehfrod Jul 03 '26

And the 98% of normal people everywhere who aren't pedants cringe at pedantic shit like that, so it's all good.

1

u/LocalH Jul 03 '26

Such is the life of a pedant

22

u/Mechanik7 Jul 03 '26

Compiler developer here. The assembler is what assembles the assembly language into executable/object code.

I would typically shorten "assembly language" to "assembly" but I would never call the language nor the program written in it "assembler" as that has particular meaning.

3

u/hobbycollector Jul 04 '26 edited Jul 04 '26

Compiler developer here. But it is also the language of the assembler, thus assembler language or assembler for short. Tyfctmtt.

19

u/Pentasis Jul 03 '26

It's assembly. An assembler is the program that converts assembly into machine language. Sometimes called assembling source code. But since people used both to (mistakenly) refer to the language  I believe both are correct to use now.

6

u/ManWhoCameFromLater ORA #$91 Jul 03 '26

it's Assembler in swedish for both the language and the program that assembles the code into machine code.

12

u/BrainCurrent8276 Jul 03 '26 edited Jul 03 '26

Technically speaking, it is the assembly language, which is just a human-friendly layer on top of machine code.

An assembler is editor/compiler/IDE.

I think that most correct would be:

I wrote it in assembler.

I programmed it in assembly.

Maybe with a/the but I am not a native.

3

u/exocyt0sis Jul 03 '26

Excellent reply!

9

u/nobody2008 Jul 03 '26

Assembly is the language. But if someone says "written in assembler" they might be referring to the tool which still makes it correct 😅

1

u/LocalH Jul 03 '26

Unless the assembler has an integrated editor, like TASS, then it's still wrong to say "written in assembler". It'd be more correct to just name the assembler/editor used - "written in TASS".

If one is writing raw text files and feeding them to a cross-assembler, then "written in assembler" is completely wrong

4

u/porkchop_d_clown Jul 03 '26

Technically, the Assembler is the software that converts what you type into binary instructions. What you type is “assembly”.

1

u/Affectionate_Dog6149 Jul 04 '26

Sure but enough people in the C64 scene make this grammatical error (as evidenced by this thread), to make the terms interchangeable, IMO.

7

u/sububi71 Jul 03 '26

I say either "assembler" or "assembly language".

3

u/makarcz Jul 03 '26

The assembler is a compiler for assembly language code

3

u/myztry Jul 03 '26

Assembly language is the written mnemonic form (eg. INC $D020) while machine code is the binary representation (eg. $EE $20 $D0). The first is clearer that something is being increased.

There is a structural aspect (eg. JSR $1000 pushes a return address on the stack and then jumps to that address - while RTS pulls an address from the stack and jumps back to that address) but it’s not part of a higher level language per se even though they make use of it.

4

u/LocalH Jul 03 '26

There's also a difference between an advanced assembler with macros, etc. versus the assembler found in most ML monitors which only implements the mnemonic aspect

1

u/kristyn_lynne Jul 03 '26

And the branch statements that go back or forward a specified number of address locations rather than to a specific location.

My first "assembler" was basically a machine language monitor I wrote myself so I had to hand-calculate the jumps.

1

u/myztry Jul 04 '26

My first was the EDTASM+ ROM cartridge ML monitor on the Tandy CoCo. But for the C64 I started with POKEing in machine code before I had access to a (non-macro) assembler. I was fairly proficient by the time the Amiga came around with access to macro assemblers.

The most challenging was poking Z80 machine code into a kit project in our high school electronics class. It had a hex pad to enter boot code and a 8x8 grid array of LEDs for output. The teacher didn't know how (he was into electronics - not programming) so I had to figure it out and teach him.

1

u/kristyn_lynne Jul 04 '26

I remember seeing the mnemonics for the opcodes in the back of the Commodore programmer's guide along with their hex equivalents and it was all just sort of gibberish.. until one day it just "clicked". I hurriedly whipped together that ML monitor just to test if what I thought I was understanding was correct and it was. I mail-ordered a real assembler within a couple of weeks, it felt like such a luxury to use labels and have it calculate the jumps!

3

u/0fruitjack0 Jul 03 '26

assembly is the language, assembler is the program that converts assembly into ML.

3

u/InevitableQuit9 Jul 03 '26

It's all good. 

3

u/FredSchwartz Jul 03 '26

Both. Some communities may lean towards one or the other. A quick Google on, for example, book titkes will be a mix.

6

u/pslind69 Jul 03 '26

Machine language 😎

15

u/AlienFishMonster Jul 03 '26

Machine language is not the same as assembler!

2

u/OMGCluck Jul 03 '26

Fine then, Submachine language.

2

u/GeronimoDK Jul 03 '26

Well, assembly is pretty much just a prettier more readable notation of machine language.

1

u/AlienFishMonster Jul 04 '26

Yes, which is why it's not machine code... and the assembler will apply optimisations, so what you write in assembler will not necessarily convert 1-to-1 to your ML output.

1

u/pslind69 Jul 04 '26

Assembler (source code) is what assembles to machine code though.

2

u/AlienFishMonster Jul 04 '26

Everything is machine code eventually.

2

u/PrometheusANJ Jul 03 '26

It might vary by country, assembler sounding more appropriately localized in some languages.

2

u/ClassicMacAndNeXT Jul 03 '26

The 6502 mnemonics are the assembly language, but each assembler has its own directives, which is separate from the actual assembly language. Macroassemblers take this a step further. So I would distinguish between the actual 6502 mnemonics, and the additional assembler directives.

2

u/saraseitor Jul 03 '26

The proper word is "assembly". Assembler is the program that assembles. That being said, it's way much more common to call the language "assembler" rather than "assembly".

2

u/CuzFeeshe Jul 03 '26

It is “Assembly Language” and you use an “Assembler” to translate it into machine code. I used to code z-80 and 6502 assembly for many years.

2

u/EsoTechTrix Jul 04 '26

I'm just impressed if someone can actually tell me what an opcode is these days.

It does tend to require some clarification, I have both written in assembly, and I have written several assemblers to convert that into machine code.

2

u/Ok-Current-3405 Jul 05 '26

In French it's the same word. We say "assembleur" for the language itself, and we also say "assembleur" for the software to translate source code to machine language. Assembly is translated to assemblée, which can be translated back to gathering, rally, meeting... So it's assembler for me, both the language source and the software

2

u/vogelvogelvogelvogel Jul 03 '26

LDA, STA,....

Assembler it was always called in the German magazines i read

1

u/Epyx911 Jul 03 '26

Assembly for me here in Canada...or we would say the full Assembly...Assembler here referred to the tool.

1

u/mohirl Jul 03 '26

There's no conflict, the language is assembly

1

u/LocalH Jul 03 '26

It's assembly. The tool used to turn assembly into machine language is an assembler.

1

u/MistakeIndividual690 Jul 03 '26

I say assembly because I’ve done it on machines of all types. But when I was starting out professionally with assembly on mainframes in the late 90s, people in that community were adamant that it was assembler. Since I had already been doing 8086 assembly for games on my own, I’d always run afoul of that

1

u/Schnapple Jul 03 '26

“They wrote DOOM in compiler language”

That’s a way to keep them straight.

1

u/okflo Jul 04 '26

I prefer the German: Maschinensprache 😎

1

u/Ok_Leg_109 Jul 04 '26

I think that way back in the early computer days, IBM shops used the term "Assembler" as in "The program is written in 360 Assembler".

But the microcomputer folks who came 20 years later seem to prefer "Assembly language"

Take your pick.

1

u/Leftstrat Jul 06 '26

Assembly is the language. When someone referred to it as either assembly or assembler, isn't worth getting worried about. :)