Reference no: EM131905231
Computer Architecture and Assembly Language Programming Assignment
Objectives:
1) Designing, implementing, and calling low-level I/O procedures
2) Implementing and using a macro
Problem Definition:
• Implement and test your own ReadVal and WriteVal procedures for unsigned integers.
• Implement macros getString and displayString. The macros may use Irvine's ReadString to get input from the user, and WriteString to display output.
o getString should display a prompt, then get the user's keyboard input into a memory location
o displayString should print the string which is stored in a specified memory location.
o readVal should invoke the getString macro to get the user's string of digits. It should then convert the digit string to numeric, while validating the user's input.
o writeVal should convert a numeric value to a string of digits, and invoke the displayString macro to produce the output.
• Write a small test program that gets 10 valid integers from the user and stores the numeric values in an array. The program then displays the integers, their sum, and their average.
Requirements:
1) User's numeric input must be validated the hard way: Read the user's input as a string, and convert the string to numeric form. If the user enters non-digits or the number is too large for 32-bit registers, an error message should be displayed and the number should be discarded.
2) Conversion routines must appropriately use the lodsb and/or stosb operators.
3) All procedure parameters must be passed on the system stack.
4) Addresses of prompts, identifying strings, and other memory locations should be passed by address to the macros.
5) Used registers must be saved and restored by the called procedures and macros.
6) The stack must be "cleaned up" by the called procedure.
7) The usual requirements regarding documentation, readability, user-friendliness, etc., apply.
8) Submit your text code file (.asm) to Canvas by the due date.
Notes:
1) For this assignment you are allowed to assume that the total sum of the numbers will fit inside a 32 bit register.
2) When displaying the average, you may round down to the nearest integer. For example if the sum of the 10 numbers is 3568 you may display the average as 356.
1) Number each line of user input and display a running subtotal of the user's numbers.
2) Handle signed integers.
3) Make your ReadVal and WriteVal procedures recursive.
4) Implement procedures ReadVal and WriteVal for floating point values, using the FPU.
To ensure you receive credit for any extra credit options you did, you must add one print statement to your program output PER EXTRA CREDIT which describes the extra credit you chose to work on. You will not receive extra credit points unless you do this. The statement must be formatted as follows...
--Program Intro--
**EC: DESCRIPTION
--Program prompts, etc.
Show the respective changes for balance sheet accounts
: Recently the Fed has been engaging in a contraction policy by selling Treasurysecurities to the non-bank public .
|
Determine the amount of deficiency
: Shamrock Corporation, having recently issued a $20,141,900, 15-year bond issue, is committed to make annual sinking fund deposits of $622,900.
|
How much dividend income will you receive
: A firm has a market value equal to its book value. Currently, the firm has excess cash of $1,000 and other assets of $6,000. Equity is worth $18,000.
|
Find the net present value of this project
: Assume $2,000 a year in Years 1 through 5, $3,000 a year in Years 6 through 8, and $4,000 in Year 9, with all cash flows to be received.
|
Implement and test your own readval and writeval procedures
: Implement and test your ReadVal and WriteVal procedures for unsigned integers. displayString should print string which is stored in a specified memory location.
|
Determine what was the roa for the period for this firm
: EBIT is $4,000. Invested capital is $500. Depreciation is $500. Interest expense is $200. What is the "cash coverage ratio?"
|
What will the carrying value of the liability be
: OL accquired a machine from TOV Corp. on January 1, 2015. In payment for the $18,000 machine.
|
What is the bonds current yield
: Peachtree Machinery has a bond issue outstanding with 15 years to maturity, a coupon rate of 8.5% (paid semiannually), and a par value of $1,000.
|
What is the current price or value per share
: What is the current price or value per share if its equity cost of capital is 10% per year and the dividends will increase or grow.
|