Ideas you learnt on interpretation

Assignment Help Basic Computer Science
Reference no: EM13935009

1. The aim of this programming assignment is to try out some of the ideas you learnt on interpretation. It is to be done on an individual basis.

2. Write a program (C language preferred) that will emulate a x86 processor

3. Input: The input to the program shall be a text file containing binary encoding of some x86 code. Here is a sample input file ("sampleinput.txt"): 8d 4c 24 04 83 e4 f0 50 c1 f8 02 34 2e 89 e5 45 83 ec 04 80 7c 24 04 81 5d This is for the following IA32 instructions: leal 4(%esp), %ecx andl $-16, %esp pushl %eax sar $0x2,%eax xor $0x2e,%al movl %esp, %ebp inc %ebp subl $4, %esp cmpb $0x81, 4(%esp) popl %ebp

4. First, try to decipher the instructions by hand. You will need to refer to the instruction set definition from the official Intel site: https://www.intel.com/ products/processor/manuals/.

You may want to zoom into Appendix A and B found in "Intel® 64 and IA-32 Architectures Developer's Manual: Vol. 2"

5. An utility in x86-Linux will help you to generate more test code. First, take a program and compile it for the 32-bit IA32 instruction set. Suppose you test input is t.c. Do this: $ gcc -m32 -O3 t.c

6. $ objdump -D a.out

7. You will see something like this: ‘08048250' is the memory address (in hexadecimal) of the routine _init. Note that this is only a sample. The actual numbers you see will be different.

The first instruction is ‘push %ebp' and the binary encoding of that instruction is 55 (hexadecimal). Using cut and paste from appropriate parts of the output of objdump, create test inputs like the sample-input.txt.

8. Your program will read in the input file and emulate the encoded instructions. At the end, your code should dump out all the registers. Here is the default input for all the registers that you should use: eax 0xbf8db144 ecx 0x88c5cffb edx 0x1 ebx 0xae5ff4 esp 0xbf8db0bc ebp 0xbf8db118 esi 0x9a0ca0 edi 0x0 eip 0x8048354 eflags 0x246 cs 0x73 ss 0x7b ds 0x7b es 0x7b fs 0x0 gs 0x33

9. What you program should do is a bit like gdb - step through the instructions one by one, printing out all the registers' content after each instruction's execution. Your program should also simulate memory (not all 4GB but just the top of the stack) such that if your input writes to A to memory location X, then a later read of memory location X should return AAbstract. Romer et al (ASPLOS 96) examined several interpreters and concluded that they behave much like general purpose integer programs such as gcc. We show that there is an important class of interpreters which behave very differently. Efficient virtual machine interpreters perform a large number of indirect branches (3.2%-13% of all executed instructions in our benchmarks, taking up to 61%-79% of the cycles on a machine with no branch prediction). We evaluate how various branch prediction schemes and methods to reduce the mispredict penalty affect the performance of several virtual machine interpreters. Our results show that for current branch predictors, threaded code interpreters cause fewer mispredictions, and are almost twice as fast as switch based interpreters on modern superscalar architectures.

Reference no: EM13935009

Questions Cloud

Point representation of ieee-754 single precision : Convert the followings: [5 marks] a. 0xAC12 to binary b. -10710 to 8-bit 2's Complement c. 10011110 (8-bit 2's complement representation) to decimal d. 11010110102 into hexadecimal e. 1108 into hexadecimal
Include structured error handling on all forms. : Create a patron letter-writing feature that includes a functional RichTextBox control.
Total quality management-approach to long-term success : Total quality management (TQM) is a management approach to long-term success through customer satisfaction. The approach is dependent on all members of the organisation participating in improving processes, products, services, and the culture in w..
Why is important for organisms to have respiratory surfaces : Why is it important for organisms to have respiratory surfaces? What challenges do terrestrial animals with respiratory surfaces face? Identify three types of respiratory surfaces/structures. Explains why each structure is necessary for the organi..
Ideas you learnt on interpretation : Input: The input to the program shall be a text file containing binary encoding of some x86 code. Here is a sample input file ("sampleinput.txt"): 8d 4c 24 04 83 e4 f0 50 c1 f8 02 34 2e 89 e5 45 83 ec 04 80 7c 24 04 81 5d This is for the following..
Applications designed to perform basic math calculations : Test all operators with the values 8 and 2 to make sure it works as expected.what is different from the first case and fix the problem to handle the exception.
How company past strategy affect it in the present : A convenient way to investigate how a company's past strategy and structure affect it in the present is to chart the critical incidents in its history - that is, the events that were the most unusual or the most essential for its development into ..
How are cios different in regard from other chief officers : Why do you think this is the case? How are CIOs different in this regard from other chief officers, for example, in finance, HR, or marketing?
Add a label control to the form : add a Label control that shows the path to the file being processed.add a Label control that shows the path to the file being processed.

Reviews

Write a Review

Basic Computer Science Questions & Answers

  Explaining negative reactions to pop-up and pop-behind

Many people have strong negative reactions to pop-up, pop-behind, interstitial, and rich media ads. Assume you are the director of an advertising agency that specializes in creating and placing these ads.

  Structural modeling and behavior modeling

Based on your performance, ABS management was so satisfied that it wants you to develop both the structural and behavior models. This way, ABS can fully understand both the interaction that would take place between the users and the system, and th..

  Write a while or do-while loop

If the user enters a number that is not on the interval, informatively re-prompt until the user enters an appropriate number.

  Draw a context diagram for the order system

In this Application you use a structured approach to model the data flow processes as you develop the data aspect of your design.

  What is your all-time favorite linux-related website

What is your all-time favorite Linux-related website? Why is it your favorite (reference, utility, comic relief, etc.)?

  Managing organizational risk

No longer than a decade ago, IT security professionals had to work hard to persuade organizational leaders about the importance of developing effective risk management plans. Nowadays, due to the plethora of cautionary tales that organizations histor..

  Securing owa

In order to effectively implement Outlook Web Access (OWA) and allow employees to have seamless access to email, you must provide external access to users. This, of course, creates a security weakness in your network because of open ports. Your senio..

  Evaluates and makes recommendations to address

Evaluates and makes recommendations to address differences in ethical codes of information technology conduct in different cultures in a very clear and detailed way.

  Difference between it and information systems

Discuss the advantages and disadvantages of spreadsheet software as number-crunching software.

  Develop a plan to connect your remote users

Develop a plan to connect your remote users. your solution can involve more than one remote access type.

  What do the terms "syntactic sugar" and "syntactic salt"

What do the terms "syntactic sugar" and "syntactic salt" mean? From your knowledge of the C# programming language, list at least five syntactic sugar and salt features.

  Determine the first sets of each of the rhss

determine the FIRST sets of each of the RHSs of each of the productions. Assume that upper case letters are nonterminals and lower case letters are terminal symbols. A -> abD | acD | D D -> d | eD Apply the pairwise disjointness test to show that ..

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd