Question: In LC3, assemble three separate programs with comments. Here is the template for each program. .orig x3000 ; Initialize the stack. Don't worry about what

In LC3, assemble three separate programs with comments.

Here is the template for each program.

.orig x3000 ; Initialize the stack. Don't worry about what that means for now. ld r6, top_stack_addr

; DO NOT MODIFY, AND DON'T USE R6, OTHER THAN FOR BACKUP/RESTORE

; your code goes here halt

; your local data goes here

top_stack_addr .fill xFE00 ; DO NOT MODIFY THIS LINE OF CODE .end

; your subroutines go below here

In LC3, assemble three separate programs with comments. Here is the templatefor each program. .orig x3000 ; Initialize the stack. Don't worry aboutwhat that means for now. ld r6, top_stack_addr ; DO NOT MODIFY,AND DON'T USE R6, OTHER THAN FOR BACKUP/RESTORE ; your code goes

Exercise 1 Write the following subroutine, which captures a user-entered string at run-time, storing it as a null-terminated character array (just like the. STRINGZ pseudo-op, with the big difference that .STRINGZ requires a hard-coded character array at compile-time). ; Subroutine: SUB_GET_STRING ; Parameter (R1): The starting address of the character array ; Postcondition: The subroutine has prompted the user to input a string, terminated by the [ENTER] key (the "sentine1"), and has stored the received characters in an array of characters starting at (R1). the array is NULL-terminated; the sentinel character is NOT stored. Return value (R5): The number of non-sentinel chars read from the user. R1 contains the starting address of the array unchanged. This subroutine should prompt the user to enter in a string of text, ending with the [ENTER] key. The string of text will be stored starting at whatever address is specified by (R1) and will be NULL-terminated (i.e. the subroutine will store zero (x0000=#0=\0) as a sentinel at the end of the array). The entry sentinel value itself (i.e. the newline) must not be stored in the array! The subroutine returns in RS the number of non-sentinel characters entered. REMEMBER: no "ghost writing"! Echo each character as it is received from the user! Example: If the user enters: "This is really hard!", followed by [ENTER], then the array will look like this: Where the initial ' T ' is stored in the address specified by R1 (this value will not be altered by the subroutine); R5 will hold the value 14=H20 (count the characters to confirmI) Test Harness: Now write a test harness (i.e. a program that tests your subroutine to make sure it works) that does the following: 1. R1

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!