input and output, Assembly Language

Assignment Help:

Description:

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.

Procedure:

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).


Related Discussions:- input and output

Name-offset-assemblers directive-microprocessor, NAME : Logical Name of...

NAME : Logical Name of a Module: The NAME directive which is used to assign a name to an assembly language program module. The modulecan now be mention to by its declared name.

Declare a constant in assembly language, Declare 1 constant. This can be do...

Declare 1 constant. This can be done just below the prototype section. Put the following divider above the constant section. ;************************ Constants ****************

.., Sum of series of 10 numbers and store result in memory location total

Sum of series of 10 numbers and store result in memory location total

Csc203 assembly language, I need to estimate the value of a definite integr...

I need to estimate the value of a definite integral using Riemann Sums and For our estimation let f(x) = x2 ,a=0, b=10 and n=5. Where a is the lower bound, b is the upper bound and

Data copy/transfer instructions-microprocessor, Data copy/transfer Instruct...

Data copy/transfer Instructions MOV: This data transfer instruction transfers data from one register or memory location to another register or memory location. The source can

8237 modes-microprocessor, 8237 modes : Intel 8237 can be set to four d...

8237 modes : Intel 8237 can be set to four different type of style of transfer: 1) Single - One transfer at a time,  it allow processor access to the bus between transfers

Program translation sequence, Program Translation Sequence Developing ...

Program Translation Sequence Developing a software program to accomplish a particular task, the implementer chooses an appropriate language, develops the algorithm (a sequence

PIC MCU, CAN U GIVE BRIEF THEORY

CAN U GIVE BRIEF THEORY

Program to perform one byte bcd addition-assembly program, Program : Write...

Program : Write a program to perform a one byte BCD addition. Solution : It is consider that the operands are in BCD form, but the CPU considers it as hexadecimal and acco

General bus operation-microprocessor, General Bus Operation The 8086 ha...

General Bus Operation The 8086 has a joined data and address bus commonly referred to as a time multiplexed address and data bus. The major reason behind  multiplexing address

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd