Answer the given question with a proper explanation and step-by-step solution. LC-3 Assembly Language: Would my code using bit-shift work for dividing by a thousand or do is there something wrong with it? I plan to use it to connect to a bunch of subroutines.

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.

LC-3 Assembly Language: Would my code using bit-shift work for dividing by a thousand or do is there something wrong with it?

I plan to use it to connect to a bunch of subroutines.

DIVLOOP1000
LD R4, DIVTHOU; Load Negative 1000 in R4 since we are using it divide by
; FILLS
ADD R3, R2, R4; R2 will be the value incrementing by one
BRZp DIVEND; Skip all if it is zero or positive
LD R3, HOLDER; Load Holder into R3
AND R3, R3, R1; AND R3 and R1, store back into R3
BRZ #3; If result zero, move down 3
ADD R1, R1, R1; ADD R1 by itself
ADD R1, R1, #1; ADD one to remove the remainder
BRnzp #1 Skip next line.
ADD R1, R1, R1; ADD R1 by itself without adding one
DIVEND
ADD R2, R2, #1; ADD one to R2 until done
BRnzp DIVLOOP1000; Go back to loop
DIVTHOU
DIVHUN
DIVTEN
DIVONE
HOLDER
NEWNUM
SKIPY
ST R1, NEWNUM
BRnzp SKIPY
SAVEZ FILL #0
SAVEO FILL #0
SAVET .FILL #0
SAVEH .FILL #0
SAVEF .FILL #0
SAVEI FILL #0
SAVES .FILL #0
. FILL
. FILL
. FILL #-10
. FILL #-1
. FILL b1000000000000000
.BLKW 1
#-1000
#-100
Transcribed Image Text:DIVLOOP1000 LD R4, DIVTHOU; Load Negative 1000 in R4 since we are using it divide by ; FILLS ADD R3, R2, R4; R2 will be the value incrementing by one BRZp DIVEND; Skip all if it is zero or positive LD R3, HOLDER; Load Holder into R3 AND R3, R3, R1; AND R3 and R1, store back into R3 BRZ #3; If result zero, move down 3 ADD R1, R1, R1; ADD R1 by itself ADD R1, R1, #1; ADD one to remove the remainder BRnzp #1 Skip next line. ADD R1, R1, R1; ADD R1 by itself without adding one DIVEND ADD R2, R2, #1; ADD one to R2 until done BRnzp DIVLOOP1000; Go back to loop DIVTHOU DIVHUN DIVTEN DIVONE HOLDER NEWNUM SKIPY ST R1, NEWNUM BRnzp SKIPY SAVEZ FILL #0 SAVEO FILL #0 SAVET .FILL #0 SAVEH .FILL #0 SAVEF .FILL #0 SAVEI FILL #0 SAVES .FILL #0 . FILL . FILL . FILL #-10 . FILL #-1 . FILL b1000000000000000 .BLKW 1 #-1000 #-100
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
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