instructions I was following: .ORIG x3000 LD R3, negative_thirty ; Load the negative value x-30 into R3 TRAP x23 ; Read in first number from console ADD R0, R0, R3 ; Subtract

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

So I'm coding an assembly code I did wrong because it can't run in the lc-3 simulator I need help fixing my mistake here my code and the instructions I was following:

.ORIG x3000 LD R3, negative_thirty ; Load the negative value x-30 into R3

TRAP x23 ; Read in first number from console

ADD R0, R0, R3 ; Subtract x30 from the first number

STR R0, result1 ; Store the result in memory

LD R0, newline ; Load the newline character

TRAP x21 ; Output the newline character

TRAP x23 ; Read in second number from console

ADD R0, R0, R3 ; Subtract x30 from the second number

STR R0, result2 ; Store the result in memory

LD R0, newline ; Load the newline character

TRAP x21 ; Output the newline character

LD R1, num1 ; Load the first number into R1

LD R2, num2 ; Load the second number into R2

ADD R0, R1, R2 ; Add the two numbers

LD R3, negative_thirty ; Load the negative value x-30 into R3

NOT R3, R3 ; Negate the value in R3

ADD R0, R0, R3 ; Add x30 back to the result

TRAP x21 ; Output the sum

TRAP x25 ; Halt the program

result1 .FILL x0000 ; Memory location to store the first result

result2 .FILL x0000 ; Memory location to store the second result

num1 .FILL x0000 ; Memory location to store the first number

num2 .FILL x0000 ; Memory location to store the second number

negative_thirty .FILL xFFD0 ; Memory location to store the value x-30

newline .FILL x000A ; Memory location to store the newline character

.END

Binary Program: Printing the sum of Inputs
The program header should be: 0011 0000 0000 0000 ;bd1program0.bits
Choose registers in order from the list R1, R2, R3, ..., R6.
• The Problem: Take two small numerals from the console and print their sum.
The Algorithm (Twenty-four lines starting at x3000):
1. Load the (negative) value x-30 into register R3 from the third memory
cell following the TRAP x25 (HALT) at the end of the program.
2. Call TRAP x23 (called IN on page 543 of Appendix A of the text.)
3. Add R3 to RO leaving the result in RO.
4. Store RO's value to the first memory cell following HALT.
5. Load into RO the value xA from the fourth cell after HALT
6. Call TRAP x21 (called OUT on page 543 of Appendix A).
7. Call TRAP x23 again.
8. Add R3 to RO leaving the result in RO.
9. Store RO's value to the second memory cell following the HALT.
10. Load into RO the value xA from the fourth memory cell following HALT
11. Call TRAP x21
12. Load into a first chosen register the first number.
13. Load into a second chosen register the second number.
14. Add the two numbers, putting the result in RO.
15. Load into register R3 the value x-30 from the third cell after HALT
16. Use two instructions to negate the value in register R3.
17. Add R3 to RO leaving the result in RO.
18. Call TRAP x21
19. Call TRAP x25 (HALT)
20. Place x0000 (zero) here (this saves space for the first number).
21. Place x0000 (zero) here (this saves space for the second number).
22. Place the negative of the value x30 here.
23. Place the value x000A here (this is the newline character).
When the program is started, it prints a prompt and waits. To enter a number, first
click once on the console. It will turn light blue. Then type a single-digit number.
The second prompt appears right away. Just type another single-digit number (no
second click; no other keys pressed).
Transcribed Image Text:Binary Program: Printing the sum of Inputs The program header should be: 0011 0000 0000 0000 ;bd1program0.bits Choose registers in order from the list R1, R2, R3, ..., R6. • The Problem: Take two small numerals from the console and print their sum. The Algorithm (Twenty-four lines starting at x3000): 1. Load the (negative) value x-30 into register R3 from the third memory cell following the TRAP x25 (HALT) at the end of the program. 2. Call TRAP x23 (called IN on page 543 of Appendix A of the text.) 3. Add R3 to RO leaving the result in RO. 4. Store RO's value to the first memory cell following HALT. 5. Load into RO the value xA from the fourth cell after HALT 6. Call TRAP x21 (called OUT on page 543 of Appendix A). 7. Call TRAP x23 again. 8. Add R3 to RO leaving the result in RO. 9. Store RO's value to the second memory cell following the HALT. 10. Load into RO the value xA from the fourth memory cell following HALT 11. Call TRAP x21 12. Load into a first chosen register the first number. 13. Load into a second chosen register the second number. 14. Add the two numbers, putting the result in RO. 15. Load into register R3 the value x-30 from the third cell after HALT 16. Use two instructions to negate the value in register R3. 17. Add R3 to RO leaving the result in RO. 18. Call TRAP x21 19. Call TRAP x25 (HALT) 20. Place x0000 (zero) here (this saves space for the first number). 21. Place x0000 (zero) here (this saves space for the second number). 22. Place the negative of the value x30 here. 23. Place the value x000A here (this is the newline character). When the program is started, it prints a prompt and waits. To enter a number, first click once on the console. It will turn light blue. Then type a single-digit number. The second prompt appears right away. Just type another single-digit number (no second click; no other keys pressed).
Expert Solution
trending now

Trending now

This is a popular 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
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