Write an assembly language program that reads a non-negative decimal number and a base between 2 and 9, converts the given number to the given base, and displays the result on the screen. Your program must define and use the following two procedures in addition to the main procedure: Procedure ReadData: Reads the number and the base from the keyboard after displaying appropriate prompt messages. If the user enters an invalid value (negative number or base not between 2 and 9), it repeatedly displays an error message and asks to re-enter that value until a valid value is entered. Procedure Convert: Takes as parameters a non-negative decimal number and a base in the EAX and EBX registers, respectively. The procedure converts the given decimal number to the given base and displays the result on the screen. This procedure must use push and pop stack operations. The following pseudocode shows how the Convert procedure must do the conversion:

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
Write an assembly language program that reads a non-negative decimal number and a base between 2 and 9, converts the given number to the given base, and displays the result on the screen. Your program must define and use the following two procedures in addition to the main procedure: Procedure ReadData: Reads the number and the base from the keyboard after displaying appropriate prompt messages. If the user enters an invalid value (negative number or base not between 2 and 9), it repeatedly displays an error message and asks to re-enter that value until a valid value is entered. Procedure Convert: Takes as parameters a non-negative decimal number and a base in the EAX and EBX registers, respectively. The procedure converts the given decimal number to the given base and displays the result on the screen. This procedure must use push and pop stack operations. The following pseudocode shows how the Convert procedure must do the conversion:
Write an assembly language program that reads a non-negative decimal number and a base between 2 and 9,
converts the given number to the given base, and displays the result on the screen.
Your program must define and use the following two procedures in addition to the main procedure:
Procedure ReadData: Reads the number and the base from the keyboard after displaying appropriate
prompt messages. If the user enters an invalid value (negative number or base not between 2 and 9),
it repeatedly displays an error message and asks to re-enter that value until a valid value is entered.
Procedure Convert: Takes as parameters a non-negative decimal number and a base in the EAX and
EBX registers, respectively. The procedure converts the given decimal number to the given base and
displays the result on the screen. This procedure must use push and pop stack operations. The
following pseudocode shows how the Convert procedure must do the conversion:
//Pseudocode for the Convert procedure
if (number
0) display 0
else
counter =
value = number
while (value > 0)
quotient = value/base
remainder = value modulo base // remainder of value/base
push remainder to stack
counter = counter+1
value = quotient
While counter > 0
pop remainder from stack
display remainder on the screen
counter = counter-1
Transcribed Image Text:Write an assembly language program that reads a non-negative decimal number and a base between 2 and 9, converts the given number to the given base, and displays the result on the screen. Your program must define and use the following two procedures in addition to the main procedure: Procedure ReadData: Reads the number and the base from the keyboard after displaying appropriate prompt messages. If the user enters an invalid value (negative number or base not between 2 and 9), it repeatedly displays an error message and asks to re-enter that value until a valid value is entered. Procedure Convert: Takes as parameters a non-negative decimal number and a base in the EAX and EBX registers, respectively. The procedure converts the given decimal number to the given base and displays the result on the screen. This procedure must use push and pop stack operations. The following pseudocode shows how the Convert procedure must do the conversion: //Pseudocode for the Convert procedure if (number 0) display 0 else counter = value = number while (value > 0) quotient = value/base remainder = value modulo base // remainder of value/base push remainder to stack counter = counter+1 value = quotient While counter > 0 pop remainder from stack display remainder on the screen counter = counter-1
Expert Solution
steps

Step by step

Solved in 4 steps with 4 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY