home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1997 #3
/
amigamamagazinepolishissue03-1
/
ma_1995
/
11
/
ami043.txt
< prev
next >
Wrap
Text File
|
1997-04-07
|
7KB
|
212 lines
Asembler dla poczâtkujâcych (1)
-------------------------------
PROGRAM ASEMBLUJÂCY
<lead>
-- No, no... kurs asemblera. A moûe lepiej by sobie strzeliê krótki
programik w AMOS-ie?
-- W czym?
-- Widzisz, AMOS-a mam i znam, a tego caîego asemlera...
<a>Bartek Pampuch
<txt> -- Spoko, kolego. Wszystko ci wytîumaczë. Najpierw musisz
zdobyê odpowiednie oprogramowanie.
-- Jak to. Workbench nie wystarcza?
-- Workbench? A jak w nim napiszesz kod úródîowy?
-- A cóû to takiego: kod úródîowy?
-- Jest to tekst, zawierajâcy rozkazy dla komputera. Rozkazy te
pisane sâ w jëzyku, zwanym asemblerem.
-- Coô takiego mógîbym napisaê jakimô edytorem.
-- A nie sâdzisz, ûe komputer nie zrozumie tak napisanego tekstu?
-- To na co komu ten kod úródîowy, skoro komputer go nie rozumie?
-- Istniejâ programy (zwane asemblerami), zamieniajâce kod
úródîowy na jëzyk rozumiany przez Amigë.
-- A czy nie mógîbym pisaê programu bezpoôrednio w tym jëzyku,
rozumianym przez Amigë?
-- Owszem, mógîbyô, ale napisanie prostego programiku zajëîoby Ci
ze 3 lata, a w dodatku musiaîbyô wszystko pisaê tylko za pomocâ
dwóch liczb (0 i 1).
-- A jak sië nazywa ten asembler, zamieniajâcy kod úródîowy na
program?
-- No, takich asemblerów jest wiele, ale wydaje mi sië, ûe
najlepszy jest ASM-One.
Po kilku dniach...
-- Kupiîem sobie ASM-One'a, lecz gdy go uruchamiam, wypisuje mi:
'ALLOCATE Fast/Chip/Publ/Abs>'. Co teraz mam zrobiê?
-- Moûesz nacisnâê [Enter].
-- OK. Nacisnâîem i pojawiî sië napis: 'WORKSPACE (Max.1101)
KB>'.
-- ASM-One pyta Cië w tym momencie, ile pamiëci ma przeznaczyê na
Twój program?
-- Wpisaîem 3000 i nic sië nie staîo.
-- A to dlatego, ûe wpisaîeô liczbë wiëkszâ niû ta w nawiasie.
Oznacza ona iloôê wolnej pamiëci. Miaîeô wolne 1101 KB, a
chciaîeô uûywaê 3000 KB. Poniewaû byîo to niemoûliwe, nic sië nie
staîo.
-- Mogîem wiëc podaê liczbë z zakresu od 1 do 1101?
-- Tak, ale gdybyô wpisaî 1, to nie byîbyô w stanie utworzyê
programu, zajmujâcego nawet tylko jednâ linijkë. Najlepiej
wpisywaê liczbë od 200 do 500.
-- A co teraz?
-- Teraz moûesz wejôê do edytora tekstu (za pomocâ klawisza [Esc]).
-- Co mam zrobiê, gdy juû do niego wejdë?
-- Moûesz wpisaê swój kod úródîowy.
-- A kiedy juû go napiszë?
-- Wtedy musisz wyjôê z edytora tekstu (tak samo jak do niego
wchodziîeô, czyli za pomocâ klawisza [Esc]) ...
-- Ale wyjôcie z edytora wymaûe z pamiëci caîy mój kod úródîowy.
-- Nie, nie. Jego zawartoôê nie zostanie utracona. Jak chcesz to
sprawdziê, to napisz kilka liter, wyjdú z edytora i ponownie do
niego wejdú (pamiëtaj, klawiszem [Esc]), a zobaczysz, ûe
wszystko, co napisaîeô, ciâgle sië w nim znajduje.
-- Jak po napisaniu kodu úródîowego i wyjôciu z edytora zapisaê
program na dysk?
-- To zaleûy, czy chcesz zapisaê kod úródîowy (który bëdziesz
mógî w przyszîoôci wczytaê i ewentualnie poprawiê), czy teû
program, który bëdziesz mógî uruchomiê z Workbencha albo CLI.
-- Najpierw chcë, oczywiôcie, zapisaê kod úródîowy.
-- Dobrze. Upewnij sië wiëc, czy wyszedîeô z edytora. Jeôli tak,
to wpisz literë 'w'. Nastëpnie zostaniesz poproszony o podanie
nazwy. Pod niâ zapisany zostanie Twój kod úródîowy.
-- A jak zapisaê program, który bëdzie moûna uruchomiê?
-- Najpierw musisz wpisaê literë 'a'. ASM-One zamieni wtedy twój
kod úródîowy na jëzyk rozumiany przez Amigë.
-- A co, jeôli w programie bëdâ bîëdy?
-- Wtedy ASM-One wyôwietli linië, w której znalazî bîâd.
Bëdziesz mógî go poprawiê, wracajâc do edytora. Póúniej bëdziesz
musiaî ponownie wpisaê literë 'a'.
-- A co mam zrobiê, kiedy zlikwidujë juû wszystkie bîëdy lub ich
wcale nie bëdzie?
-- Jeûeli po wpisaniu 'a' program napisze 'No Errors', moûesz
wpisaê 'wo'. Zostaniesz poproszony o podanie nazwy. Bëdzie pod
niâ zapisany wykonywalny program.
-- A co mam zrobiê, aby uruchomiê mój program spod ASM-One'a?
-- Aby to zrobiê, musisz wpisaê 'j' zamiast 'wo'.
-- A czy bëdë mógî wczytaê kod úródîowy po wyîâczeniu lub
zresetowaniu komputera?
-- Aleû naturalnie. Kiedy uruchomisz ASM-One'a i podasz iloôê
pamiëci (przypominam -- najlepiej od 200 do 500, chyba ûe piszesz
bardzo duûy program), wpisz literë 'r'. Jako nazwë podaj të, pod
którâ zapisaîeô swój kod úródîowy. Nastëpnie wejdú ([Esc]) do
edytora, a kod úródîowy juû tam bëdzie. Teraz moûesz zmodyfikowaê
swój program lub go zasemblowaê i zapisaê (za pomocâ 'a' i 'wo').
-- Czy moglibyômy jeszcze raz wszystko podsumowaê, abym nie
zapomniaî?
-- Oczywiôcie. Uruchomimy jeszcze raz ASM-One'a, a Ty pokaûesz,
czego sië nauczyîeô?
-- Naciskam [Enter]; wpisujë liczbë 300 (mogë innâ, lecz nie
wiëkszâ niû ta w nawiasie); naciskam [Enter]; wchodzë do edytora
klawiszem [Esc] i wpisujë... co wpisaê?
-- A, niech bëdzie:
<l> move.l #1234,d0
rts
<txt>
-- A co oznaczajâ poszczególne rozkazy?
-- To na razie nieistotne. Moûesz to bezmyôlnie przepisaê.
-- Dobrze. Wpisujë..... Skoïczyîem. Teraz naciskam [Esc], aby
wyjôê z edytora, i wpisujë literë 'a', aby zasemblowaê program i
co to? Pojawiî sië komunikat '** Illegal Operator' i '1 move.l
#1234,d0'. Do kitu ten Twój ASM-One, skoro nie rozumie nawet
takiego krótkiego programu.
-- Niemoûliwe. Komputer bîëdów nie popeînia (no, chyba ûe IBM z
Pentium). To Ty popeîniîeô bîâd! Rozkazy 'move.l' i 'rts'
wpisaîeô na samym poczâtku linijki. Zapamiëtaj, ûe przed kaûdym
rozkazem musi sië znajdowaê co najmniej jedna spacja albo
tabulator. Wejdú ponownie do edytora i napraw swój bîâd.
-- Dobra. Wchodzë za pomocâ [Esc] do edytora; wpisujë przed
'move.l' i przed 'rts' kilka spacji; wychodzë z edytora i wpisujë
'a'. Na ekranie mamy: 'Pass 1..', 'Pass 2' i 'No Errors'. WOW!
Napisaîem program! Teraz zapiszë go jako 'Program1'. Wpisujë wiëc
'wo' i jako nazwë podajë 'Program1'. Zapiszë teû na wszelki
wypadek kod úródîowy. Wpisujë 'w' i jako nazwë... Co wpisaê jako
nazwë?"
-- Przyjëîo sië, ûe nazwy kodów úródîowych sâ takie same jak
nazwy programów, tylko dodatkowo zawierajâ rozszerzenie '.asm'.
-- Dobra, wiëc jako nazwë podajë 'Program1.asm'. Jak teraz wyjôê
z ASM-One'a ?
-- Wpisz '!' (wykrzyknik).
-- Wpisujë; naciskam [Enter]. Co my tu mamy? "Are you sure?" (Czy
jesteô pewien?) Wybieram YES i... BRAWO! Wróciîem do Workbencha
Uruchamiam teraz CLI i z niego mój program. I co?... Nic? Co sië,
do licha, dzieje?!"
-- Spoko majonez. Wszystko w porzâdku. Ten program nie daje po
prostu ûadnego rezultatu (chyba, ûe uruchomiîbyô go z ikony lub
przez 'Execute command...'. Wypisaîoby wtedy 'Program1 failed
returncode 1234').
-- To ja juû bëdë leciaî, bo mi zupa stygnie, ale dziëki za rady.
-- Nie ma sprawy. Wpadnij do mnie za miesiâc. Najlepiej wtedy,
gdy wyjdzie nowy numer Magazynu AMIGA.
-- Oîkej, a czego mnie nauczysz?
-- No, za miesiâc to juû nauczë Cië pisaê pierwsze programy.
-- Ôwietnie. To do przyszîego numeru MA.
-- Do przyszîego.