Find Jobs
Hire Freelancers

Build a Software

$10-30 USD

Abgeschlossen
Veröffentlicht vor mehr als 6 Jahren

$10-30 USD

Bezahlt bei Lieferung
you are to write an emulator for the y86 instruction set using the C programming language. The y86 architecture is a very small subset of the x86 instruction set which performs many of the essential functions of x86 and which is useful for teaching and research purposes. I've included a number of documents about y86 which has all the essential details about the architecture, including a chapter from the textbook for which the instruction set was developed. Your emulator should read in a text file that contains only the opcode bytes representing the program. The file will be plain ASCII text file representing the bytes in either lower or uppercase (expect to see "30f4b8" or "30F4B8"). You can assume the file contains no spaces or line breaks, only characters representing the program's bytes. Your emulator should verify the input from one of my test programs is valid. Use the test program in Chapter 4 of CS:APP (attached) to create a test program of your own. Some others can be found online (the authors of that book have a number of them). Load the program into memory starting from the first byte of memory (memory address 0). Your emulator should run the program completely and output the final state of the registers, the program counter, and the condition flags. The y86 architecture contains a memory region containing 2000 bytes, 8 program registers, three condition codes (OF, ZF, and SF), a program counter. Each read and write to memory or to the registers writes out a full 4-byte word. The 8 registers, are the same as the 32-bit x86 architecture (see the register numbering in the attached slides). Programs that run on your emulator will typically implement their own stack to make function calls, which will be set up by pointing the stack pointer and base pointer (EBP and ESP) to the location where the stack should begin (somewhere in higher-addressed memory). The stack will be used for the pushl, popl, call, and ret instructions which implement procedure / function calls. You will need to implement logic to fetch, decode, execute, update_memory, update_registers, and update_program_counter. All of the instructions you will need to be able to decode, fetch, and execute for are listed below. See the attached materials for the specific format and opcodes of each instruction. In cases in which there is a conflict between the specification in the attached materials (they have a few differences), use the CS:APP chapter 4 as the deciding reference. Opcodes for each instruction are variable-length from 1 to 6 bytes. Ensure you complete your own work and comment your code well. All other previous project submission instructions apply. Have fun!
Projekt-ID: 15818268

Über das Projekt

4 Vorschläge
Remote Projekt
Aktiv vor 6 Jahren

Möchten Sie etwas Geld verdienen?

Vorteile einer Ausschreibung auf Freelancer

Legen Sie Ihr Budget und Ihren Zeitrahmen fest
Für Ihre Arbeit bezahlt werden
Skizzieren Sie Ihren Vorschlag
Sie können sich kostenlos anmelden und auf Aufträge bieten
Vergeben an:
Avatar des Nutzers
It contains different cases to be handled for different steps (fetch, decode, execute, update_memory, update_registers, and update_program_counter) so 2 days may be good. Relevant Skills and Experience Embedded Software Engineer with couple of years experience in both embedded and desktop programming. Proposed Milestones $25 USD - Deliver the program in 2 days
$35 USD in 1 Tag
0,0 (0 Bewertungen)
0,0
0,0
4 Freelancer bieten im Durchschnitt $55 USD für diesen Auftrag
Avatar des Nutzers
I am very proficient in c and c++. I have 16 years c++ developing experience now, and have worked for more than 6 years. My work is online game developing, and mainly focus on client side, using c++ under windows environment. I used c++ to make many great projects, for example, I made the tools which can convert java files into c++ scripts, of course garbage collection included, this job is very similar to a compiler, and is very complex. I also made our own mobile game using c++, I can show you the demo of client, if you like. I am very proficient in java also. I have a very good review on Freelancer.com, I never miss a project once I accept the job, you can check my review. Trust me, please let expert help you.
$150 USD in 2 Tagen
4,9 (91 Bewertungen)
6,7
6,7
Avatar des Nutzers
Let’s chat and discuss about price and work. 12 years experience in same filed you will get 100% correct work. No need to pay upfront money first check work quality and if you satisfied then pay. Relevant Skills and Experience 12 years experience Proposed Milestones $20 USD - I will complete your work as per the guidelines and will deliver you according to time deadline.
$20 USD in 1 Tag
0,0 (0 Bewertungen)
0,0
0,0

Über den Kunden

Flagge von UNITED STATES
United States
0,0
0
Mitglied seit Dez. 7, 2017

Kundenüberprüfung

Danke! Wir haben Ihnen per E-Mail einen Link geschickt, über den Sie Ihr kostenloses Guthaben anfordern können.
Beim Senden Ihrer E-Mail ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.
Registrierte Benutzer Veröffentlichte Jobs
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Vorschau wird geladen
Erlaubnis zur Geolokalisierung erteilt.
Ihre Anmeldesitzung ist abgelaufen und Sie wurden abgemeldet. Bitte melden Sie sich erneut an.