1. Write a LC-3 subroutine for printing “Hello” for N times. Write a main program to input N from the keyboard, call the subroutine and then output “Hello” for N times. (20 points) 2. 1) Construct the symbol table for the following LC-3 assembly language program. (10 points) 2) Assemble it into binary machine code line by line by hand. (30 points) 4. What is an operating system? List at least three functions of an operating system. (20 points)
时间: 2023-12-06 14:45:24 浏览: 101
1. LC-3 subroutine for printing "Hello" for N times:
```
PrintHello:
ADD R2, R0, #0 ; R2 = 0
ADD R3, R0, #-6 ; R3 = -6 (ASCII code for 'H')
Loop:
BRz EndLoop ; if N = 0, exit loop
PUTc ; print character stored in R3
ADD R2, R2, #1 ; increment counter
ADD R4, R2, #-N ; R4 = N - counter
BRp Loop ; if R4 >= 0, continue loop
EndLoop:
RET ; return from subroutine
```
Main program to input N from the keyboard, call the subroutine, and output "Hello" for N times:
```
.ORIG x3000
; Prompt user to input N
LEA R0, Prompt
PUTs
; Read in N
GETc
OUT
IN
ADD R1, R0, #-10 ; convert ASCII code to decimal digit
ADD R2, R0, #0 ; store N in R2
; Call subroutine to print "Hello" for N times
JSR PrintHello
; Output newline character
PUTc
ADD R0, R0, #10
OUT
; Halt program
HALT
Prompt: .STRINGZ "Enter the value of N: "
.END
```
2. Symbol table:
| Symbol | Value |
|--------|-------|
| START | x3000 |
| COUNT | x3001 |
| RESULT | x3002 |
| LOOP | x3003 |
| | |
| ADD | x1000 |
| AND | x5000 |
| BRz | x0800 |
| JMP | xC000 |
| JSR | x4800 |
| LD | x2000 |
| LDI | xA000 |
| LDR | x6000 |
| LEA | xE000 |
| NOT | x903F |
| ST | x3000 |
| STI | xB000 |
| STR | x7000 |
2. Binary machine code:
| Instruction | Address | Binary Code |
|-------------|---------|-------------|
| .ORIG x3000 | | 0011000000000000 |
| START | x3000 | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| .END | | 0000000000000000 |
3. An operating system is a software program that manages computer hardware and software resources and provides common services for computer programs. Three functions of an operating system are:
- Resource management: An operating system manages hardware resources such as CPU, memory, and disk space, allocating them to different applications and ensuring that they are used efficiently.
- Process management: An operating system creates and manages processes, which are instances of running programs, and switches between them to give the illusion of multitasking.
- User interface: An operating system provides a user interface that allows users to interact with the computer, such as a graphical user interface or a command line interface.
阅读全文