News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

64-bit assembly language example programmes for 15 instruction set architectures

Started by lucho, September 25, 2024, 04:44:12 PM

Previous topic - Next topic

lucho

During my job (from which I retired) of teaching assembly language, I've written a set of examples (from easiest to most difficult) which then translated to 21 other 32-bit instruction set architectures (ISA).

As 64-bit computing has now become prevalent, I've translated them to 15 of the 64-bit ISA too.
You can see their listings on my site, https://lucho.ddns.net/ and download the AMD64(x64)/UASM versions there.
Anyone who needs them for another ISA, please let me know and I'll translate the comments from Bulgarian to English and if needed, I can also provide SSH access to a Linux machine with that ISA.
Below is a list of these 15 ISA (those in parentheses are emulated only – I don't have real machines for them):

AMD64, ARM64, PPC64, SPARC64, MIPS64, RISCV64, LoongArch64, (S/390x, ARC64, Alpha AXP, MMIX, PA-RISC 2.0, TILE-Gx, IA-64, E2K)

jj2007

Hi Lucho,

Thanks for this, very interesting :thumbsup:

There might be some confusion about "15 instruction set architectures". It seems they are all using the x64 instruction set... so what do you really mean? 15 what?

_japheth

Quote from: jj2007 on September 25, 2024, 05:40:04 PMThere might be some confusion about "15 instruction set architectures". It seems they are all using the x64 instruction set... so what do you really mean? 15 what?

The architectures are listed in the OP:

  • AMD64
  • ARM64
  • PPC64
  • SPARC64
  • MIPS64
  • RISCV64
  • LoongArch64
  • S/390x
  • ARC64
  • Alpha AXP
  • MMIX
  • PA-RISC 2.0
  • TILE-Gx
  • IA-64
  • E2K

Dummheit, gepaart mit Dreistigkeit - eine furchtbare Macht.

zedd151

Should this really be in Microsoft 64 bit Masm -> Examples??? I dont think that Masm64 programs can be built with many of those architectures or their instruction sets. Board description: "64 bit MASM examples"
But - to be fair - I am unsure where this would fit. If I am wrong, apologies.
"We are living in interesting times"   :tongue:

lucho

I agree that this may not be the most suitable section for this post, but I was unable to find a more suitable one. If anyone can suggest a better one, I can post this there too, provided that such a cross-posting isn't forbidden by the forum rules. And yes, only the x64 (AMD64) versions can be built by UASM (not MASM). There are AMD64 versions for the GNU Assembler (GAS) too. The translations to the other 14 instruction set architectures (ISA) are also intended for GAS. All this can be seen in the listings.

I could translate all comments into English in advance, but I'm too lazy, so I'll wait until someone really needs this for a certain ISA. (If you really need it, don't hesitate to urge me, because laziness is bad!)

zedd151

Quote from: lucho on Today at 03:40:25 AMI agree that this may not be the most suitable section for this post, but I was unable to find a more suitable one. If anyone can suggest a better one, I can post this there too, provided that such a cross-posting isn't forbidden by the forum rules.
I didn't find anywhere that might be more suitable either, but even if there was you wouldn't have to make another posting - the admin or global moderator can simply move this one if it is deemed necessary.  :smiley:
Interesting topic though.  :thup:

stoo23, Biterider... is there possibly a better place for this topic to be moved to?
"We are living in interesting times"   :tongue:

stoo23

Hmmm Gee ... Miscellaneous Projects  perhaps ??

Once again,.. even WITH all the various Categories & Sub Categories I can only agree that there isn't really an instantly recognizably suitable section,..  :rolleyes:  :undecided:

Am open to suggestions  :smiley:

zedd151

Actually Miscellaneous Projects seems like the most ideal to me, now that you mention it stoo.  :thumbsup:  Somehow I missed that.   :biggrin:
"We are living in interesting times"   :tongue:

stoo23


NoCforMe

Not so fast.
Judging by what the OP said, these are 64-bit examples, so should remain here:

Quote from: lucho on September 25, 2024, 04:44:12 PMAs 64-bit computing has now become prevalent, I've translated them to 15 of the 64-bit ISA too.
Assembly language programming should be fun. That's why I do it.

zedd151

Quote from: NoCforMe on Today at 08:11:05 AMNot so fast.
Judging by what the OP said, these are 64-bit examples, so should remain here:

Its under the "Masm 64 bit" - "Examples" board, Description:"64 bit MASM examples"
That is why the move was suggested. If others including the OP agrees with you, then I will go along with that.

Even lucho was unsure of the suitability of this board, but may find the other board acceptable.
QuoteI agree that this may not be the most suitable section for this post
"We are living in interesting times"   :tongue:

NoCforMe

Well, unless you're going to go ahead and create a sub-forum called "Non-MASM 64-bit examples", I suggest you just leave it here and stop wringing your hands over it.
Assembly language programming should be fun. That's why I do it.

zedd151

Doesn't really matter to me either way. I was just questioning whether it was suitable to be here.

My mistake, I won't mention any scenarios like this again. This whole part of the discussion can probably be removed.  :sad:  from this post #3 to this post that this is in. #12  :undecided:
"We are living in interesting times"   :tongue:

stoo23

Hmmm,.. gee, perhaps MY suggestion of Miscellaneous Projects was a bit 'hasty' especially with consideration of both NoCforMe's and zedd151's comments.

THIS section, whilst named Examples, is a sub category of a section mot merely called MASM but specifically Microsoft 64 bit MASM !! The first 'M' being creatively pointed out to another member here recently I should add  :wink2:  I am unsure how all or any of the following:
Linux®, Solaris®/FreeBSD®, NetBSD®, macOS®
or
AMD64 ARM64, PPC64, SPARC64, MIPS64, RISCV64, LoongArch64, S/390x, ARC64, Alpha AXP, MMIX, PA-RISC 2.0, TILE-Gx, IA-64, E2K actually 'fits' being situated under a Microsoft Heading  :undecided:  :rolleyes:  :smiley:

With further consideration, would not placing it in the 64 bit assembler section be more appropriate??
Perhaps a New heading relating to Non Microsoft languages and Architectures.

Appropriate Title to be decided  :smiley:

NoCforMe

How 'bout we just stop worrying about this niggling detail; close enough is close enough.

Unless you really want to create a sub-forum entitled 64-bit examples that are not MASM, or some such.
Assembly language programming should be fun. That's why I do it.