>>>> "Bert" == Bert Thomas
<bert(a)brothom.nl> writes:
Bert> Fred Cisin wrote:
> This fall, I get to teach Assembly Language
again! (after 2
> years) They've scheduled it for Saturday morning, which sucks, but
> it's still worth it.
>
> I need to make some decisions about some of the content. Should I
> include discussion of the .Net IL assembler?
Bert> I'm not sure. I hate proprietary microsoft stuff, therefore my
Bert> guess whould be no.
> How much on other kinds of processors? (RISC)
Bert> That should be covered in another class: computer
Bert> architecture. I think it would suffice if you only discussed
Bert> intel, since that allows students to experiment with what they
Bert> learned. Assembly languages are all so much related that if you
Bert> learned one, you easily learn any other. At least that is my
Bert> experience.
If at all possible, teach assembly language on ANY machine OTHER than
Intel. There's nothing within an order of magnitude as ugly, baroque,
or bizarre as the x86 instruction set architecture; not even the
IBM/360 comes close.
Not only are RISC machines easy to implement, they are also easy to
understand at an assembly language level. MIPS has just one crock
(delay slots); Alpha is even better.
Making any of them fly is another matter -- you can't do that with ANY
contemporary machine until and unless you really understand how it
schedules instructions. And for modern machines that takes quite a
lot of study (for RISC as well as x86). But to get started on writing
just *correct* assembler code, RISC is a breeze.
Run Unix, it has a much simpler ABI. Or use a bare machine -- serial
line output is trivial, certainly once you've initialized the UART.
Interrupts? Sure, at some point. Not necessarily day 1. For one
thing, embedded systems don't necessarily use interrupts.
paul