1. Engineering
  2. Computer Science
  3. x86 assembly language lab title lab 3 assembly language fundamentals...

Question: x86 assembly language lab title lab 3 assembly language fundamentals...

Question details

X86 Assembly language lab:

TITLE Lab 3: assembly language fundamentals              

;;;;; Q1: Don't forget to document your program           
; Name:Yuyan Wang

;;;;; Answer each question below by writing code at the APPROPRIATE places in the file.
;;;;; Hint: the appropriate place is not always right below the question.

;;;;; Q2: Write the directive to bring in the IO library          

;;;;; Q3: Create a constant called MAX and initialize it to 150

;;;;; Q4: Create a constant called MIN and intialize it to 15% of MAX (from Q3)
;;;;; in an integer expression constant

;;;;; Q5: Define an array of 20 signed doublewords, use any array name you like.
;;;;; Initialize:
;;;;;   - the 1st element to -250
;;;;;   - the 2nd element to the hexadecimal value A924
;;;;;   - the 3rd element to the binary value 10100
;;;;;   - the 4th element to MAX (from Q3). Use MAX, not a number.
;;;;; and leave the rest of the array uninitialized.

;;;;; Q6. Define the string "Output = ", use any variable name you like.

;;;;; Q7. Define a prompt that asks the user for a number.

;;;;; Q8. Write code to store the value of MIN into eax, then print the value
;;;;; to screen.
;;;;; Use the string you defined in Q6 as the text explanation for your output.

;;;;; Q9. Write code to prompt the user for a number, using the prompt string that
;;;;; you defined in Q7.

;;;;; Q10. Write code to read in the user input, which you can assume is always
;;;;; a positive number. Hint: use the correct library routine for positive number.

;;;;; Q11. Write code to print "Output = " and then echo to screen the user input.

;;;;; Q12. Write code to print "Output = " and then print the first element of the
;;;;; array defined in Q5.

;;;;; Q13. Build, run, and debug your code.

;;;;; Your output should be similar to this (without the commented explanation):
;;;;; Output is 22                               ; printing MIN
;;;;; Enter a positive number: 7 ; prompt the user for a number
;;;;; Output is 7                               ; echo user input
;;;;; Output is -250                           ; print first element of array
;;;;; Press any key to continue . . .

;;;;; Q14. At the end of the source file, without using semicolons (;), add a comment block
;;;;; to show how bigData appears in memory (should be the same 8 hexadecimal values
;;;;; that you saw in assignment 2),
;;;;; and explain why it looks different than the actual value.


bigData QWORD 0abcdef0123456789h       ; same bigData value as last lab

main PROC

main ENDP

END main

Solution by an expert tutor
Blurred Solution
This question has been solved
Subscribe to see this solution