Good beginning assembly language for teaching about stack function calls We are considering integrating our processors design and architecture course with our assembly programming course by using the same processor for both. The processor class (which does its work in Logisim) does not have to necessarily implement the entire processor used by the assembly class.  A usable subset would be fine.

The assembly class focuses on stack operations, function calls, and PC operations, so any assembly language that we move to would have to support these as well.

Currently, our assembly class uses 6502, which has 6 registers (including flags), and a very limited number of commands.  This might end up being our best choice for integrating into processors, as I have not found anything simpler yet.

As far as the processor design class is concerned, 8-bit machines are about twice as good as 16-bit machines, and about 4x as good as 32-bit machines, and I'd like to keep the number of registers down to a manageable number.  6502's 6 registers is pretty reasonable.

The only assembly language for beginners that I have found is ACSL assembly, but it lacks a memory bus entirely (so no stack).  Are there other languages that I am overlooking?
Go with the 6502. Its market penetration and popularity has generated a lot of resources over the years, giving you more to work with. Looking into the "home-brew CPU" realm should supply significant material to make reproducing the 6502 in Ligisim fairly easy. It already has a small instruction set (around 150 operations) that includes stack operations. There are also several assemblers available that will allow you to cross-assemble the code on a PC and load it into the 6502.

As a bonus for the students, because of its popularity, there should be a few programs in the wild that you can get for the architecture students to run after they build the processor. Of course, that means they'd have to implement the whole processor, but it also gives them the boost of making the processor that will run a "real" program off the Internet.

As a bonus for you, since you've already been using it for the assembly class, you already have the materials, lessons, and experience for the assembly class and can concentrate on building lessons for the design class.