Compute number of lines in the address bus required so that


All questions in this test are related to the X86 Assembly Language.

[01] Convert (234.5625)10 to IEEE754 single precision. If any, trailing ‘0's can be ignored.

[02] Convert the following C++ code fragment to x86 assembly code:
float f1[8] = {1,2,3,4,5,6,7,8};
float sum=0;
int i=0;
while(sum<=20){
sum+=f1[i++];
}
cout << i << endl;

[03] For Question [02 the results. This version, use CALL/PROC technique.], using stack frame principles, write a function that accepts float array and its size as two arguments and returns the index ‘i' as

[04] Repeat Question [03] by implementing the function using PROTO/INVOKE method.

[05] Repeat Question [03] by implementing the function as a Macro.

[06] Given a structure type of "Product" with the fields string name, int id and float price. Define an array of Product type, initialize all elements to an arbitrary instance, write a code fragment to print all fields of each Product in the array.

[07] Convert the given C++ code fragment to x86 assembly code.
int a = 1234;
int b = 4321;
int c = b/a + a%b;
if(a*b>100000)
c=1;
else
c=0;

[08] Find the final binary and hex value of EAX for the following code fragment:
mov eax, 01233210h
mov ebx, 10101010h
shl eax, 2
shr eax, 1
shrd eax, ebx, 2
test eax, eax
rol eax, 4

[09] Find four different ways to reset eax other than "mov eax, 0"

[10] Implement the given pseudo code:
For( each bit B in int X){
If(B)
Print "|"
Else
Print "_"
}

[11] Write a function that accepts a char array, its size and a char to search for in the given array. Use PROTO, INVOKE and LOCAL keywords.

[12] In numeral systems context, define "Weighted Positional System" mathematically by writing its formula that converts any system (base b) to decimal.

[13] Given a hypothetical computer with a CPU speed = 2.4GHz and RAM capacity - 8GB. Answer the following:

1. If the MUL instruction requires 100 clock cycles, ideally speaking, how many MUL operations can this system perform in 4 seconds.

2. Compute number of lines in the address bus required so that the CPU can access all memory locations in the given RAM.

Solution Preview :

Prepared by a verified Expert
Assembly Language: Compute number of lines in the address bus required so that
Reference No:- TGS01197855

Now Priced at $75 (50% Discount)

Recommended (93%)

Rated (4.5/5)

A

Anonymous user

3/11/2016 12:07:03 AM

For the question related to X86 Assembly Language, respond to the following questions by providing all the codes and snapshots in the word document. Q1. Write down a function which accepts a char array, its size and a char to search for in the given array. Make use of PROTO, INVOKE and LOCAL keywords. Q2. In numeral systems context, state ‘Weighted Positional System’ mathematically via writing its formula which converts any system (base b) to the decimal. Q3. Provided a hypothetical computer by means of a CPU speed = 2.4GHz and RAM capacity - 8GB. Answer the given: a) If MUL instruction needs 100 clock cycles, preferably speaking, how many MUL operations can this system carry out in 4 seconds? b) Compute number of lines in the address bus needed in such a way that the CPU can access all the memory locations in the provided RAM.

A

Anonymous user

3/11/2016 12:05:26 AM

As the showing data that include all questions which is regarding to the X86 Assembly Language. All questions in this test are related to the X86 Assembly Language. [01] Transfer (234.5625)10 to IEEE754 single precision. If any, trailing ‘0's can be ignored. [02] Transfer the subsequent C++ code fragment to x86 assembly code: float f1[8] = {1,2,3,4,5,6,7,8}; float sum=0; int i=0; while(sum<=20){ sum+=f1[i++]; } cout << i << endl; [03] For Question [02 the results. This version, use CALL/PROC technique.], using stack frame principles, write a function that accepts float array and its size as two arguments and returns the index ‘i' as [04] Repeat Question [03] via implementing the function using PROTO/INVOKE method. [05] Repeat Question [03] via implementing the function as a Macro.