Implement each menu-option in a separate function

Assignment Help Assembly Language
Reference no: EM13889562

Part 1

Q01:

Given a 1D array of int "intA" initialized to 10 values: 100, 200, ... 1000, a second un initialized array intB:
1. Write a program to copy intA to intB in reverse order
2. Must use looping techniques
3. Must print both arrays

Q02:

Given a 2D array of chars chA initialized to

          A    B    C    D

          E    F    G    H

          I    J    K    L

          M    N    O    P

          Q    R    S    T   

1. Write a code block to print the content of chA as it is shown above.

2. Write a code block to print the transpose of chA.

Transpose example:

If m =    1    2    3    →   mT = 1    4

          4    5    6             2    5

                                   3    6

3. Write a code block to compute the individual summation per each column, per each row and the overall summation of chA.

4. Must use looping techniques

Part 2

Q01:

Write a program to do the following:

1) Declare three uninitialized array of ints, intA1, intA2, intA3, all of length of 16.

2) A function that prints an int array in one line.

3) A function that randomly generates an int array. (hint: check random32 in Irvinelib help)

4) A function that copies an int array from another.

5) A function that reverses an int array.

6) A function computes the summation of an int array.

7) A function that computes an element-wise addition of two int arrays.

8) A function that computes an element-wise subtraction of two int arrays.

9) A function that computes element-wise abs of an int array.

10) Test each function from main, print appropriate array after each test.

Part 3

Q01: menu, while, if, for, etc.

Write a program to do the following:

1) A function that prompts the user to enter a string of a predefined max length, reads the string and stores it in a byte array.

2) Define a second byte array to store the frequencies of each character in the input string.

3) A Function that computes and saves the frequencies in item 2 above.

4) A Function to print the character and its frequency in two columns format.

5) A Function to allow the user to replace a passed character with another in the input string.

6) A Function that counts/prints how many words in the input string.

7) Make the above tasks menu options and keep prompting the user to select an option to be performed until he/she chooses to quit.

Part 4

Q01:

1. Study the algorithm of the selection sort, given below.

2. Write a function to randomly generate a char array.

3. Implement selectionSort algorithm and test it with the array in (2).

4. Test three cases: random array, sorted array and array in reverse order.

Input: A[], Size
Output: A[] : A[i] < A[i+1], i*[0,Size-1].

Assumptions: 1) IdxofMin, is a function that returns index of smallest element in A[]. You need to write the idxofMin function.
3) Swap(x,y) is a function that swaps the values of the passed arguments. You need to write the swap function.
2) A[] is in no particular order.

Algorithm: SelectionSort

FOR i=1 TO Size-1
k = idxofMin(A, i+1, Size-1)
Swap(A[i], A[k])
ROF

Part 5

Q01;

Copy part 2 and do the following:

1. Add a menu listing all the tasks to be done by the program.

2. Add a while loop structure

3. Add a switch structure based on the technique "Table-driven selection". Review CH06.58 (I am attaching at the end of this part)

4. Test all options.
"Table-driven selection". Review CH06.58

Step 1: create a table containing lookup values and procedure offsets:
.data
CaseTable BYTE 'A' ; lookup value
DWORD Process_A ; address of procedure
EntrySize = ($ - CaseTable)
BYTE 'B'
DWORD Process_B
BYTE 'C'
DWORD Process_C
BYTE 'D'
DWORD Process_D
NumberOfEntries = ($ - CaseTable) / EntrySize

Table of Procedure Offsets:

2255_Table of Procedure Offsets.png

Step 2: Use a loop to search the table. When a match is found, call the procedure offset stored in the current table entry:

            movebx,OFFSETCaseTable       ; point EBX to the table

            movecx,NumberOfEntries          ; loop counter

L1:        cmp al,[ebx]      ; match found?

            jne L2   ; no: continue

            call NEAR PTR [ebx + 1]            ; yes: call the procedure

                                                            ; +1: address after the byte                   

            jmp Default                               ; and exit the loop

L2:        add ebx,EntrySize                     ; point to next entry

            loop L1 ; repeat until ECX = 0

Default:                                                ; could have a default-case handler

PART 6

Write a program for integer multiplication and division operations following these guidelines:

1. Menu-based program:

a. Enter two integers (positive or negative)

b. Multiply (could be MUL or IMUL) --> two functions

c. Divide (could be DVI or IDIV) --> two functions

d. Save current answer

e. Retrieve answer (at any given time, not necessarily right after the operation)

2. The user is allowed to enter signed and unsigned integers

3. Your program should check on the sign of the inputs and select between signed/unsigned operations accordingly.

4. Implement each menu-option in a separate function

5. For all operations, assume the larger operand is always 32-bit and set up your other operands accordingly.

6. Test your code with all possible combinations of: positive/negative numbers and multiplication and division operations.

Part 7

Q01:

1) Copy part 2

2) Recode all functions utilizing the Stack Frame method

3) Show at least one example of each of the following:

a. USES

b. LOCAL. subespnBytes

c. ENTER/LEAVE

d. PROTO/INVOKE

4) Test each function from main, print appropriate array after each test.

Reference no: EM13889562

Questions Cloud

Case study on ethics in business : Who are the stakeholders in this case? What expectations should they have? And, what are the ethical obligations of ACAS and its employees to the stakeholders?
Why was the storm that hit galveston : Why was the storm that hit Galveston on 8 September 1900 so devastating? Explain in full and support your response with examples from "Isaac's Storm: A Man, a Time, and the Deadliest Hurricane in History"
Law to the facts identified : WaterJet Ferries is a successful ferry operator providing roll-on/roll-off car and truck ferry services to the larger islands off the coast using vessels that are propelled by water-jets powered by diesel engines. Over the last twelve months the comp..
Explore how to throw and rethrow and exception : We will explore how to throw and rethrow and exception, and how to handle events in a program.  Please respond to all of the following prompts:Discuss whether it is it possible
Implement each menu-option in a separate function : Implement each menu-option in a separate function and write a program for integer multiplication and division operations - Recode all functions utilizing the Stack Frame method
Relationship between macbeth and lady macbeth : Characterize the relationship between Macbeth and Lady Macbeth. Whose ambition is the driving force of the play-Macbeth's or Lady Macbeth's or both?
Create a new class called dwelling : 1 Create a new class called Dwelling that includes the functionality below 2.    The new class has the attributes of: category - dwelling's category (i.e.:"House", "Condo", "Apartment","shach",etc.), type String numberOfBedrooms - the number of bedro..
Develop a security plan and recommendation memo to the cio : Develop a Security Plan and Recommendation Memo to the CIO
Explain about merger of us airways and american airway : What is the airline product? Or is it a service? What product and service recommendations would you make to the merged company?

Reviews

Write a Review

Assembly Language Questions & Answers

  Document the protocols for passing

You must document the protocols for passing parameters and returning the result to the subroutine and also follow the convertion of saving and restoring registers in the subroutine.

  Multiply by using shift and add instructionsyou have

multiply by using shift and add instructionsyou have studied shift and rotate instructions. when a number is shifted

  Program a maze-type game using assembly language

This project requires you to program a maze-type game using Assembly Language. It is not acceptable to use any other programming language for this project. T

  Homework assignment on numerical representations

Create an assembly language function that displays the binary and hexadecimal representations of a 16 bit value (passed in as a parameter) on our LCD screen. Use the provided .c main file and assembly language subroutine example as a basis for you..

  Mips assembly instruction to set the pc

Is it possible to use the jump (j) MIPS assembly instruction to set the PC to the address as 0x4000 0000 and Is it possible to use the branch-on-equal (beq) MIPS assembly instruction to set the PC to this same address?

  Write two (2) arm assembly language subroutines

Write two (2) ARM assembly language subroutines, called output_char and read_char

  Write a complete well documented assembly language

write a complete well documented assembly language program (starts at $C000) that counts the number of 1s in each byte in a list. The LIST_IN starts at $C100 and it has 12 bytes ( create your own random bytes for the list). The results (count of 1s) ..

  Assembly language program to find all prime numbers between

Write a 68000 assembly language program to find all prime numbers between 1 and a specified upper value, inclusive, using the Sieve of Erathosthenes. The specified upper value may be as low as 3 or as high as 1023. Proceed as follows

  Design a calculator in assembly

Design a calculator in assembly that can handle +,-,/,%, * and expresses errors in the case of division by zero or invalid characters using the template below.

  Advantage of assembly and high-level programming languages?

What are the advantages and disadvantage of assembly and high-level programming languages?

  Prepare a assembly program to initialize the led outputs

Write a main.asm file in PSoC designer. Make sure to have the subsequent in place - Initialize the LED outputs to 0's and Set the corresponding bit in INT_MSK0 to 1.

  Relative addressing mode is a special way

Relative addressing mode is a special way to specify operands. Which instructions are associated with the relative addressing mode? Why do you think it was called "relative" addressing mode? Hint: Use a search engine to find out about "portable code"

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