Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Please finish this code for computer architecture and assembly TITLE Program Template (main.asm) INCLUDE Irvine32.inc ; (insert symbol definitions here) MAX_VALUE = 100 NUM_ELEMENTS =

Please finish this code for computer architecture and assembly

image text in transcribed

TITLE Program Template (main.asm)

INCLUDE Irvine32.inc

; (insert symbol definitions here) MAX_VALUE = 100 NUM_ELEMENTS = 8

.data

; (insert variables here - flush left) array dword NUM_ELEMENTS dup(0)

labelStart BYTE "Array at start:",0 labelGen BYTE "Array after generation",0 labelComplete BYTE "Array at end:",0

labelArray BYTE "Array: ",0

labelTotal BYTE "Total: ", 0 labelAverage BYTE "Average: ",0

total DWORD 0 average DWORD ?

spaceString BYTE " ",0

.code main PROC ; (insert executable instructions here -- indented) call randomize

call displayLine mov edx, offset labelStart call writeString call crlf ;

call displayAllArraysExam2

;;; your code here to generate data into array 'array' ;;; vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

;;; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; display generated data call crlf

call displayLine mov edx, offset labelGen

call writeString call crlf

call displayAllArraysExam2

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; your code here to calculate results ;;; vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

;;; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; display data after calculations

call crlf

call displayLine mov edx, offset labelComplete call writeString call crlf

call displayAllArraysExam2

exit main ENDP

; (insert additional procedures here)

; ----------------------------------------------------------------- ; ; displayAllArraysExam2 procedure displays all of the arrays ; ; input - node ; displayAllArraysExam2 PROC

; display arrays

mov EDI, offset array mov ECX, lengthOf array mov EDX, offset labelArray call displayArrayForExam2

call crlf

mov edx, offset labelTotal call writeString mov eax, total call writeDec call crlf

mov edx, offset labelAverage call writeString mov eax, average call writeDec call crlf

ret displayAllArraysExam2 ENDP

; ----------------------------------------------------------------- ; ; displayArrayForExam2 procedure ; ; assumes that the array is an array of DWORD ; ; input EDI - address of array to display ; ECX - length of array to display ; EDX - address of label to display ; displayArrayForExam2 PROC

call writeString displayArrayLoop: mov eax, [EDI] call padOnLeft call writeDec mov edx, offset spaceString call writeString add EDI, 4 Loop displayArrayLoop

call crlf ;

ret displayArrayForExam2 ENDP

displaySignedArrayForExam2 PROC

call writeString displayArrayLoop: mov eax, [EDI] call signedPadOnLeft call writeInt mov edx, offset spaceString call writeString add EDI, 4 Loop displayArrayLoop

call crlf ;

ret displaySignedArrayForExam2 ENDP

padOnLeft PROC uses edx

cmp eax, 1000 jae maxedOut

mov edx, offset spaceString call writestring

nextDigit100: cmp eax, 100 jae maxedOut

mov edx, offset spaceString call writestring

nextDigit10: cmp eax, 10 jae maxedOut

mov edx, offset spaceString call writestring

maxedOut: ret padOnLeft ENDP

signedPadOnLeft PROC uses edx

cmp eax, -100 jle maxedOut mov edx, offset spaceString ; display space call writestring

nextDigit10: cmp eax, -10 ; compare eax to -10 jle maxedOut ; if eax

;

maxedOut: ret signedPadOnLeft ENDP

; ============================================= ; displayLine procedure expects no parameters ; it displays a line ; displayLine PROC

MOV ecx, 40 MOV eax, '=' Line: call writeChar Loop Line

call crlf

ret displayLine ENDP

END main

- Declaring/Using variables/one dimensional arrays (BYTE, SBYTE, WORD, SWORD, DWORD, SDWORD) and storing data(results) into memory - using LENGTHOF - Declaring/Using Constants (like MAX_ROWS =5) - Possibly getting data from user and storing in memory (using Author's readint, readDec, readString) - most likely generate random data into an array (using Author's randomize, randomRange] - Calculations (ADD, SUB, MUL, iMUL, DIV, iDIV) - Displaying Data on screen (using Author's Writelnt, WriteDec, Writestring, CRLF) [ Output procedures will most likely be provided and you need to load the correct variables and/or arrays] [ [ macros will not be on the exam, but you are free to use them ] - Plain old loops (loading ECX with \# of iterations and using a label and LOOP) Write the code to calculate the following based on array - total of the elements from array into variable total - the average of the elements from array into variable average See the picture (below) for where to place your code. - Declaring/Using variables/one dimensional arrays (BYTE, SBYTE, WORD, SWORD, DWORD, SDWORD) and storing data(results) into memory - using LENGTHOF - Declaring/Using Constants (like MAX_ROWS =5) - Possibly getting data from user and storing in memory (using Author's readint, readDec, readString) - most likely generate random data into an array (using Author's randomize, randomRange] - Calculations (ADD, SUB, MUL, iMUL, DIV, iDIV) - Displaying Data on screen (using Author's Writelnt, WriteDec, Writestring, CRLF) [ Output procedures will most likely be provided and you need to load the correct variables and/or arrays] [ [ macros will not be on the exam, but you are free to use them ] - Plain old loops (loading ECX with \# of iterations and using a label and LOOP) Write the code to calculate the following based on array - total of the elements from array into variable total - the average of the elements from array into variable average See the picture (below) for where to place your code

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Auditing And Systems Exam Questions And Explanations

Authors: Ph.D. Gleim, Irvin N., Ph.D. Hillison, William A., Grady M. Irwin

17th Edition

1581949278, 978-1581949278

More Books

Students also viewed these Accounting questions