Quick Assembler's libraries Packer v1.0 (w skrócie: QAPACK lub QAP) Ten krótki programik służy do skracania źródłówek w formacie Quick Assemblera. Czasami, przy pisaniu dłuższych progra- mów zdarza się, że brakuje mi miejsca na ramdysku, aby umieścić tam potrzebne biblioteki i użytki. A jeżeli ktoś ma gołą 65-kę i ramdysk 14kB pod ROM-em? Wówczas starczy tam miejsca jedynie na QA i ew. object. Najczęściej używa się wtedy pseudorozkazu "icl". W przypadku gdy biblioteki te znajdują się na ram- dysku, czas assemblacji jest jeszcze znośny, ale jeżeli biblioteki są dołą- czane z dysku, wówczas trwa to choler- nie długo. Ratunkiem w takiej sytuacji może stać się właśnie QAP. Usuwa on z listingu komentarze, zbędne spacje i eol'e. Ponadto, usunie on cały tekst za pseu- dorozkazem "end" oraz skróci etykiety znajdujące się na początku lini do sześciu znaków. Można więc zaoszczędzić zarówno miejsce na dysku, jak i czas, który się poświęca na assemblację. Możliwe, że po skróceniu źródłówki, biblioteki te będzie można dołączyć do głównego programu kombinacją klawiszy ^Kr. Radziłbym jednak, aby najpierw zarchi- wizować biblioteki z opisami, ponieważ po spakowaniu QAP, stracą one swoją czytelność. Po wczytaniu, program się przedstawi, poda rozmiar bufora i poprosi o nazwę pliku do spakowania. Bufor rozciąga się od memlo do $b000 i dla DOS-u II+/D wyniesie on $9000. Prog można odpalić z włączonym basic'em, sam go odłączy podczas wczytywania. Przy podawaniu nazwy pliku (zarówno źródłowego, jak i docelowego), można pominąć nazwę urządzenia (domyślne to stacja z której był wczytany program; jest ono wyświetlone przy podawaniu nazwy) oraz rozszerzenie (domyślne to odpowiednio '.ASM' i '.QAP'). Ponadto, jeżeli zamiast nazwy pliku poda się cyfrę, spowoduje to zmianę numeru do- myślnej stacji, a jeżeli w nazwie użyje się znaku '*', wówczas wyświetlone zos- tanie directory plików o podanej masce. Wyjście z programu uzyskuje się poprzez wpisanie kropki zamiast nazwy pliku. Program działa na zasadzie łączenia kilku źródłówek w jedną, jeżeli ostat- nio wczytana posiadała pseudorozkaz "end", wówczas przy wczytywaniu kolej- nej, wskaźnik bufora jest zmniejszany o 5 bajtów, co powoduje że rozkaz ten jest obcinany. W tryb zapisu przechodzi się po wciś- nięciu samego klawisza 'return' przy podawaniu nazwy pliku źródłowego (ale program przejdzie w tryb zapisu tylko wtedy, jeśli w buforze są jakieś dane). Przy okazji podawana jest długość pliku po spakowaniu, przed spakowaniem, oraz stosunek tych długości w procentach. Powtórne spakowanie naturalnie nic nie da, ale może to być przydatne przy łą- czeniu dwóch źródłówek. Aby zobaczyć na czym polega to całe skracanie, proponuję jako plik docelo- wy wpisać 'E:'. Po zgraniu pliku bufor jest ponownie inicjowany i program przechodzi w tryb łączenia. Nie muszę chyba dodawać, że poprawnie pakowane są tylko poprawnie zbudowane źródłówki. Jeżeli podczas pakowania zabraknie miejsca w buforze, wówczas pojawi się komunikat 'Out of memory', zaś jeżeli pojawi się błąd 137, znaczy to, że próbuje się spakować plik bina- rny... Wersja ta nie skraca etykiet występują- cych wewnątrz lini, ale jest to do zro- bienia w wersji kolejnej, jeżeli takowa wogóle ujrzy światło dzienne. Charlie.