Answer the given question with a proper explanation and step-by-step solution. You will write a simple assembly language program that performs a few arithmetic operations. This will require you to establish your programming environment and create the capability to assemble and execute the other assembly programs that will be part of this course. Your North Lake College student ID number is a 7-digit number. Begin by splitting your student ID into two different values. Assign the four most significant digits to a variable called 'left' and the three least significant digits to a variable called 'right'. You must choose the data type that is appropriate for the range of decimal values each variable can store. You will choose a data type when you define each of the variables in your program. Try to make efficient use of memory. Calculate the sum of the two variables 'left' and 'right'. Store this result in a variable called 'total'. Calculate the positive difference between the variables 'left' and 'right'. Store this result in a variable called 'diff'. Define a character string called 'message' that contains the characters, "Hello World!". Define an array of data type WORD called 'numbers' that is initialized to the following values: 1, 2, 4, 8, 16, 32, and 64. Write assembly language code using what you know so far (do not look ahead in the book just yet) to determine the length of 'numbers'. Store this value in a variable called 'arrayLength'. Move the contents of the variable 'left' into the EAX register. Move the contents of the variable 'right' into the EBX register. Move the contents of the variable 'total' into the ECX register. Move the contents of the variable 'diff' into the EDX register. Move the contents of the variable 'arrayLength' into the ESI register.   Call the author's DumpReg routine to display the contents of the registers. Submit your assembly language source code and a screen shot of the output packaged as a single file in ".ZIP" format. Call your file “XYProject1.zip” where "X” and “Y” are your first and last initials respectively. If your name were John L. Smith, the file would be called, "JSProject1.zip".

C++ for Engineers and Scientists
4th Edition
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Bronson, Gary J.
Chapter7: Arrays
Section: Chapter Questions
Problem 8PP: (Statistical) In many statistical analysis programs, data values considerably outside the range of...
icon
Related questions
Topic Video
Question

Answer the given question with a proper explanation and step-by-step solution.

You will write a simple assembly language program that performs a few arithmetic operations. This will require you to establish your programming environment and create the capability to assemble and execute the other assembly programs that will be part of this course.

Your North Lake College student ID number is a 7-digit number. Begin by splitting your student ID into two different values. Assign the four most significant digits to a variable called 'left' and the three least significant digits to a variable called 'right'.

You must choose the data type that is appropriate for the range of decimal values each variable can store. You will choose a data type when you define each of the variables in your program. Try to make efficient use of memory.

Calculate the sum of the two variables 'left' and 'right'. Store this result in a variable called 'total'.

Calculate the positive difference between the variables 'left' and 'right'. Store this result in a variable called 'diff'.

Define a character string called 'message' that contains the characters, "Hello World!".

Define an array of data type WORD called 'numbers' that is initialized to the following values: 1, 2, 4, 8, 16, 32, and 64.

Write assembly language code using what you know so far (do not look ahead in the book just yet) to determine the length of 'numbers'. Store this value in a variable called 'arrayLength'.

Move the contents of the variable 'left' into the EAX register.

Move the contents of the variable 'right' into the EBX register.

Move the contents of the variable 'total' into the ECX register.

Move the contents of the variable 'diff' into the EDX register.

Move the contents of the variable 'arrayLength' into the ESI register.

 

Call the author's DumpReg routine to display the contents of the registers.

Submit your assembly language source code and a screen shot of the output packaged as a single file in ".ZIP" format. Call your file “XYProject1.zip” where "X” and “Y” are your first and last initials respectively. If your name were John L. Smith, the file would be called, "JSProject1.zip".

Expert Solution
steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Instruction Format
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage
Systems Architecture
Systems Architecture
Computer Science
ISBN:
9781305080195
Author:
Stephen D. Burd
Publisher:
Cengage Learning
Enhanced Discovering Computers 2017 (Shelly Cashm…
Enhanced Discovering Computers 2017 (Shelly Cashm…
Computer Science
ISBN:
9781305657458
Author:
Misty E. Vermaat, Susan L. Sebok, Steven M. Freund, Mark Frydenberg, Jennifer T. Campbell
Publisher:
Cengage Learning