ARBITER - žrodowisko Wojen Rdzeniowych Wersja 1.5 Kwiecie¤ 1995 autor: Adam Ryba Os. XXX-lecia 6/2 47-303 Krapkowice Copyright (c) 1993,95 by Adam Ryba All Rights Reserved Spis trežci. 1. Wst‘p ..................................................... 60 2. Lista plik˘w .............................................. 80 3. Wymagania sprz‘towe ....................................... 92 4. Obs’uga programu .......................................... 101 4.1. Opcja systemowa ....................................... 124 4.1.1. Polecenie O Arbitrze .............................. 129 4.1.2. Polecenie DOS-u ................................... 136 4.1.3. Polecenie Wyjžcie ................................. 147 4.2. Opcja Kompilator ...................................... 154 4.2.1. Polecenie KompilatorłKompiluj ..................... 171 4.2.2. Polecenie KompilatorłKompiluj Wielu ............... 179 4.2.3. Polecenie KompilatorłKompilacja ................... 190 4.3. Opcja Arena ........................................... 197 4.3.1. Polecenie ArenałSprawdzian ........................ 204 4.3.2. Polecenie ArenałWalka ............................. 305 4.3.3. Polecenie ArenałOcena ............................. 401 4.3.4. Polecenie ArenałTurniej ........................... 436 4.4. Opcja Opcje ........................................... 461 4.4.1. Polecenie OpcjełEdytor ............................ 468 4.4.2. Polecenie OpcjełKompilator ........................ 480 4.4.3. Polecenie OpcjełArena ............................. 493 4.4.4. Polecenie OpcjełGrupa Kontrolna ................... 535 4.4.5. Polecenie OpcjełTurniej ........................... 541 4.4.6. Polecenie OpcjełPolskie Litery .................... 559 4.4.7. Polecenie OpcjełR˘§ne ............................. 566 4.4.8. Polecenie OpcjełCzytaj Opcje ...................... 601 4.4.9. Polecenie OpcjełZapisz Opcje ...................... 608 4.5. Okno wyboru pliku ..................................... 615 4.6. Okno wyboru wielu plik˘w .............................. 638 4.7. Edytor ................................................ 653 4.8. Pomoc kontekstowa ..................................... 664 5. Kompilator Redcode ........................................ 676 5.1. Etykiety .............................................. 721 5.2. Sta’e ................................................. 736 5.3. Wyra§enia arytmetyczne ................................ 748 5.4. Komentarze ............................................ 758 5.5. B’‘dy kompilacji ...................................... 764 6. Uwagi ..................................................... 790 7. Historia .................................................. 797 1. Wst‘p. Wojny Rdzeniowe (Core Wars) cz‘sto nazywane s† gr† dla programist˘w, choŤ z popularnymi grami komputerowymi nie maj† wiele wsp˘lnego. Polegaj† one na pisaniu program˘w-wojownik˘w, kt˘rych jedynym zadaniem jest walka z podobnymi programami na wydzielonej w pami‘ci komputera arenie, zwanej rdzeniem. Wojny w r˘§nych postaciach istnia’y ju§ w latach 70-tych, ale regu’y ich obecnej formy w 1984 roku opracowali i opisali na ’amach miesi‘cznika "Scientific American" dr A.K. Dewdney i Dawid Jones z University of Western Ontario. Nad przebiegiem walk czuwa s‘dzia areny (MARS - Memory Array Redcode Simulator), program nadzoruj†cy wykonywanie walcz†cych program˘w napisanych w asemblerowym j‘zyku Redcode. Arbiter jest zintegrowanym žrodowiskiem do rozgrywania Wojen Rdzeniowych. Zawiera kompilator Redcode oraz s‘dziego walki (MARS-a) umo§liwiaj†cego uruchamianie i testowanie wojownik˘w, rozgrywanie walk pomi‘dzy nimi, ocenianie si’ poszczeg˘lnych wojownik˘w na tle wybranych grup kontrolnych oraz prowadzenie turniej˘w. 2. Lista plik˘w. CONOWEGO.TXT - spis najwa§niejszych zmian w Arbitrze 1.5, ARBITER.DOC - dokumentacja Arbitra (ten plik), ARBITER.EXE - program Arbiter, ARBITER.CFG - plik konfiguracyjny, ARBITER.HLP - plik pomocy kontekstowych, KORC.EXE - zewn‘trzny kompilator Redcode, REDLIB\*.RED - biblioteka przyk’adowych program˘w w Redcode, OBJLIB\*.OBJ - biblioteka skompilowanych wojownik˘w. 3. Wymagania sprz‘towe. Arbiter jest przeznaczony do pracy na komputerze IBM PC, PS/2 lub innym w pe’ni zgodnym, wyposa§onym w system operacyjny DOS 2.00 lub nowszy. Komputer powinien mieŤ zainstalowan† kart‘ graficzn† Hercules, CGA, MCGA, EGA, VGA lub SVGA. Twardy dysk i myszka nie s† konieczne, ale u’atwiaj† prac‘. 4. Obs’uga programu. Ekran roboczy Arbitra jest podzielony na trzy cz‘žci: belk‘ menu systemowego u g˘ry, pole robocze požrodku oraz belk‘ statusu u do’u ekranu. Menu systemowe Arbitra zawiera cztery opcje. Aby m˘c wybraŤ jedn† z nich, nale§y wejžŤ do menu klawiszem F10, po czym dokonaŤ wyboru pos’uguj†c si‘ klawiszami kursora oraz klawiszem Enter. Ka§d† opcj‘ mo§na ponadto uaktywniŤ mysz† lub kombinacj† klawiszy Alt + podžwietlona litera w nazwie opcji. Ka§da opcja zawiera w sobie kilka polece¤. Wyboru polece¤ danej opcji mo§na dokonywaŤ przy pomocy klawiszy kursora, myszy i kombinacji Alt + litera. Niekt˘re polecenia mo§na wywo’ywaŤ przy pomocy tzw. hot keys, czyli przypisanych im specjalnych kombinacji klawiszy. W polu roboczym umieszczane s† okna dialogowe s’u§†ce do komunikacji programu z u§ytkownikiem. Mo§na je obs’ugiwaŤ mysz†, klawiszami kursora, Tab, Enter i Esc oraz innymi klawiszami, w zale§nožci od rodzaju okienka. Belka statusu zawiera žci†gawk‘ aktywnych klawiszy oraz podpowied¦ kontekstow†. Tupni‘cie myszk† na žci†gawce spowoduje wykonanie wskazanego polecenia. 4.1. Opcja systemowa. Opcja systemowa mo§e byŤ wywo’ywana kombinacj† Alt-Spacja. Zawiera polecenia systemowe Arbitra. 4.1.1. Polecenie O Arbitrze. Po wybraniu tego polecenia na ekranie pojawi si‘ okienko zawieraj†ce informacj‘ o numerze wersji programu oraz o autorze Arbitra. Aby zamkn†Ť okienko nale§y nacisn†Ť Enter lub tupn†Ť myszk† na przycisku OK. 4.1.2. Polecenie DOS-u. Wybranie Polecenia DOS-u umo§liwia tymczasowe opuszczenie Arbitra i wejžcie do DOS-u. Mo§na w˘wczas uruchamiaŤ inne programy oraz u§ywaŤ polece¤ systemowych (jest to tzw. DOS Shell). Aby powr˘ciŤ z powrotem do Arbitra nale§y wprowadziŤ polecenie DOS-u EXIT. W trakcie sesji DOS-u nie nale§y uruchamiac wszelkiego rodzaju program˘w rezydentnych, jak np. DiskCache, Norton Commander, instalacje polskich liter, drivery myszki itp., chyba §e przed powrotem do Arbitra zostan† usuni‘te z pami‘ci. 4.1.3. Polecenie Wyjžcie. Polecenie Wyjžcie mo§e byŤ wywo’ane kombinacj† Alt-X. Wybranie go zako¤czy sesj‘ Arbitra, usunie go z pami‘ci oraz spowoduje powr˘t do DOS-a. 4.2. Opcja Kompilator. Opcja Kompilator zawiera polecenia kompilacji program˘w w Redcode, tj. t’umaczenia ich z postaci tekstowej zrozumia’ej dla cz’owieka (programisty) na postaŤ binarn† zrozumia’† dla s‘dziego walki, gotow† na umieszczenie na arenie. Kod wynikowy powsta’y po kompilacji mo§e byŤ zapisany na dysku w postaci pliku *.OBJ. Podczas kompilacji ka§dego programu wyžwietlana jest informacja o nazwie kompilowanego wojownika, przeznaczniu kodu wynikowego (pami‘Ť/dysk), jego d’ugožci (liczbie rozkaz˘w) oraz adresie punktu startowego liczonego wzgl‘dem pierwszego rozkazu. Programy do kompilacji pobierane s† z katalogu okrežlonego poleceniem OpcjełKompilator, natomiast po kompilacji mog† byŤ zapisywane do katalogu okrežlonego poleceniem OpcjełArena. Ježli kt˘ryž z tych katalog˘w nie b‘dzie istnia’, domyžlnie zostanie przyj‘ty katalog bie§†cy. 4.2.1. Polecenie KompilatorłKompiluj. Polecenie KompilatorłKompiluj mo§e byŤ wywo’ane klawiszem F9. Umo§liwia ono skompilowanie pojedynczego programu wybranego w oknie wyboru pliku. Kod wynikowy, w zale§nožci do aktualnego ustawienia w poleceniu KompilatorłKompilacja, mo§e byŤ zapisany na dysk do pliku *.OBJ. 4.2.2. Polecenie KompilatorłKompiluj Wielu. Polecenie KompilatorłKompiluj Wielu mo§e byŤ wywo’ane kombinacj† Ctrl-F9. Umo§liwia ono szybk† kompilacj‘ wielu (do 1000) dowolnie wybranych plik˘w ¦r˘d’owych znajduj†cych si‘ w jednym katalogu. Wyboru dokonuje si‘ w oknie wyboru wielu plik˘w. Po kompilacji wyžwietlane jest okienko zawieraj†ce informacje o liczbie plik˘w wybranych do kompilacji oraz o liczbie poprawnie skompilowanych. Po wyst†pieniu b’‘du kompilacji proces kompilowania wielu plik˘w mo§e byŤ, w zale§nožci od wyboru, kontynuowany lub przerwany. 4.2.3. Polecenie KompilatorłKompilacja. Polecenie KompilatorłKompilacja umo§liwia okrežlenie, czy tworzony podczas kompilacji kod wynikowy b‘dzie przechowywany tylko w pami‘ci, czy te§ b‘dzie zapisywany na dysk w postaci pliku *.OBJ. 4.3. Opcja Arena. Opcja Arena zawiera polecenia s’u§†ce do uruchamiania i testowania wojownik˘w, rozgrywania pojedynczych walk mi‘dzy nimi, oceniania si’ poszczeg˘lnych wojownik˘w na tle wybranych grup kontrolnych oraz do rozgrywania turniej˘w, czyli serii walk systemem "ka§dy z ka§dym". 4.3.1. Polecenie ArenałSprawdzian. Polecenie ArenałSprawdzian mo§e byŤ wywo’ywane klawiszem F7. Powoduje ono przejžcie do tzw. debuggera, narz‘dzia umo§liwiaj†cego wszechstronne przetestowanie wybranego programu. Przed rozpocz‘ciem ka§dej sesji sprawdzianu rdze¤ jest czyszczony, tzn. do ka§dej jego kom˘rki wpisywana jest instrukcja DAT 0 0. Ježli w pami‘ci jest ju§ jakiž program, np. po ostatniej kompilacji lub ostatniej sesji sprawdzianu, domyžlnie jest on umieszczany na rdzeniu, poczynaj†c od adresu bezwzgl‘dnego 0. W przeciwnym wypadku otwierane jest okno wyboru pliku, w kt˘rym nale§y wybraŤ program do testowania (pliki *.OBJ). W ka§dej chwili mo§liwe jest za’adowanie do sprawdzianu nowego programu (klawisz F3). Rdze¤ zostanie w˘wczas wyczyszczony, a nowy program zostanie umieszczony na jego pocz†tku. Okno sprawdzianu podzielone jest na trzy cz‘žci: blok informacyjny, widok fragmentu rdzenia oraz widok tablicy proces˘w. Blok informacyjny zawiera nazw‘ testowanego programu, liczb‘ aktywnych proces˘w programu, limit podzia’˘w ustalony dla sprawdzianu poleceniem OpcjełArena, numer bie§†cego procesu oraz numer aktualnie wykonywanego ruchu. Widok fragmentu rdzenia sk’ada si‘ z wierszy, z kt˘rych ka§dy przedstawia zawartožŤ jednej kom˘rki rdzenia. Ka§dy wiersz zawiera bezwzgl‘dny adres kom˘rki, nazw‘ rozkazu wraz z jego dwoma argumentami oraz z ewentualne specjalne oznaczenia. Przed adresem kom˘rki mo§e wyst†piŤ znak * b‘d†cy znacznikiem wstawienia pu’apki, natomiast po adresie mog† wyst†piŤ znaki: A - znacznik A-adresu, B - znacznik B-adresu, > - znacznik licznika programu bie§†cego procesu. Widok tablicy proces˘w zawiera numery proces˘w wojownika wraz z ich licznikami programu. Proces bie§†cy jest zaznaczony znakiem >. Wszystkie polecenia dost‘pne w sprawdzianie wywo’ywane s† przy pomocy klawiatury. Myszk† mo§na jedynie przesuwaŤ belk‘ kursora wewn†trz widoku rdzenia oraz przewijaŤ jego zawartožŤ. Aktywne s† nast‘puj†ce klawisze: Up, Down - przesu¤ belk‘ kursora o jeden wiersz w g˘r‘ lub w d˘’, Left, Right - przewi¤ widok rdzenia o jeden wiersz w g˘r‘ lub w d˘’, PgUp, PgDn - przesu¤ widok rdzenia o jedn† stron‘ w g˘r‘ lub w d˘’, czyli o wzgl‘dny adres -19 lub 19, Home, End - przesu¤ belk‘ kursora na pocz†tek lub koniec widoku fragmentu rdzenia, F3 - za’aduj do sprawdzianu nowego wojownika, F7 - wykonaj jeden rozkaz wskazywany przez licznik programu bie§†cego procesu, F8 - uruchom wojownika, Insert - wstaw lub usu¤ pu’apk‘ z kom˘rki wskazywanej belk† kursora, Ctrl-Ins - usu¤ wszystkie wstawione pu’apki, Ctrl-Del - skasuj zawartožŤ wskazanej kom˘rki wpisuj†c do niej instrukcj‘ DAT 0 0, Ctrl-P - wstaw do licznika programu bie§†cego procesu adres kom˘rki wskazywanej belk† kursora, Ctrl-S - przesu¤ belk‘ kursora pod podany adres, Ctrl-E - edycja zawartožci kom˘rki wskazywanej belk† kursora, Ctrl-Z - zamro¦ bie§†cy proces, Esc - zako¤cz sesj‘ sprawdzianu. Nacižni‘cie klawisza F7 powoduje wykonanie jednego cyklu, a w sprawdzianie w jednym cyklu wykonywana jest jedna instrukcja testowanego programu. Uruchomienie wojownika powoduje ci†g’e wykonywanie jego kolejnych rozkaz˘w a§ do nacižni‘cia jakiegož klawisza, napotkania pu’apki lub žmierci wojownika. Rozkazy mog† byŤ wykonywane z op˘¦nieniem ustalanym przy ka§dorazowym uruchomieniu wojownika lub z op˘¦nieniem domyžlnym o wartožci ustalonej poleceniem OpcjełArena. Ježli w trakcie wykonywania wojownika s‘dzia natknie si‘ na kom˘rk‘ z wstawion† pu’apk†, przerwie dzia’anie wojownika przed wykonaniem instrukcji zawartej w tej kom˘rce. Polecenie skoku (Ctrl-S) umo§liwia przeniesienie belki kursora pod podany adres. Ježli jest to konieczne, przesuwany jest tak§e widok rdzenia. Po wybraniu tego polecenia nale§y podaŤ adres - ježli b‘dzie on wykracza’ poza granice rdzenia, zostanie on "zawini‘ty" do poprawnej wartožci. Adres mo§na podaŤ jako: nnn - bezwzgl‘dny adres kom˘rki rdzenia, $nnn - wzgl‘dny adres liczony od pozycji belki kursora (np. $-12), P - adres licznika programu bie§†cego procesu, A - A-adres rozkazu wskazywanego przez bie§†cy licznik programu, B - B-adres rozkazu wskazywanego przez bie§†cy licznik programu, Pnn - adres licznika programu dowolnego istniej†cego procesu (np. P6). Polecenie edycji kom˘rki umo§liwia zmian‘ jej zawartožci. Wybranie go otwiera okienko zawieraj†ce bezwzgl‘dny adres kom˘rki oraz jej aktualn† zawartožŤ umieszczon† w polu wprowadzania danych. Podawana nowa zawartožŤ kom˘rki musi si‘ sk’adaŤ z nazwy rozkazu i jednego lub dw˘ch argument˘w. Argumenty powinny byŤ poprzedzane znakiem trybu adresowania ('#', ' ', '$', '<' lub '@'). Wprowadzone wartožci argument˘w mog† si‘ zawieraŤ w przedziale [-R, R], ale b‘d† przekszta’cone na liczby z zakresu [0, R-1], gdzie R jest wielkožci† rdzenia. [WA'91:] Wprowadzone wartožci mog† si‘ zawieraŤ w przedziale [-32768, 32767] i w takiej postaci s† wpisywane do kom˘rki. Zamro§enie procesu blokuje wykonywanie rozkazu SPL oraz prze’†czanie mi‘dzy procesami. W konsekwencji žledzony lub uruchamiany mo§e byŤ tylko zamro§ony proces. Praca w trybie zamro§onym jest sygnalizowana podžwietleniem zamro§onego procesu w widoku tablicy proces˘w oraz umieszczeniem znaku * obok numeru bie§†cego procesu w bloku informacyjnym. Wy’†czenie trybu zamro§onego nast‘puje w chwili žmierci zamro§onego procesu lub po ponownym nacižni‘ciu klawiszy Ctrl-Z. 4.3.2. Polecenie ArenałWalka. Polecenie ArenałWalka mo§e byŤ wywo’ywane klawiszem F8. Umo§liwia ono rozegranie pojedynku pomi‘dzy dwoma wojownikami. Wybiera si‘ ich w oknie wyboru wielu plik˘w. W przypadku wybrania jednego wojownika, na rdzeniu umieszczane s† dwa identyczne programy. Pojedynek rozgrywany jest zgodnie z ustawieniami polecenia OpcjełArena. W zale§nožci od ustawienia, walka mo§e byŤ szybka, obserwowana lub žledzona. Walka szybka rozgrywana jest pod k†tem jak najszybszego uzyskania wyniku. Walki s† powtarzane zgodnie ustaleniami polecenia OpcjełArena, nie ma mo§liwožci obserwowania ich przebiegu. W trakcie rozgrywania walki szybkiej na ekranie wyžwietlane s† nazwy walcz†cych wojownik˘w, zdobyte przez nich punkty, rozmiar rdzenia, na kt˘rym tocz† si‘ walki, ostatnia pocz†tkowa odleg’ožŤ pomi‘dzy wojownikami, obowi†zuj†ce limit cykli i liczba powt˘rze¤ walk, oraz licznik informuj†cy o iložci nie rozegranych jeszcze walk. Walka szybka mo§e byŤ przerwana klawiszem Esc. Walka obserwowana daje mo§liwožŤ kibicowania zmagaj†cym si‘ wojownikom, gdy§ przebieg starcia jest z grubsza odzwierciedlany na ekranie. Po zako¤czeniu walk‘ mo§na powt˘rzyŤ. Arena jest w˘wczas czyszczona, a dystans pomi‘dzy wojownikami jest ustalany na nowo. W trakcie rozgrywania walki obserwowanej na ekranie wyžwietlane s† widok rdzenia, dwa bloki informacji o wojowniku oraz blok informacyjny. Na widoku rdzenia zaznaczone s† adresy rozkaz˘w wykonanych oraz kom˘rek zapisanych przez wojownik˘w. Adresy wykonanych rozkaz˘w zaznaczone s† cyframi 1 lub 2, w zale§nožci od numeru wojownika wykonuj†cego dany rozkaz, natomiast adresy zapisanych kom˘rek kropkami w kolorze przypisanym danemu wojownikowi. Adresy licznik˘w programu bie§†cych proces˘w obu wojownik˘w s† rozjažnione. Blok informacji o wojowniku zawiera nazw‘ wojownika, jego pocz†tkow† pozycj‘ na rdzeniu (adres pierwszego rozkazu) oraz aktualn† liczb‘ aktywnych proces˘w. Blok informacyjny zawiera rozmiar rdzenia, skal‘ widoku (liczb‘ kom˘rek reprezentowanych jednym znakiem) oraz bie§†cy stan licznika cykli. Wszystkie polecenia dost‘pne w trakcie walki obserwowanej wywo’ywane s† przy pomocy klawiatury. Aktywne s† nast‘puj†ce klawisze: F7 - wykonaj po jednym rozkazie obu wojownik˘w, F8 - uruchom wojownik˘w, F9 - czyžŤ widok rdzenia, Esc - przerwij walk‘. Nacižni‘cie klawisza F7 powoduje wykonanie jednego cyklu, a podczas walki w jednym cyklu wykonywane s† dwie instrukcje, po jednej z ka§dego walcz†cego programu. Po uruchomieniu wojownicy s† wykonywani a§ do nacižni‘cia jakiegož klawisza lub žmierci kt˘regož z nich. Ich rozkazy mog† byŤ wykonywane z op˘¦nieniem ustalanym przy ka§dorazowym uruchomieniu wojownik˘w lub z op˘¦nieniem domyžlnym o wartožci ustalonej poleceniem OpcjełArena. Wyczyszczenie widoku rdzenia nie powoduje §adnych zmian na rdzeniu. Kasowany jest jedynie jego widok na ekranie, kt˘ry w trakcie d’ugiego pojedynku mo§e staŤ si‘ ma’o czytelny. Walka žledzona rozgrywana jest z mo§liwožci† žledzenia kodu obu wojownik˘w. Po zako¤czeniu walk‘ mo§na powt˘rzyŤ. Arena jest w˘wczas czyszczona, a dystans pomi‘dzy wojownikami jest ustalany na nowo. W trakcie rozgrywania walki žledzonej na ekranie wyžwietlane s† dwa widoki fragmentu rdzenia oraz licznik cykli. Ka§dy z widok˘w przypisany jest jednemu z walcz†cych wojownik˘w: nad ka§dym z nich znajduj† si‘ nazwa, numer bie§†cego procesu oraz liczba aktywnych proces˘w danego wojownika. Widok fragmentu rdzenia, podobnie jak w sprawdzianie, sk’ada si‘ z wierszy, z kt˘rych ka§dy prezentuje zawartožŤ jednej kom˘rki. Ka§dy wiersz zawiera bezwzgl‘dny adres kom˘rki oraz nazw‘ rozkazu wraz z jego dwoma argumentami. Przed adresem kom˘rki mo§e wyst†piŤ znak * b‘d†cy znacznikiem wstawienia pu’apki, natomiast po adresie mo§e wyst†piŤ znak >, b‘d†cy znacznikiem licznika programu bie§†cego procesu. Operacje przegl†dania rdzenia dzia’aj† tylko na aktywnym widoku. Aktywny widok mo§na zmieniaŤ klawiszem Tab. Belk† kursora mo§na poruszaŤ przy pomocy myszy, klawiszy kursora, PgUp, PgDn, Home i End (zobacz 4.3.1.). Ponadto aktywnymi klawiszami s†: F7 - wykonaj po jednym rozkazie obu wojownik˘w, F8 - uruchom wojownik˘w, Insert - wstaw lub usu¤ pu’apk‘ z kom˘rki wskazywanej belk† kursora, Ctrl-Ins - usu¤ wszystkie wstawione pu’apki, Ctrl-Del - skasuj zawartožŤ wskazanej kom˘rki wpisuj†c do niej DAT 0 0, Ctrl-S - przesu¤ belk‘ kursora pod podany adres, Ctrl-E - edycja zawartožci wskazanej kom˘rki, Esc - przerwij walk‘. Polecenia pracy krokowej (F7) i uruchomienia wojownik˘w (F8) dzia’aj† analogicznie, jak w walce obserwowanej, a polecenia skoku (Ctrl-S), edycji kom˘rki (Ctrl-E), kasowania kom˘rki (Ctrl-Del), wstawiania i usuwania pu’apek tak, jak w sprawdzianie. W poleceniu skoku nowy adres mo§na podaŤ jako: nnn - bezwzgl‘dny adres kom˘rki rdzenia, $nnn - wzgl‘dny adres liczony od pozycji belki kursora (np. $-12), P - adres licznika programu bie§†cego procesu, 4.3.3. Polecenie ArenałOcena. Polecenie ArenałOcena mo§e byŤ wywo’ywane kombinacj† Ctrl-F8. Umo§liwa ono okrežlenie skutecznožci wybranego wojownika na tle zadanej grupy kontrolnej. Sk’ad grupy kontrolnej, w zale§nožci od ustale¤ polecenia OpcjełR˘§ne, mo§e byŤ domyžlny, ustalony wczežniej poleceniem OpcjełGrupa Kontrolna, lub te§ ustalany w oknie wyboru wielu plik˘w bezpožrednio przed przeprowadzeniem oceny. LiczebnožŤ domyžlnej grupy kontrolnej musi si‘ miežciŤ w granicach od 1 do 15 wojownik˘w, a grupy dobieranej tu§ przed ocen†, od 1 do 1000. Ocena polega na rozegraniu serii szybkich walk pomi‘dzy ocenianym wojownikiem a ka§dym z wojownik˘w z grupy kontrolnej. SkutecznožŤ wojownika jest proporcjonalna do iložci uzyskanych przez niego punkt˘w. Walki prowadzone s† zgodnie z ustaleniami polece¤ OpcjełArena i OpcjełTurniej. Proces oceniania mo§na przerwaŤ klawiszem Esc. W trakcie oceniania wojownika na ekranie wyžwietlane s† dwa okna: okno oceny oraz okno walki szybkiej (zobacz 4.3.2.). Okno oceny zawiera nazw‘ ocenianego wojownika, jego dorobek punktowy i skutecznožŤ obliczon† wed’ug aktualnego wyniku oraz list‘ nazw wojownik˘w wchodz†cych w sk’ad grupy kontrolnej wraz z ich wynikami i skutecznožciami. KolejnožŤ wojownik˘w na ližcie zale§y od ich wynik˘w, wi‘c ježli ca’a lista nie miežci si‘ na raz na ekranie, wyžwietlana jest tylko czo’˘wka sk’adaj†ca si‘, w zale§nožci od rozmiaru ekranu, z pierwszych 15 lub 40 wojownik˘w. SkutecznožŤ danego wojownika okrežlona jest, wyra§onym w procentach, stosunkiem iložci zdobytych punkt˘w do iložci wszystkich punkt˘w mo§liwych do zdobycia przez tego wojownika. Stuprocentowa skutecznožŤ oznacza zatem, §e dany wojownik zdoby’ wszystkie mo§liwe do zdobycia punkty. Po zako¤czeniu oceniania Arbiter przygotowywuje dokumentacj‘ oceny, zawieraj†c† m.in. informacje o rodzaju rozgrywek, sposobie punktacji i warunkach walk, a tak§e rezultat oceny wojownika oraz wyniki uzyskane przez wojownik˘w z grupy kontrolnej. Dokumentacja ta mo§e byŤ zapisana na dysk w postaci gotowego do druku pliku tekstowego. 4.3.4. Polecenie ArenałTurniej. Polecenie ArenałTurniej umo§liwia ocenienie i sklasyfikowanie posiadanych wojownik˘w. IložŤ zawodnik˘w bior†cych udzia’ w turnieju mo§e si‘ zawieraŤ w granicach od 2 do 1000 wojownik˘w. Zawodnicy wybierani s† w oknie wyboru wielu plik˘w. Turniej polega na rozegraniu serii walk systemem "ka§dy z ka§dym" prowadzonych i punktowanych zgodnie z ustawieniami polece¤ OpcjełArena i OpcjełTurniej. Rozgrywki mo§na przerwaŤ klawiszem Esc. W trakcie rozgrywania turnieju na ekranie wyžwietlane s† dwa okna: okno turnieju oraz okno walki szybkiej (zobacz 4.3.2.). Okno turnieju zawiera liczb‘ zmagaj†cych si‘ zawodnik˘w, liczb‘ koniecznych do rozegrania pojedynk˘w, licznik walk informuj†cy o iložci pojedynk˘w, jakie jeszcze musz† si‘ odbyŤ i list‘ najlepszych wojownik˘w wraz z ich wynikami. KolejnožŤ wojownik˘w na ližcie zale§y od ich wynik˘w (tj. od wyliczanej na bie§†co skutecznožci), wi‘c ježli ca’a lista nie miežci si‘ na raz na ekranie, wyžwietlana jest tylko czo’˘wka sk’adaj†ca si‘, w zale§nožci od rozmiaru ekranu, z pierwszych 14 lub 39 wojownik˘w. Po zako¤czeniu rozgrywek przygotowywana jest dokumentacja turnieju, zawieraj†ca m.in. informacje o rodzaju rozgrywek, sposobie punktacji i warunkach walk oraz wyniki uzyskane przez walcz†cych zawodnik˘w. Dokumentacja ta mo§e byŤ zapisana na dysk w postaci gotowego do druku pliku tekstowego. 4.4. Opcja Opcje. Opcja Opcje zawiera polecenia umo§liwiaj†ce ustalanie parametr˘w pracy Arbitra oraz ich zapisywanie i odczytywanie z dysku (zobacz 4.4.8. i 4.4.9.). Po uruchomieniu programu przyjmuj† one wartožci odczytane z pliku ARBITER.CFG lub, ježli plik taki nie istnieje, wartožci domyžlne. 4.4.1. Polecenie OpcjełEdytor. Polecenie OpcjełEdytor umo§liwia okrežlenie parametr˘w zewn‘trznego edytora tekst˘w mog†cego s’u§yŤ do pisania program˘w w Redcode. Edytor ten mo§e byŤ uruchamiany bezpožrednio spod Arbitra kombinacj† klawiszy Alt-E. Parametrami edytora s† jego nazwa i linia parametr˘w. Nazwa edytora powinna zawieraŤ nazw‘ pliku wykonywalnego wraz ze žcie§k† dost‘pu, np. C:\DOS\EDIT.EXE. Linia parametr˘w powinna zawieraŤ wszelkie polecenia wymagane przez edytor, np. polecenia konfiguracyjne edytora lub domyžln† nazw‘ otwieranego pliku. Linia parametr˘w nie musi byŤ zdefiniowana. 4.4.2. Polecenie OpcjełKompilator. Polecenie OpcjełKompilator umo§liwia okrežlenie parametr˘w pracy wewn‘trznego kompilatora Arbitra. S† to: domyžlny standard, maska plik˘w oraz katalog ¦r˘d’owy. Maska plik˘w jest domyžlnie przyjmowanym filtrem dla plik˘w ¦r˘d’owych kompilatora. Maska mo§e okrežlaŤ np. domyžlne rozszerzenie plik˘w ¦r˘d’owych. Katalog ¦r˘d’owy wskazuje kompilatorowi miejsce na dysku, gdzie nale§y szukaŤ plik˘w ¦r˘d’owych przeznaczonych do kompilacji. Ježli katalog ten nie b‘dzie okrežlony lub podana b‘dzie nazwa nieistniej†cego katalogu, kompilator domyžlnie b‘dzie przyjmowa’ katalog bie§†cy. 4.4.3. Polecenie OpcjełArena. Polecenie OpcjełArena umo§liwia szczeg˘’owe okrežlenie warunk˘w, w jakich rozgrywane s† walki i turnieje. Rozmiar areny okrežla wielkožŤ rdzenia, na jakim toczone s† wszelkie walki, za wyj†tkiem sprawdzianu. Mo§e si‘ on zawieraŤ w granicach od 1000 do 12288 kom˘rek. Limit cykli okrežla liczb‘ ruch˘w, jak† mo§e wykonaŤ ka§da ze stron pojedynku, zanim walka zostanie uznana za nierozstrzygni‘t† (zremisowan†). Limit mo§e si‘gaŤ 1 mln cykli. W polu Powt˘rze¤ mo§na okrežliŤ liczb‘ powt˘rze¤ walk obowi†zuj†c† przy ocenie, turnieju i walce szybkiej. Podana wartožŤ musi si‘ zawieraŤ w zakresie od 1 a 200. Op˘¦nienie okrežla domyžln† d’ugožŤ przerwy pomi‘dzy wykonaniem kolejnych cykli. W sprawdzianie w jednym cyklu wykonywany jest jeden rozkaz testowanego wojownika, natomiast podczas walki wykonywane s† dwa rozkazy: po jednym z ka§dego walcz†cego programu. Podane op˘¦nienie musi si‘ miežciŤ w granicach od 0 do 65000 ms. Pole Dystans okrežla domyžln† odleg’ožŤ pocz†tkow† pomi‘dzy wojownikami na rdzeniu, jaka b‘dzie przyjmowana, gdy obowi†zywaŤ b‘dzie sta’a odleg’ožŤ. Limit proces˘w okrežla maksymaln† liczb‘ proces˘w, na jakie mo§e byŤ podzielony ka§dy z wojownik˘w. Jego wartožŤ mo§e si‘ zawieraŤ mi‘dzy 1 (brak podzia’˘w) a 16384. Standard okrežla dialekt Redcode, z jakim musi byŤ zgodny ka§dy wojownik wprowadzany na aren‘. W polu Walka mo§liwe jest okrežlenie sposobu obserwowania przebiegu pojedynczych walk. W walce žledzonej mo§liwe jest obserwowanie kodu obu wojownik˘w. W walce obserwowanej na ekranie s† odzwierciedlane zmiany na rdzeniu oraz, z grubsza, przebieg pojedynku. W walce szybkiej podawany jest tylko wynik starcia. Punkty za wygran†, remis i pora§k‘ okrežlaj† punktacj‘ odpowiednich rezultat˘w pojedynk˘w. Dystans okrežla spos˘b wyznaczania odleg’ožci pocz†tkowej pomi‘dzy wojownikami na rdzeniu. Mo§e ona byŤ przed ka§d† walk† losowana lub ustawiana na maksymaln†. Mo§e ona byŤ tak§e sta’a lub r‘cznie ustawiana przed ka§d† walk†. Katalog kompilat˘w wskazuje Arbitrowi miejsce, gdzie nale§y umieszczaŤ skompilowanych wojownik˘w i gdzie ich p˘¦niej szukaŤ. Ježli katalog ten nie b‘dzie okrežlony lub podana b‘dzie nazwa nieistniej†cego katalogu, domyžlnie b‘dzie przyjmowany katalog bie§†cy. 4.4.4. Polecenie OpcjełGrupa Kontrolna. Polecenie OpcjełGrupa Kontrolna umo§liwia ustalenie sk’adu domyžlnej grupy kontrolnej. Mo§e ona liczyŤ od 1 do 15 wojownik˘w. Wyboru dokonuje si‘ w oknie wyboru wielu plik˘w. 4.4.5. Polecenie OpcjełTurniej. Polecenie OpcjełTurniej pozwala okrežliŤ dodatkowe parametry Arbitra odnosz†ce si‘ do rozgrywek (oceny i turnieju). S† to spos˘b punktacji oraz maksymalna d’ugožŤ wojownik˘w. Spos˘b punktacji mo§e byŤ standardowy lub meczowy. Przy sposobie standardowym ka§da walka jest punktowana indywidualnie i niezale§nie od pozosta’ych, natomiast przy sposobie meczowym punktowane s† wyniki rozgrywek sk’adaj†cych si‘ z serii, powtarzanych ustalon† iložŤ razy, walk pomi‘dzy dwoma wojownikami. Tak wi‘c wojownik, kt˘ry w trzech walkach powtarzanych po 20 razy uzyska’ wyniki 90:110, 110:90 i 70:130, przy punktacji standardowej otrzyma 90+110+70=270 punkt˘w, natomiast przy punktacji meczowej 10 punkt˘w (tylko jeden wygrany mecz). Maksymalna d’ugožŤ wojownik˘w okrežla liczb‘ rozkaz˘w, jaka nie mo§e byŤ przekroczona w §adnym z wojownik˘w bior†cych udzia’ w rozgrywkach. Mo§na j† ustaliŤ co najwy§ej na 500 rozkaz˘w. 4.4.6. Polecenie OpcjełPolskie Litery. Polecenie OpcjełPolskie Litery umo§liwia dostosowanie Arbitra do sposobu kodowania polskich znak˘w w danym komputerze. Na komputerach wyposa§onych w kart‘ EGA, VGA lub SVGA mo§liwa jest tak§e programowa instalacja polskich znak˘w diakrytycznych. 4.4.7. Polecenie OpcjełR˘§ne. Polecenie OpcjełR˘§ne umo§liwia okrežlenie tych parametr˘w pracy Arbitra, kt˘re nie zosta’y zakwalifikowane do innych opcji. Rozmiar ekranu okrežla liczb‘ wierszy wyžwietlanych na ekranie. Standardowo Arbiter wyžwietla 80 kolumn i 25 wierszy, ale ježli komputer jest wyposa§ony w kart‘ EGA lub VGA, liczb‘ wierszy mo§na zwi‘kszyŤ wybieraj†c opcj‘ 43/50 linii. W˘wczas karta EGA b‘dzie pracowa’a w trybie 80x43, a VGA w trybie 80x50. Typ monitora okrežla, jak powinien byŤ kolorowany obraz generowany przez Arbitra. Mo§e on byŤ czarnobia’y (tylko czer¤ i biel), kolorowy i monochromatyczny (czer¤, biel i odcienie szarožci). Przesuwanie belki kursora okrežla zachowanie si‘ belki kursora w oknie wyboru wielu plik˘w. Ježli opcje ta jest wybrana, wybranie pliku b‘dzie powodowa’o automatyczne przesuni‘cie belki kursora na nast‘pny plik. Tabulacja wydruku rdzenia okrežla spos˘b prezentowania zawartožci rdzenia w sprawdzianie oraz podczas walki žledzonej. Ježli opcja ta jest wybrana, argumenty ka§dego rozkazu s† drukowane w odpowiednich kolumnach, zaž ježli nie jest wybrana, argumenty te s† drukowane jeden za drugim. Dopuszczenie ujemnych wartožci p˘l w CWS'88 powoduje, §e podczas wyžwietlania zawartožci rdzenia wartožci te b‘d† zamieniane na liczby ze znakiem. Przyjmowanie domyžlnego op˘¦nienia okrežla, czy ka§dorazowo przed uruchomieniem programu w sprawdzianie lub program˘w podczas walki obserwowanej albo žledzonej, powinna byŤ podawana wartožŤ op˘¦nienia. Ježli opcja ta jest wybrana, automatycznie przyjmowana b‘dzie wartožŤ domyžlna ustawiania poleceniem OpcjełArena. Ocena wg domyžlnej grupy kontrolnej okrežla, czy sk’ad grupy kontrolnej ma byŤ okrežlany ka§dorazowo przed wywo’aniem polecenia ArenałOcena, czy te§ ma byŤ przyjmowany sk’ad domyžlny, ustalany poleceniem OpcjełGrupa Kontrolna. Ježli opcja ta jest wybrana, przyjmowany jest sk’ad domyžlny. 4.4.8. Polecenie OpcjełCzytaj Opcje. Polecenie OpcjełCzytaj Opcje umo§liwia odczytanie wszystkich ustale¤ konfiguracyjnych, zapisanych uprzednio do pliku poleceniem OpcjełZapisz Opcje. Wyb˘r pliku konfiguracyjnego dokonywany jest w oknie wyboru pliku. 4.4.9. Polecenie OpcjełZapisz Opcje. Polecenie OpcjełZapisz Opcje umo§liwia zapisanie na dysk wszystkich ustale¤ konfiguracyjnych. Nazw‘ pliku ustala si‘ w oknie wyboru pliku. 4.5. Okno wyboru pliku. Okno to s’u§y do wybierania pojedynczego pliku spožr˘d ju§ istniej†cych lub do podawania nazw dla nowych plik˘w. Zawiera ono pole nazwy pliku, list‘ plik˘w, pole informacji o pliku oraz standardowe przyciski OK i Anuluj. W polu nazwy mo§na wpisaŤ nazw‘ wybranego pliku lub mask‘ plik˘w b‘d†c† filtrem dla listy plik˘w. Do pola nazwy przyczepiony jest rejestrator zapami‘tuj†cy wczežniej wprowadzone dane i umo§liwiaj†cy wybranie jednej z nich do ponownego u§ycia. Lista plik˘w zawiera nazwy plik˘w znajduj†cych si‘ w bie§†cym katalogu pokrywaj†ce si‘ z mask† z pola nazwy, wszystkie podkatalogi oraz katalog rodzicielski. Po ližcie mo§na si‘ poruszaŤ u§ywaj†c myszki oraz klawiszy kursora. Dost‘pna jest tak§e opcja szybkiego wyszukiwania pliku (katalogu) o okrežlonej nazwie: naciskaj†c klawisze z kolejnymi literami nazwy szukanego pliku (razem z Shift, ježli jest to nazwa katalogu) przesuwamy belk‘ kursora na plik (katalog) odpowiadaj†cy podanym ju§ znakom. Plik mo§na wybraŤ z listy u§ywaj†c myszki (podw˘jne tupni‘cie) lub klawisza Enter. Pole informacji o pliku zawiera katalog, nazw‘, rozmiar, dat‘ i czas utworzenia aktualnie wybieranego pliku. 4.6. Okno wyboru wielu plik˘w. Okno to s’u§y do wskazywania wielu plik˘w znajduj†cych si‘ w jednym katalogu. Zawiera ono list‘ plik˘w, pole informacji o pliku, standardowe przyciski OK i Anuluj oraz przyciski Wstaw i Usu¤, kt˘re powoduj† odpowiednio wstawienie lub usuni‘cie pliku wskazywanego przez belk‘ kursora z listy plik˘w wybranych. Lista plik˘w funkcjonuje identycznie, jak w oknie wyboru jednego pliku (zobacz 4.5.) z tym, §e wstawienie lub usuni‘cie pliku z listy wybranych plik˘w przy pomocy klawiatury polega na nacižni‘ciu klawisza spacji, a klawisz Enter zatwierdza dokonany wyb˘r wielu plik˘w. Pole informacji o pliku zawiera katalog, nazw‘, rozmiar, dat‘ i czas utworzenia pliku wskazywanego przez belk‘ kursora. 4.7. Edytor. Arbiter nie jest wyposa§ony we w’asny edytor tekst˘w, kt˘ry m˘g’by s’u§yŤ pisaniu program˘w w Redcode. Nale§y w tym celu u§ywaŤ dowolnego innego edytora pracuj†cego w trybie ASCII, np. systemowego EDIT.COM. Nie oznacza to jednak, §e aby uruchomiŤ taki edytor, trzeba opužciŤ žrodowisko Arbitra. W Arbitrze uruchomienie zewn‘trznego edytora jest mo§liwe z poziomu menu systemowego kombinacj† Alt-E, po uprzednim ustaleniu jego parametr˘w poleceniem OpcjełEdytor. 4.8. Pomoc kontekstowa. W ka§dym momencie pracy z Arbitrem mo§na nacisn†Ť klawisz F1 i uzyskaŤ pomoc kontekstow† zawieraj†c† informacje dotycz†ce sytuacji, w jakiej aktualnie znajduje si‘ u§ytkownik. Tekst pomocy mo§na przewijaŤ u§ywaj†c myszy, klawiszy Home, End, PgUp, PgDn, Ctrl-PgUp i Ctrl-PgDn oraz klawiszy kursora. Wewn†trz tekst˘w pomocy mog† si‘ znajdowaŤ odsy’acze do pomocy o innych kontekstach (has’a podžwietlone). Mo§na je wybieraŤ myszk† lub klawiszami Tab i Enter. 5. Kompilator Redcode. Arbiter jest wyposa§ony w doskona’y kompilator u’atwiaj†cy pisanie program˘w w Redcode. Umo§liwia on stosowanie etykiet, sta’ych oraz wyra§e¤ arytmetycznych operuj†cych na liczbach ca’kowitych. Kompilacja jest dwuprzebiegowa. Przy pierwszym przebiegu deklarowane s† etykiety, a dopiero w drugim deklarowane s† sta’e, wyznaczane s† wartožci wyra§e¤ arytmetycznych oraz generowany jest kod wynikowy. Format zapisu wierszy programu jest wzgl‘dnie dowolny. Kompilator nie rozr˘§nia du§ych i ma’ych liter. Rozkazy, etykiety, liczby itp. mog† byŤ oddzielane znakami tabulacji i spacjami, a argumenty mog† byŤ jeszcze oddzielane od siebie przecinkami. Kompilator pos’uguje si‘ poj‘ciem identyfikatora - s† nimi etykiety oraz sta’e. Nazwy identyfikator˘w mog† posiadaŤ do 16 znak˘w znacz†cych, kt˘rymi s† litery, cyfry i znaki podkrežlenia. Nazwy identyfikator˘w nie mog† zaczynaŤ si‘ cyfr†. W jednym programie mo§na zadeklarowaŤ 300 r˘§nych identyfikator˘w. Program w Redcode powinien ko¤czyŤ si‘ pseudoinstrukcj† END, kt˘rej wyst†pienie jest traktowane przez kompilator tak, jak napotkanie ko¤ca pliku. Mo§na przy jej pomocy r˘wnie§ okrežliŤ, od kt˘rego wiersza ma byŤ wykonywany program. Aby ustawiŤ punkt startowy na wiersz oznaczony etykiet† init (zobacz 5.1.), program nale§y zako¤czyŤ sekwencj†: END init Ježli po END nie wyst†pi nazwa etykiety, program b‘dzie wykonywany od pierwszej instrukcji. [WA'91:] Ježli po END nie wyst†pi nazwa etykiety, kompilator za punkt startowy programu uzna wiersz z etykiet† 'start'. Ježli w programie nie wyst†pi deklaracja takiej etykiety, program b‘dzie wykonywany od pierwszej wykonywalnej instrukcji. D’ugožŤ kompilowanego programu nie mo§e przekroczyŤ 500 rozkaz˘w Redcode. Programy napisane w Redcode mo§na kompilowaŤ zar˘wno spod Arbitra, poleceniem KompilatorłKompiluj lub KompilatorłKompiluj Wielu, jak i u§ywaj†c zewn‘trznego kompilatora KORC. Oba kompilatory generuj† identyczny kod wynikowy. Zewn‘trzny kompilator KORC powinien byŤ wywo’ywany w nast‘puj†cy spos˘b: KORC [opcja] nazwa_pliku[.RED] Dopuszczalnymi opcjami s† -c i -w. Okrežlaj† one tryb pracy kompilatora, odpowiednio CWS'88 i WA'91. Domyžlnym trybem pracy jest CWS'88. 5.1. Etykiety. Etykiety s† identyfikatorami zast‘puj†cymi odwo’ania do okrežlonych kom˘rek rdzenia zawieraj†cych rozkazy wojownika. Etykieta mo§e, ale nie musi, ko¤czyŤ si‘ dwukropkiem oraz mo§e, ale nie musi, poprzedzaŤ w wierszu rozkaz Redcode. Wszystkie poni§sze przyk’ady s† zatem zapisane prawid’owo: et_1: DAT #1 et_2: DAT #2 et_3 DAT #3 et_4 DAT #4 5.2. Sta’e. Sta’e s† identyfikatorami zast‘puj†cymi liczby lub wyra§enia arytmetyczne. Sta’e mog† byŤ deklarowane wielokrotnie w dowolnych miejscach programu, zawsze jednak posiadaj† ostatnio nadan† im wartožŤ. Odwo’anie do sta’ej przed jej zadeklarowaniem jest niedozwolone. Sta’† mo§na zadeklarowaŤ dyrektyw† EQU lub znakiem r˘wnožci np.: EQU trzy 3 dwa = 2 trzy EQU dwa+1 5.3. Wyra§enia arytmetyczne. Wyra§enia arytmetyczne sk’adaj† si‘ z operator˘w i argument˘w. Dopuszczalne s† operatory dodawania (+), odejmowania (-), mno§enia (*), dzielenia ca’kowitego (/) oraz reszty z dzielenia (%). Argumentami wyra§e¤ mog† byŤ liczby, sta’e, etykiety oraz inne wyra§enia. Wartožci wyra§e¤ s† obliczane w trakcie kompilacji z zachowaniem priorytet˘w dzia’a¤. Aby zmieniŤ kolejnožŤ wykonywania dzia’a¤, nale§y stosowaŤ nawiasy. 5.4. Komentarze. Komentarzami s† dowolne teksty poprzedzone žrednikiem. Mog† si‘ one zaczynaŤ w dowolnym miejscu wiersza, natomiast ko¤cz† si‘ zawsze wraz z jego ko¤cem. Komentarze nie s† brane pod uwag‘ w trakcie kompilacji. 5.5. B’‘dy kompilacji. W przypadku wyst†pienia b’‘du w trakcie kompilacji, na ekranie wyžwietlane s† kod b’‘du wraz ze s’ownym objažnieniem, nazwa kompilowanego wojownika z numerem wiersza, w kt˘rym wyst†pi’ b’†d oraz trežŤ tego wiersza z zaznaczonym miejscem wykrycia b’‘du. Oto lista wszystkich b’‘d˘w kompilacji: 1. B’†d otwarcia pliku ¦r˘d’owego. 2. B’†d utworzenia pliku wynikowego. 3. Zbyt du§a liczba. 4. Nadmiarowe znaki w wierszu. 5. Spodziewany identyfikator. 6. Spodziewany nawias. 7. Z’y argument rozkazu lub b’†d w wyra§eniu arytmetycznym. 8. Nieznany rozkaz. 9. Powt˘rna deklaracja etykiety. 10. Nieznany identyfikator. 11. Zbyt du§o identyfikator˘w. 12. Zbyt d’ugi program. 13. Dzielenie przez zero. 14. Niepoprawna konstrukcja. 15. B’†d zapisu do pliku wynikowego. 16. Typ argumentu niedopuszczalny w CWS'88. 6. Uwagi. Ježli masz jakiež pytania lub uwagi dotycz†ce dzia’ania Arbitra, masz propozycje udoskonale¤ jego przysz’ych wersji lub znalaz’ež b’†d w wersji u§ywanej przez Ciebie - skontaktuj si‘ z autorem programu. 7. Historia. 1993.09.26 - wypuszczenie wersji 1.0. 1993.10.22 - wypuszczenie wersji 1.01. 1993.11.28 - wypuszczenie wersji 1.02. 1993.12.08 - wypuszczenie wersji 1.03. 1994.02.02 - wypuszczenie wersji 1.04. 1995.04.01 - wypuszczenie wersji 1.5. - usuni‘te niezgodnožci ze standardem CWS'88, - mo§na ustalaŤ limit proces˘w, - mo§na zmieniaŤ rozmiar rdzenia w sprawdzianie, - dodana edycja rdzenia w walce žledzonej.