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]
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]
