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

  Define advertising design in order to ensure better impact

The problem statement is, "To improve the advertising design in order to ensure better remembrance and impact on the audiences" Advertising is an essential element in the present day organizations

  Discuss the protection mechanisms

Discuss the protection mechanisms you consider best suited for the technological innovation you have selected for your final project and how those mechanisms fit within the control continuum

  Secure protocol

Assume that Alice shares a secret s with her company's server computer.

  What is the maximum data transfer rate

What is the maximum data transfer rate across the bus that this microprocessor can sustain, in bytes/s?

  Information systems along with internet security necessary

Are Information systems along with Internet security necessary

  Give the boolean equation for the problem

Develop a truth table that captures the desired circuit behavior of the problem and give the Boolean equation for the problem.

  Necessary to perform a multiply using the approach

Calculate the time necessary to perform a multiply using the approach given in Figures 3.4 and 3.5 if an integer is 8 bits wide and each step of the operation takes 4 time units. Assume that in step 1a an additional is always performed - either th..

  Lead a software development team to build a system

You have been asked to lead a software development team to build a system fulfilling the Statement of Need specified in project 1. Your team is employed by a small company. The customer wants a project that balances reasonable development cost, ti..

  What is returned by function two defined below for the call

What is returned by function two defined below for the call two(13)? Show your trace for full marks.

  An application that stores at least four different courses

Write an application that stores at least four different course names

  The database developer for a local colleg

Suppose that you are the database developer for a local college. The Chief Information Officer (CIO) has asked you to provide a summary of normalizing database tables that the IT staff will use in the upcoming training session.

  Manufacturer of fine cosmetic soap products

Handcrafted Soap is a manufacturer of fine cosmetic soap products. Sweet Treats' two main products are soap and cleanser. Each batch of soap consumes 50 pounds of glycerin and 30 pounds of oil. Each batch of cleanse consumes 20 pounds of glycerin and..

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