Write a program that uses interrupt 10h to switch the screen to graphics mode (mode 13h). Then, switch to protected mode. While in
protected mode, write a piece of code to display a line between any two arbitrary points in any arbitrary color. (The graphics
buffer is at physical address 0A0000h.)
Write a program to copy a file from the hard disk to high memory (physical address above 1 MB.) Store the file in some fixed memory address.
Then, write another program to read the data at this address and display it on the screen. (First, read the file in real mode and store
it in low memory (real-mode accessible memory). Then, switch to protected mode and copy the file to high memory.
Write a protected mode program that checks the keyboard port (60h) repeatedly in an infinate loop until a key is pressed. Then, display
the both the character and the hexidecimal character code on the screen.
Write a protected mode procedure to display the hexidecimal contents of the following in an easy-to-read format:
all eight 32-bit registers, all six segment registers, sixteen bytes at the top of the stack. This "dump" procedure will be essential
for debugging programs since the DOS debugger cannot be used to trace through programs in protected mode. Write a skeleton main program
that switches to protected mode, stores arbitrary values in all of the registers, pushes arbitrary values on the stack, and calls the
"dump" routine.