**Specification and Requirements** Implement a rudimentary paint program in 80x86 Assembly language. The program will preserve the current video mode, switch to Mode 13h, initialise the mouse, show the mouse cursor, and then enter a main program loop. The main program loop will get the mouse coordinates and button status, then if the left mouse button is down and the mouse cursor is at coordinate (0,0), exit the main program loop. Otherwise, if the left mouse button is down, plot COLOR #1 at the screen coordinate corresponding to the mouse cursor position. The main program loop is continued. Upon exiting, you must hide the mouse cursor and restore the video mode.
The mouse cursor should not flicker. Recall that the screen coordinates and mouse coordinates are not the same. You are welcome to use procedures from the group assignments, but I encourage you to re-implement them individually for maximum benefit. Consult your class notes for remaining details.
* *The mouse cursor does not flicker.*
* *Program operates in Mode 13h.*
* *Video mode is restored on exit.*
* *Mouse cursor is hidden on exit.*
* *Pixels are plotted on screen correctly.*
* *Program exits when mouse is clicked at (0,0).*
**Format and Restrictions**
* Procedures conform to the calling conventions discussed in class.
* **Every** line of assembly code must be commented effectively.
* Limit length of each line in your file to 79 columns.
* Do not use auto-incrementing 'loop' instructions.
* Source code file must conform to the format provided in the handout in class on 21 Aug 2003.
* Make the title in the file header block "Simple Paint".
* A module description must precede each procedure, as in prior assignments.
**THE DEADLINE FOR THIS IS THURSDAY NOVEMBER 13 2003 (US MOUNTAIN TIME)**