Can I create an assembly language?

Hi.
Can I create an assembly language for INTEL or AMD?
Or only the manufacture of these hardware can do that.
Thanks
Yes, an Assembly language is defined solely as the language that an assembler accepts as input. For example, NASM's Assembly is different and incompatible from MASM's Assembly, and even more different from GAS's Assembly, even though all three assemblers target x86. Typically, though, an Assembly's grammar is heavily influenced by the ISA and by the need to have a 1-to-1 correspondence between Assembly and machine code, so an assembler can't be extremely creative in this department.
So, you mean No. we can't invent an assembly language?
Of course, we can create a new language like C++ or Java, but we cannot create an assembly language, because it's related to only the manufacture of that hardware. Assembly is burned into the hardware only once.am I right?
If we can create an assembly language for INTEL or AMD hardware, so what is the use of assembly? We can Only program in OOP, no need for assembly.
If we don't know the assembly for INTEL hardware, how can we create a different assembly language for that product?
So, you mean No. we can't invent an assembly language?
Err... No, that's the exact opposite of what I said.

we cannot create an assembly language, because it's related to only the manufacture of that hardware. Assembly is burned into the hardware only once.am I right?
No. Like I said, the syntax is influenced by the ISA. For example, an assembler will generally use the mnemonics the manufacturer provided in the documentation. This is not a strict requirement, though. It's done this way simply because it makes it easier for programmers to use available documentation. There's nothing preventing you from taking NASM and modifying it so that the meanings of MOV and ADD are swapped. It's a bad idea, is all.
The hardware only cares that the binary code is valid.

If we can create an assembly language for INTEL or AMD hardware, so what is the use of assembly? We can Only program in OOP, no need for assembly.
???

If we don't know the assembly for INTEL hardware, how can we create a different assembly language for that product?
I don't follow. Any CPU will include a manual describing all the instructions that the CPU accepts. See for example the Intel manuals: http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
An assembler developer (i.e. someone who develops an assembler) can construct a language from such a document.
I got it. Thanks for your answer.
Last edited on
Topic archived. No new replies allowed.