Write an assembly language program that uses the GETDVIW and IDTOASC system services to display selected information about any disk or terminal on the VMS system. Your program should repeatedly prompt for a device name, read it in, determine if the name is valid (if not display a message), determine if the device is a disk or a terminal, and display appropriate information. When the entered device name is blank, your program should end.
If the device is a disk, your program should display the following information: the full device name, the buffer size, the volume name, the number of free blocks, the maximum number of files, the number of cylinders on the disk, the number of tracks per cylinder, and the number of sectors per track.
If the device is a terminal, your program should display the following information: the full device name, the buffer size, the number of operations performed, the number of errors recorded, the current owner's name (username of person logged in on the terminal), and the physical device name (if there is no device name, the terminal is disconnected - display the word "Disconnected" instead of the physical device name).
Hand in an assembly listing of your program and a CARBONCOPY captured printout of your program execution in which you display information for at least three disks and at least three terminals - one of the terminals should be disconnected.
You may use the SHOW DEVICES /FULL command and specify any particular device to find out if the values your program displays are correct. You may use any disk or directory logical name, such as MEMBER:, PROJECT:, LDISK$STAR:, LDIR$COLIB: or lots of others as disk device names. If you want to use other disk names, you may give a command like SHOW DEVICES DUA or SHOW DEVICES DIA to get a brief listing of all the disks in these categories. You may use TT: to get device information about the terminal you are using. To find other terminal names (besides your own), you may use the SHOW DEVICES VTA to get a brief listing of all online and disconnected virtual terminals.
EXTRA CREDIT: Add to your program the ability to display information about printers. Printers are a little more tricky because they are regarded as "secondary" devices - see the "Hints" for Project 4, for ideas on how to handle printers. If you do this part, display the full device name, buffer size, number of operations, and error count for any spooled printer - Printers have device names beginning with the letters LTA.