I need some machine code wrote for some simple CPU instructions for a simulation project here are the details:
Specification & Design
Specify and design a suitable instruction set format for a new small, embedded
microcontroller. The designed instruction set will be presented in a "data sheet" style where
the details for each instruction, including examples of their usage, will be given which can be
useful for an assembler programmer, a compiler writer or a hardware design engineer. The
following are the specification for the microcontroller:
The instruction set
• Move register to register; number to register
• Swap two register values
• Add register value to register value; number to register value
• Subtract register value from register value; number from register
• Increment register value by 1
• Decrement register value by 1
• Compare register value with register value;
• Jump unconditionally to an address location
• Jump to an address location if less than or equal to
• Jump to an address location if equal to
• Store register value to addressed memory location; number to addressed memory
• Load value of addressed memory location to register
• Processor speed: 50 MHz
• Number of registers: 16 16-bit general purpose registers
• RAM size: 4096 bytes
• Flash memory: 64 Kbytes
• Programmable I/O: 10 I/O pins
1. The instructions are to be given suitable mnemonics (2, 3 or 4letters).
2. The instruction formats to be determined at design time.
3. Instructions can be fixed or variable size (in bits and bytes).
4. Store and load instructions must allow for only two indirect memory references:
register-indirect and memory-indirect.
5. If deemed necessary and appropriate, some of the 16 general-purpose registers may
be used for more specialised purposes.
6. There will be a CPU status register with the following two flags:
Z: zero flag (indicating result of most recent compare instruction giving zero,
i.e. two values compared are the same)
N: negative flag (indicating result of most recent compare instruction giving a
value other than zero, i.e. two values compared are not the same)
The data sheet will have the following format
• Front sheet
• Table of contents page
• 1st page: Description of instruction format(s) with details of instruction fields.
• 2nd page: List of all instructions, registers, addressing modes and their descriptions.
• 3rd page: Examples of usage of each of the available instructions.
• Conclusions (e.g. comments on the instruction set, what is missing, its limitations,
• how it can be further improved if given more time to do so).
There is no limitation on the number of words. However, you should limit the data sheet to
no more than 6 pages as detailed above (tables and figures should help here). There should
not be any need for appendices. You will need to do some serious research to familiarize
yourselves with the design of basic CPU instruction sets as the lectures and the lab work are
not likely to offer detailed enough support. However, you should be able to use your lecture
notes and your research results to derive at some sensible conclusions in order to support
your own work. You will also need to read the recommended text books on computer
architecture in order to gain basic appreciation of the design goals for typical CPU
instruction sets and the functional features common to most CPU instruction sets whatever
the application areas are.
8 pekerja bebas membida secara purata £130 untuk pekerjaan ini
Sir I have vast experience in operating systems,u can view my profile and complete on time.I am a full time freelancer, working for more than 2 years now. Have clients from different parts of the world.
Hey! Please check my reviews and profile to know more about me and my work. I have worked and designed various CPUs in the past and willing to help you out on this as well. Hope you’d contact. Thank you!