Assembler-Seminaraufgabe WS99/00 (IA)

Diskussionsergebnisse zu dieser Seminaraufgabe werden regelmäßig in die Newsgroup ptl.ia gepostet

Entwickeln Sie das Dienstprogramm TOP10, welches innerhalb eines bestimmten Verzeichnis diejenigen zehn Verzeichnisse ermittelt, deren Dateien inklusive der Dateien aller Unterverzeichnisse den meisten Speicherplatz belegen. Das zu untersuchende Verzeichnis wird TOP10 per Parameter übergeben. Fehlt dieser Parameter, geht TOP10 vom aktuellen Verzeichnis aus. Die Ausgabe pro "Top10"-Verzeichnis enthält :

Zwecks Erkennung des Verarbeitungsfortschritts soll das aktuell zu bearbeitende Verzeichnis angezeigt werden. Der dem Durchsuchen des Verzeichnisbaums zugrundeliegende Algorithmus muß eine beliebige Verzeichnistiefe (zumindest theoretisch, denn praktisch wird die Rekursion durch die Stackgröße begrenzt) und eine beliebige Anzahl von Einträgen pro Verzeichnis zulassen.

Eine Musterlösung des Dienstprogramms TOP10 liegt im EXE-Format unter der URL ftp://stud.fh-wedel.de/pub/Handout/SOFTWARE/ASS/PTL/top10.exe vor. Die nachfolgenden Screenshots vom 25.01.2000 im RZ1 mögen die Aufgabenstellung verdeutlichen :

C:\WORK>TOP10 M:\ 
SOFTWARE       95.563.068  ****************************************
ELK_TECH       88.652.615  *************************************
MEDIE~@#       69.376.388  *****************************
SEMINAR        56.808.638  ************************
UMWELT         51.313.841  *********************
MATHE          28.956.238  ************
WIRTSCH        27.226.128  ***********
TECHN~48       22.178.514  *********
PHYSIK         18.791.222  ********
DIG_KOM        12.978.034  *****

C:\WORK>TOP10 Q:\ 
MSOFFICE      139.775.781  ****************************************
MSAPPS         12.734.147  ****
NETSCAPE        7.998.203  **

C:\WORK>TOP10 V:\ 
APPS          174.832.235  ****************************************
COMPILER       73.455.711  *****************
TOOLS          19.472.325  ****

C:\WORK>TOP10 V:\APPS 
ACAD          138.732.007  ****************************************
SPSS           28.666.935  ********
B&P             3.914.619  *
TDOT            2.383.791  *
GPSSH             760.436
FLW               329.366
OMP                43.127

C:\WORK>TOP10 V:\COMPILER 
GCC2           26.271.362  ****************************************
GCC            17.346.220  **************************
TC              9.535.328  ***************
PROZPROG        4.740.501  *******
TASM            4.506.875  *******
TP6             3.012.064  *****
PASCOS          2.824.505  ****
MPZ.DOC         2.251.716  ***
SWIPL           1.045.747  **
MPZ               971.117  *

C:\WORK>TOP10 V:\TOOLS
GSVIEW16        5.167.494  ****************************************
UTIL            2.989.227  ***********************
SCAN            2.336.533  ******************
DCC             2.335.129  ******************
CTSI            1.515.604  ************
F-PROT          1.278.058  **********
PACKER          1.151.505  *********
DISPLAY         1.034.784  ********
TBAV              883.951  *******
NCSATCP           606.302  *****

C:\WORK>TOP10 W:\
OFFICE97      495.470.033  ****************************************
SAP           269.214.330  **********************
AUTOCAD       193.703.235  ****************
DEVST~FD      176.058.596  **************
OFFICE51      142.065.803  ***********
OFFICE50      124.764.983  **********
OBSOLETE       74.865.314  ******
MSIMEV_8       36.975.678  ***
GNUWIN32       33.873.013  ***
SWING~#4.3     27.819.550  **

Im Sourcecode des Dienstprogramms TOP10 sollen die Möglichkeiten der Code- und Datenstrukturierung durch Module, Segmente und Prozeduren sowie Parameterübergaben an Unterprogramme und lokale Variablen in Unterprogrammen ausgenutzt werden. Zur Ablage der Parameter und lokalen Variablen bietet sich der Stack an (vgl. Techniken von Borland TurboPascal).

Zur weiteren Information dienen insbesondere folgende Quellen :

In dieser Seminaraufgabe sind vordefinierte Module oder Makros nicht erwünscht; davon ausgenommen sind selbstverständlich alle während der Bearbeitung dieser Seminaraufgabe erstellten Module und Makros sowie alle während der Vorlesung besprochenen Beipielprogramme.

Als Zielkonfiguration für das Dienstprogramm TOP10 ist ein Personalcomputer (PC) gemäß Intel-Architektur (>= 8086) unter Microsoft DOS (>= Version 5.0) gefordert. Die Lauffähigkeit auf den Win98-PC´s im RZ5 sowie auf den WinNT-PC´s in den RZ´s 1, 2 und 3 muß gewährleistet sein.

Spätester Abgabetermin für die Seminaraufgabe ist der 26.06.2000. Für verspätete Abgaben gilt folgende Regelung : Pro Tag Verspätung (incl. Sonnabende und Sonntage) werden pauschal 5% der erreichbaren Punktzahl abgezogen (z.B. erreichbare Punktzahl = 100, erreichte Punktzahl = 80, Abgabe am 28.06.2000 (d.h. zwei Tage zu spät) => bewertete Punktzahl = 70).

Im Rahmen der Seminaraufgaben WS96/97 bis SS98 wurde ein "Newsletter-Service" angeboten. Dieses Angebot wurde ab der Seminaraufgabe WS98/99 durch eine Diskussion in der Newsgroup ptl.ia auf dem News-Server news.fh-wedel.de ersetzt.

Ansprechpartner : Birger Wolter