Language…
16 users online: Bonobi, DucAnh13, GiraffeKiller, h.carrell, Hayashi Neru, Jordan, Kerfuffle, Knetog,  Major Flare, ModernKiwi, MorrieTheMagpie, nanec, smwln,  Teows, TS_N, Ziz - Guests: 88 - Bots: 220
Users: 55,613 (2,424 active)
Latest user: 5ive

What is ASM?

I've heard of it a million times on this website, but despite being a SMW hacker, I still don't know what it is. (Bad me!)

My YouTube username is DTE225.
It is basically the main programming language the SNES uses. With it, you can modify SMW's code to your liking, provided you know what you are doing.
My YouTube channel
Get the official ASMT resource pack here!

ASM is a powerful programming language that SNES uses where you can build your own custom sprites, custom blocks, etc. using SMW code
Check my page http://marioepicjourney.blogspot.com to find more updates about my hack Super Mario: The Epic Journey.
Originally posted by dahnamics
ASM is a powerful programming language [...]


"Powerful programming language" is not quite it. C#, for example, is a powerful programming language. ASM is... well, it's literally just machine code. Nothing powerful about it.
Feel free to visit my website/blog - it's updated rarely, but it looks pretty cool!
Originally posted by RPG Hacker
Originally posted by dahnamics
ASM is a powerful programming language [...]


"Powerful programming language" is not quite it. C#, for example, is a powerful programming language. ASM is... well, it's literally just machine code. Nothing powerful about it.

Yeah, 65816 ASM isn't even Turing complete (it doesn't have infinite RAM).

It is also quite annoying to work with. The useful action : lines of code ratio is far too low for my tastes. Far too much shuffling junk in and out of the registers, and there is no such thing as a stack mismatch in C++ either.

Additionally, I need to watch out for slowdown and not waste RAM either on 65816 (128 kilobytes is pretty slim, especially when most of it is used already).
<blm> zsnes users are the flatearthers of emulation
Good point. I stand corrected. It's useful for SNES but languages such as C++, Python, Perl, IDL and the like are powerful.
Check my page http://marioepicjourney.blogspot.com to find more updates about my hack Super Mario: The Epic Journey.
Define "powerful."

Higher level languages can get stuff done fast. That's their power.
Assembly can do stuff efficiently. That's its power.


Assembly is potentially the most powerful language there is. It's just that reaching said potential often takes a hell of a lot of programmer time.


For SNES assembly in particular, it's lacking some useful opcodes but otherwise ain't that bad (for its time). Most of the limitations have to do with hardware.
Baby don't hurt me, don't hurt me, no more...

Er... anyway, ASM is to turing complete, the infinite ram thing is a hardware limitation, not a language limitation. Yes the SNES has a finite addressable memory map, but that can be solved in theory by bank switching (as MPU stuff does) and it is still not a limit on the structure of asm it's self as much as the machine code that it translates into. Plus I think turing completeness only requires that the language in theory could do anything if infinite ram were possible, not that it has infinite ram.

That aside, ASM is only as powerful as the programer is clever at using it. I guess that could be true with any language, but the point is ASM requires a whole hell of a lot of cleverness and ingenuity to do things. But once you figure out how to do things, it's as powerful as a language can get.
Your layout has been removed.