program that draws alphabet letters using PennSim’s graphics display -- 2
$30-250 USD
Fechado
Publicado há quase 4 anos
$30-250 USD
Pago na entrega
Your program will draw letters of the alphabet to the display screen. To do this program, you will need to:
• Perform loads and stores of different memory locations.
• Use I/O routines to allow a user to interact with the program.
• Manipulate memory addresses to change the color of specific pixels in the graphics display.
This is optional, but you may want to use subroutines to modularize your program.
Program Specification
• The program will ask the user to enter a letter from a specified list of letters.
• If a specified letter is entered, the program will ask the user for a specified color from a given list.
• If a specified color is entered, the program will “draw” that letter, using that color, on the display. Then the program will prompt the user for another letter, repeating the process.
• If invalid input is given, the program will return the message “That is not a valid entry” and it will halt.
• All strings printed to the screen should be separated by the line feed.
• The letters to be offered are chosen by the program writer.
o You must offer 6 total, half upper and half lowercase
o You may not choose the following letters: i, I, l.
• Each letter should take up at least half the width and height of the display screen.
• Heights should be relative to actual lower and uppercase letters.
• The program must start at address x3000.
Example prompts:
“Please enter one of the following characters: A, f, H, j, e, X”
“Please enter one of the following characters for your color choice: r(red), g(green), b(blue), y(yellow), w(white).”
Load a different OS: [login to view URL]
The original operating system file ([login to view URL]) does not allow a user program to access the memory needed for the graphic display. So please load [login to view URL] instead.
The graphic display
• Every pixel of the display has an associated memory address. A value written to that address will determine the color of that pixel.
• The PennSim graphics display (the “screen”) is 128 by 124 pixels.
o We use an (x, y) coordinate system to describe a location on the screen.
o Location (0, 0) is the top left corner.
o The x coordinate increases as we move to the right, and the y coordinate increases as we move down.
In other words, (1, 0) is one pixel to the right of (0, 0), and location (0, 1) is one pixel below (0, 0).
Location (127, 123) is the bottom right corner of the screen.
• The address of the first pixel (upper left corner) is xC000. The address of the last pixel (lower right corner) is xFDFF.
o The pixel addresses increase from left to right, top to bottom.
o In other words, increasing the address by one moves one pixel to the right. When you reach the righthand side of the display, it “wraps around” to the lefthand edge and down one row.
o Since there are 128 pixels in each row, the difference between two adjacent pixels in the vertical direction is +128 (to the pixel below) or -128 (to the pixel above).
• The address of point (x, y) can be calculated as: xC000 + x + 128y.
Pixel Color
• The value of the pixel address determines the color of the pixel.
o The 16 bits contain 5 bits for each RGB component of color: bits [14:10] for red, [9:5] for green, and [4:0] for blue. Bit 15 is ignored. The table below gives the color values (in hex) needed for this program.
Hi.
I've checked the project description.
I am fully experienced with assembly programing and graphics processing with assembly
Let me know if you have interests on my proposal.
Thanks for your time.