Write an assembly language program that can collect and display information about any disk on the VMS system. The program must also calculate and display how long it takes to collect the information about the disk.
To write this program you will have to use two system services: one that can determine how much CPU time your program has used and one to gather information about a device (a disk). The first task is one of the many things that the GETJPIW system service can do. The second is the principal task of the GETDVIW system service. Use of these system services is described in the handouts. The associated system macros have been described in class.
Specific requirements of your program.
1. The program should repeatedly prompt for and read a disk device name until nothing (just a carriage return)
is entered at the prompt. When nothing is entered, the program should terminate.
2. After reading a device name, get the CPU time. Then, use GETDVIW to collect the required information - do this
in a loop, collecting the same information 100 times. Then, get the CPU time again. The reason for doing GETDVIW 100
times is that doing GETDVIW just once takes too little time to measure.
3. The required information about the disk consists of the disk's actual name, the volume label, the
total number of blocks on the disk, the number of free blocks, the total number of files allowed on the disk,
and the number of errors that have occurred on the disk.
4. Calculate the elapsed CPU time for doing 100 GETDVIWs and display the information in a nice format. For example, if
the device name entered at the prompt is DISK$MEMBER, the program should display something like this.
Actual name Volume Total blks Free blks Files Errors Time _$1$DUA1140: PUBL01 4109470 2565804 410947 0 85. When the program is executed, you should enter at least five different, valid disk names. You may try logical names for the disk, such as DISK$MEMBER or the actual name for a disk such as _$1$DUA26. If you don't know any disk names, use the DCL command SHOW DEVICE; any name you see with a DU or DI in it is a disk name. Another way to find disk names is to use the command
Handin a .LIS listing of your program and the output from the program's execution, captured with CARBON.