Redcode - samouczek

Programowanie w Redcode, mimo prostoty składni oraz małej ilości rozkazów, może często okazać się trudne, zwłaszcza z początku. Właśnie dla początkujących rycerzy przeznaczony jest poniższy kurs. Nie zawiera on gotowych algorytmów, jest jedynie opisem działania różnych trybów adresowania oraz niektórych rozkazów. A więc do boju!

Rozważmy kawałek rdzenia wyglądający mniej więcej tak:

	MOV.I  $0, $1
	DAT.F  $0, $0
	DAT.F  $0, $0
	DAT.F  $0, $0
Program rozpoczyna się od pierwszego (i ostatniego, bo jedynego:) rozkazu, który jest zarazem najprostszym wojownikiem. Nie jest on co prawda ani inteligentny, ani skuteczny, ale warto się z nim zapoznać, bo może stanowić podstawę do bardziej skomplikowanych wojowników. Jak to działa? Otóż bardzo prosto. Rozkaz MOV (a dokładniej MOV.I) powoduje przepisanie komórki spod adresu względnego 0 do komórki o adresie względnym 1, czyli o komórkę dalej. Przeanalizujmy to krok po kroku (strzałka -> oznacza rozkaz, który zostanie wykonany za chwilę):
->	MOV.I  $0,  $1
	DAT.F  $0,  $0
	DAT.F  $0,  $0
	DAT.F  $0,  $0

	MOV.I  $0,  $1
->	MOV.I  $0,  $1
	DAT.F  $0,  $0
	DAT.F  $0,  $0
I dalej sytuacja się powtarza:
	MOV.I  $0,  $1
	MOV.I  $0,  $1
->	MOV.I  $0,  $1
	DAT.F  $0,  $0
itd.


Poprzedni Następny