assembly language, Basic Computer Science

Questions
1) Polynomial Integrals
Problem: Write an X86-series assembly language program that calculates and prints out (in a nice form) the indefinite
integral of a simple polynomial.
Sample Execution: A sample execution of the program looks like the following.
Enter degree of polynomial: 2
Enter coefficient of xˆ2: 6
Enter coefficient of xˆ1: -14
Enter coefficient of xˆ0: 0
The polynomial entered is
6*xˆ2+-14*xˆ1
The indefinite integral is
2*xˆ3+-7*xˆ2+C
Indefinite Integral: The indefinite integral of a polynomial is easy to calculate. The integral of any polynomial is the
sum of the integrals of its terms. So, each term in the indefinite integral of the polynomial is calculated separately.
For a term in the polynomial axn, its indefinite integral is

axndx = a
xx+1
n + 1
+ C.
Examples:
1. The indefinite integral of -12x5 + 12x3 + 24x2 is -2x6 + 3x4 + 8x3 + C.
2. The indefinite integral of 5x4 + 48x3 + 6x1 is x5 + 12x4 + 3x2 + C.
Requirements:
• Legal input will be 1 or more digits (0-9), optionally preceded by a sign (+ or -). Hitting enter on the keyboard
ends the legal input. Assume all input is correct (do not do error checking on the input).
• The maximum degree of the polynomial is 5. Again, assume all input is correct.
• The following procedures/functions must be implemented and used:
– get poly: a procedure that gets and places in an array the coefficients of the user entered polynomial. The
input parameter to the procedure is the address of the array (in memory). This procedure calls function
get int to get the coefficients from the user.
– put poly: a procedure that prints out a polynomial in a nice form. The input parameter to the procedure
is the address of the array containing the polynomial. This procedure calls print int to print out the
coefficients of the polynomial.
– get int: a function to get an integer. The single parameter to this procedure is the address of an integer
variable. The function uses the address as the location to place the integer it gets.
– print int: a procedure which prints out an integer passed to the procedure.
– integral: a procedure that calculates the indefinite integral. The procedure receives one parameter, the
address of the array containing the coefficients.
– Comment your program appropriately. Every procedure/function needs a header stating its function and
its input/output parameters.
Hints:
• Limiting ourselves to polynomials of degree 5 (with integer coefficients) helps to make implementation of the
program straight forward. Use a 6 element array of integers to hold the coefficients of the polynomial terms.
Furthermore, the array index (starting with 0) is the degree of the term.
• A good place to start with with get poly and put poly. Then implement the integral procedure.




2) Binary Bomb
Problem: You are each assigned (see Table 1) a “binary bomb” included with this assignment. When run, it will
prompt you to enter a string. If the string is incorrect, the bomb explodes, printing an error message to the screen.
You are to use Microsoft’s debug.exe (or any debugger of your choice) to discover the string that will defuse your
particular bomb. Note, I have used a simple encryption on the string to ensure you cannot simply open the exe in
Notepad to get the solution.

You must also discover the effective address of the string in memory. Recall, that the DS register stores the
starting address of the data segment in memory, and an offset specifies the address relative to the DS register. This
offset is also referred to as the effective address. It is the effective address that is, for example, loaded when you
perform the following:
data segment
str1 db ’This is string #1$’
str2 db ’This is string #2$’
.
.
.
lea si, str2
The above code will load the offset into register si. In this case it would be 18 (12h) since there are 18 bytes assigned
to str1.
Hints:
• You know already know the DOS routine to output a string to the command line, use this to orientate yourself in
the disassembly. Similarly, I use INT 21, A to input a string from the user (see INT 21 DOS Function Dispatcher).
This will also help you to orientate yourself in the code. Finally, I output a carriage return and a new line feed
once the user has entered the string.
• I would find the place in the code where the first character of the string you entered is manipulated. Once
you find this, you can identify the method used to encrypt the characters in the string. From here, it should
be straight forward processes to find the password. Simply reverse the encryption process and start reading
characters
Posted Date: 4/2/2012 8:44:09 PM | Location : United States







Related Discussions:- assembly language, Assignment Help, Ask Question on assembly language, Get Answer, Expert's Help, assembly language Discussions

Write discussion on assembly language
Your posts are moderated
Related Questions
2000word how much

Question 1 Briefly explain the Stage and the Timeline Question 2 What is Device Central? How it is useful for previewing mobile content? Question 3 Which are the f

In this problem we will compare the performance of a vector processor with a system that contains a scalar processor and a GPU-based coprocessor. In the hybrid system, the host pr

Multiprogramming Multiprogramming means capability of several programs to simultaneously occupy a portion of the computer’s memory and compete for central processor time. Th

Indexing a page on internet: Once, the spiders have completed the task of finding information about Web pages, the search engine must store the information in such way that yo

WHAT IS DATA STRUCTURE AND EXPLAIN ME.

Python allows single (''), double (") and triple ('''''' or """) quotes to indicate string literals, as long as the similar type of quote starts and ends the string. The triple quo

tell me formulas

Web Browser:   A Web browser is software application that enables you to find, retrieve, and display information available on the World Wide Web (WWW). Browser also allows you

Build a database application for a sports league. Assume your application is to keep track of teams and equipment that is checked out to teams. Explain the steps that is needed and