Computers and Technology

Objective The purpose of this assignment is to give students practice with I/O, left-shifting, multiplying by 2, and useful 2's complement logic.
High Level Description
Load any valid number into a register from the memory address specified in your assn 3 template and output it to the console as 16-bit two's complement binary (i. e. the native format of the LC-3) Note: Valid numbers are [ 32768, #32767] (decimal) or [x0000, x] (hex).
Your Tasks You do not yet know how to take a multi-digit decimal number from user input and convert it to binary, so for this assignment you are going to get the assembler to do that part for you: you will use the .FILL pseudo-op to take a literal (decimal or hex, as you wish) and translate it into 16-bit two's comp. binary, and store that value in the indicated memory location; and then you will Load that value from memory into R1.
You MUST use the provided assn3.asm template to set this up: it ensures that the number to be converted is always stored in the same location (the memory address specified in your template) so we can test your work; make sure you fully understand the code we provide.
At this point, your value will be stored in R1: it is now your job to extract the 1'sand O's from the number and print them out to the console one by one, from left to right.
Important things to consider
Recall the difference between a positive number and a negative number in 2's complement binary: if the most significant bit (MSB) is 0, the number is positive; if it is 1, the number is negative.
The BRanch instruction has parameters (n, z, p) which tell it to check whether a value is negative, zero, or positive (or any combination thereof).
Once you are done inspecting the MSB, how would you shift the next bit into its place so you could perform the next iteration?
Pseudocode
for(i = 15 downto 0):
if (bit[i] is a 0)
print a
eise
print a 1
shift left
CODE TEMPLATE:
.ORIG x3000 ; Program begins here
;
;Instructions
;
LD R6, Convert_addr ; R6 <-- Address pointer for Convert
LDR R1, R6, #0 ; R1 <-- VARIABLE Convert
;
;ENTER CODE HERE
;
HALT
;
;Data
;
Convert_addr .FILL xD000 ; The address of where to find the data
.ORIG xD000 ; Remote data
Convert .FILL xABCD ; <

;
;END of PROGRAM
;
.END

answer
Answers: 3

Other questions on the subject: Computers and Technology

image
Computers and Technology, 22.06.2019 15:30, coollid876
To increase sales, robert sends out a newsletter to his customers each month, letting them know about new products and ways in which to use them. in order to protect his customers' privacy, he uses this field when addressing his e-mail. attach bcc forward to
Answers: 2
image
Computers and Technology, 23.06.2019 01:10, brooklynneramos9956
Problem 1 - hashing we would like to use initials to locate an individual. for instance, mel should locate the person mark e. lehr. note: this is all upper case. generate a hash function for the above using the numbers on your telephone. you know, each letter has a number associated with it, so examine your telephone keypad. generate 512 random 3 letter initials and take statistics on a linked list array size 512 to hold this information report how many have no elements, 1 element, 2 elements, does this agree with the hashing statistics distribution?
Answers: 1
image
Computers and Technology, 23.06.2019 13:30, mads000
Drag the tiles to the correct boxes to complete the pairs. match the errors with their definitions. #name #value #ref when a formula produces output that is too lengthy to fit in the spreadsheet cell arrowright when you enter an invalid cell reference in a formula arrowright when you type text in cells that accept numeric data arrowright when you type in a cell reference that doesn’t exist arrowright reset next
Answers: 1
image
Computers and Technology, 23.06.2019 15:00, victordhernandez01
Jake really works well with numbers and is skilled with computers but doesn't work well with others. which of the jobs discussed in this unit might be best for jake? why?
Answers: 3
Do you know the correct answer?
Objective The purpose of this assignment is to give students practice with I/O, left-shifting, mult...

Questions in other subjects:

Konu
Chemistry, 02.04.2020 08:13