Reccomend a CPU emulator to teach assembly program

Miscellaneous Forums/General Discussion/Reccomend a CPU emulator to teach assembly program

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

I have to teach some basic assembly language programming as part of a new course I have been forced to introduce. (Edexcel BTEC National Award {Level 3 = A Level equivalent} - IT for General Practitioners in case you care !)

Here are a few of the criteria, taken from the syllabus...


Machine and assembly language programming: design simple machine and/or assembly language programs to use data transfer, arithmetic and jump and branch instructions

Pass grade
========
write very basic program functions (such as fetching and adding together two numbers, and storing the result) in a low level language

Merit Grade
========
describe, with the aid of diagrams, the hardware including logic gates, registers, buses, CU, ALU and memory) and its function within a model microprocessor

design and write programs in a low level programming language which include data transfer, arithmetic, jump and branch instructions.

Distinction
=======
describe in detail the function of the fetchdecode-execute cycle and its relationship to the workings of a microprocessor, making detailed reference to the role played by hardware and software in this relationship



I did some assembly language programming decades ago (Z80A on ZX81 and 6502 on BBC + some 68000 on a university rig) but haven't touched it since then.

So......

Can anyone recommend an emulator that can be used to teach assembly language programming to A level students who have no programming experience at all. {Most won't even have recorded a macro in VBA}

Better still - does anyone know of an online course attached to a CPU emulator that I can make use of ?

Or.... would people recommend adopting an x86 emulator as being relevant to modern computing (as opposed to old 8 or 16 bit machines that might be conceptually easier, but lack proper applications) ?

N.B. I have just finished teaching binary representation (e.g. bin/oct/hex + fixed and floating point with basic arithmetic) and the students coped reasonably - although most of the math would be accessible by analogies to denary work carried out at GCSE

[edit]
.... and here is the real kicker - I have to deliver the criteria above in about 10 or fewer hours of teaching !!!!
[/edit]