This is really interesting. Could someone who is familiar with this answer whether this might be a decent resource to teach students assembly language?
Depending on the age and programming knowledge of your students, Human Resource Machine may also be worth a look. It's simpler and more removed from real assembly than Shehzhen and similar games, but still teaches the concepts needed to "think in assembly".
I'd take Corewars for that. It's even more realistic than TIS-100, the last game by the company that made this, which focused on programming assembly for an imaginary computer with an instruction set designed by evil jerks, build specifically for massively parallel computation.
Depends on what level the students are and what depth you want to teach them at. It's really a puzzle game that happens to use an extremely simplified assembly language as its interface. Students would get the general flavor concepts of programming at the assembly language level but it's only coarsely similar to programming a real device. Moreover, the game is inherently multi-threaded, which adds a level of complexity.
If your students are at the primary or secondary levels, a less complicated but similar game like "Human Resource Machine" ( https://tomorrowcorporation.com/humanresourcemachine ) would probably be easier for them to grasp.