input and output, Assembly Language


LC3 allows input from keyboard and output to display on the screen. This lab will exercise the input/output capability using LC-3 Assembly language.


1. First to all design a flow chart for this program. Then implement in LC3 assembly language. Your program will simulate a simple guessing game. The program has stored the value 6.
The program will continually ask the user to guess a number between a and 9 (see sample program input/output below.) The user enters the guess from the keyboard:
• If the guess is larger than 6; the program should output: Too big.
• If the guess is smaller than 6; the program should output: Too small.
• When the user finally guesses correctly, the program will output: Correct! You took # guesses.
• If after 9 guesses, the user has not correctly guessed the number, the program should output: Game over. Correct answer is 6.
2. You do not need to check for invalid input (alphabetical characters, punctuation, etc). If your program encounters any non digit character, the program should output (Invalid input should still count as a guess): Invalid input.
3. When using the LC-3 simulator to test your programs, you should manually load test values into these memory locations before running your program.
4. LC-3 has a set of trap vectors (See slide #10 of Lecture 7 or see Table A.3 in Appendix A of the textbook for details).
• You should use TRAP x20 (GETC), to read in a character from the keyboard.
• Followed by the instruction TRAP x21 (OUT), the character will be displayed on the screen.
• The instruction TRAP x22 (PUTS) will display null-terminated string on the screen.
5. All input and output functions use ASCII characters. You are responsible for making any conversions that are necessary.

• The ASCII code xOA causes the cursor to go to the next line (Newline).
Notes and Suggestions:
• The first line of your programs must specify the memory address of the first instruction of your program. LC-3 simulator will place your program starting at that address. For this assignment, you should place your program starting at x3000.
• Before sitting down at the computer, give some serious thought to what this program involves. Break it into sections. You might even want to draw a simple flow chart .
• Comment your code! Not only does this help you debug your program, but it will make it easier to remember what you did, should you need to look back at your code for future projects (hint, hint).

Posted Date: 2/22/2013 6:43:57 AM | Location : United States

Related Discussions:- input and output, Assignment Help, Ask Question on input and output, Get Answer, Expert's Help, input and output Discussions

Write discussion on input and output
Your posts are moderated
Related Questions
NOT : Logical Invert: The NOT instruction complements (inverts) the contents of an a memory location or operand register bit by bit. The instance are as following: Example :

Using the AddSub program from Ch3 under c:\Masm615\examples as a reference, write a program that subtracts three 16-bit integers using only registers. Insert a call DumpRegs statem

Flag Manipulation and Processor Control Instructions These instructions control the functioning of available hardware inside the processor chip. These are categorized into thes

Queue Operation :   RQ/CT0, RQ/G1-Request/Grant:   These pins are utilized by other local bus masters, in themaximum mode, to force the processor to release the loca

Hello, I just want to know how much would it cost for you to develop , debug and test a program in matlab to solve a system of equations with gauss elimination with partial pivotin

i have trying to do the homework but there is a mistake. (Counting positive and negative numbers and computing the average of numbers) write a program that reads an unspecified nu

AAA: ASCII Adjust after Addition operation the AAA instruction is executed after an ADD instruction that adds 2 ASCII coded operands to give a byte of outcome in the AL. The AAA i

(1) Write a program that will: (a) display "Enter Your Name:" (b) convert the entered name to Capital letters (if small), If any other character is entered, the program wil

write a Mips program that read a string AND PRINT IT ON THE SCREEN

Example : Add the contents of the 2000H: 0500H memory location to contents of 3000H: 0600H and store the result in 5000H: 0700H. Solution : Unlike the past example progra