PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : erstes CPU Programm



the.only.one
02.05.2009, 18:16
Hallo,

ich habe heut mein erstes Programm für den Wire CPU geschrieben und es funktioniert natürlich nicht.:D


Setup:

alloc Hydvir,20
alloc Hydreal,0
alloc Button, 0
alloc Y,0
mov ecx,0

Start:

in #Button, 0
cmp #Button, 1
je weiter
jmp Start

weiter:
bewege:
out 0, #Hydvir

warten:

in #Hydreal, 1
cmp #Hydreal, #Hydvir
je positonert
jmp warten

positoniert:

add #Hydvir, 5
out 1, #Y
add #Y,1
add ecx,1

cmp ecx, 10
je Ende
jmp bewegen

Ende:

out 0, 0
jmp Setup


Kurz zur Erklärung was es machen sollte.

Ich möchte damit eine Hydraulik steuern, die immer 5 Längen weiterfährt und dann wenn sie auf Position ist wird etwas gemacht bis jetzt zum testen eben Y ausgeben. Das soll er 10 mal machen.

Hydvir ist die Position die er anfahren soll. Hydreal die aktuelle Position.

Der Button ist zum Starten da.

Als Error gibt er mir die 2

edit:
Aso die CPU ist über clk natürlich eingeschaltet und hat eine Frequenz sowie einen data port

Aky
02.05.2009, 18:42
Müssen ein Zeilenende nicht mit einem ";" beendet werden?
Ist zumindest hier so gemacht: ZCPU TUT by Scarecrow (http://garrysmod.de/forum/showthread.php?t=15648)

the.only.one
02.05.2009, 19:07
hm hier ist es nicht so
http://www.wiremod.com/forum/cpu-tutorials/6643-foxy-cpu.html

Ich probier es aber mal aus.

edit:
Habe es jetzt mit und ohne probiert geht aber auch nicht.
Code hat auch gefehlt.


Setup:
alloc Hydvir,20;
alloc Hydreal,0;
alloc Button, 0;
alloc Y,0;
mov ecx,0;
Code;
Start:
in #Button, 0;
cmp #Button, 1;
je weiter;
jmp Start;
weiter:
fahren:
out 0, #Hydvir;
Schleife:
in #Hydreal, 1;
cmp #Hydreal, #Hydvir;
je positoniert;
jmp Schleife;
positoniert:
add #Hydvir, 5;
out 1, #Y;
add #Y,1;
add ecx,1;
cmp ecx, 10;
je Ende;
jmp fahren;
Ende:
out 0, 0;
jmp Setup;