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".

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
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
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education