ik moet voor school een robot arm aansturen vanaf de computer. dit moet ik via de parallelle poort doen, maar ik krijg het script niet werkend

dit vond ik op internet
http://www.arunet.co.uk/tkboyd/ele1pp.htm

dat script heb ik toen gemaakt, als test of ik 123 naar de poort kon sturen

deze foutmelding kreeg ik toen


uitgang.pas(5,10) Error: Unknown identifier "AX"
uitgang.pas(5,11) Error: Unknown identifier "DX"
uitgang.pas(5,11) Error: Asm: [xchg ???,???] invalid combination of opcode and operands
uitgang.pas(6,9) Error: Unknown identifier "DX"
uitgang.pas(6,10) Error: Unknown identifier "AL"
uitgang.pas(6,10) Error: Asm: [out ???,???] invalid combination of opcode and operands
uitgang.pas(12,4) Fatal: There were 6 errors compiling module, stopping
uitgang.pas(12,4) Fatal: Compilation aborted

weet iemand hoe ik dit verder moet doen? onze leraren weten het niet, en volgens de boeken hier, hoef je ax dx en al niet als identefier te zetten

mvrgr nilvo

beetje weinig info.. gebruik je pascal of turbo pascal.
wat is je nivo, hoeveelste jaar hoe goed ben je met de software.

weet je wat de software doet. kun je eigenhandig procedures schrijven ??

denk zelf uit wat ik nu lees en las op die website is dat je de verkeerde compiler gebruikt voor de verkeerde software... MAW de software is niet geschreven voor jou pascal versie.. dus probeer eerst te snappen wat hij doet en schrijf dan met wat logica je eigen programma dat hetzelde doet..

leer je ook wat :)

Edit: post ook je software zoals je die nu hebt even tussen [code ] [/code ]

ik ben 2e jaars mts plus, nivo 4, heb weinig ervaring met turbo pascal, ben sinds 4 weken geleden begonnen met turbo pascal leren, het is maar voor 1 prestatie nodig, dus leer alleen het brood nodige. ook heb ik nog 1 week en dan moet er een resultaat zijn.


procedure PortOut (IOport:word; Value:byte);

begin
 asm
  xchg ax,dx
  out dx,al
 end;
end;

begin
PortOut(888,123);
end.

dit vond ik op internet

en dit maakte ik er van als besturing voor de robot arm


program Robot;

uses crt;
procedure Portout (IOport:word; Value:byte);

begin
 asm
  xchg ax,dx
  out dx,al
 end;
end;

VAR doorgaan, commando : real;

label 01, 02, 03, 04, 05, 06, 07, 08, 09, 10 ;

BEGIN
10 : write('typ 1(rechtsom), 2(linksom), 3(omhoog), 4(omlaag), 5(naar voren), 6(naar achter), 7(naar links), of 8(naar rechts) ');
      readln (commando);
      if commando = 1 then
       goto 01;
      if commando = 2 then
       goto 02;
      if commando = 3 then
       goto 03;
      if commando = 4 then
       goto 04;
      if commando = 5 then
       goto 05;
      if commando = 6 then
       goto 06;
      if commando = 7 then
       goto 07;
      if commando = 8 then
       goto 08;
      if commando >= 9 then
       goto 09;

01 :   PortOut(888,1);
       delay (1000);
       PortOut(888,0);
        goto 09;

02 :   PortOut(888,2);
       delay (1000);
       PortOut(888,0);
        goto 09;

03 :   PortOut(888,4);
       delay (1000);
       PortOut(888,0);
        goto 09;

04 :   PortOut(888,8);
       delay (1000);
       PortOut(888,0);
        goto 09;

05 :   PortOut(888,16);
       delay (1000);
       PortOut(888,0);
        goto 09;

06 :   PortOut(888,32);
       delay (1000);
       PortOut(888,0);
        goto 09;

07 :   PortOut(888,64);
       delay (1000);
       PortOut(888,0);
        goto 09;

08 :   PortOut(888,128);
       delay (1000);
       PortOut(888,0);
        goto 09;

09 : write ('typ 1 om door te gaan, of exit...');
     readln (doorgaan);
      if doorgaan = 1 then
       goto 10;
END.

deze foutmeldingen hou ik over


ROBOT.PAS(8,10) Error: Unknown identifier "AX"
ROBOT.PAS(8,11) Error: Unknown identifier "DX"
ROBOT.PAS(8,11) Error: Asm: [xchg ???,???] invalid combination of opcode and operands
ROBOT.PAS(9,9) Error: Unknown identifier "DX"
ROBOT.PAS(9,10) Error: Unknown identifier "AL"
ROBOT.PAS(9,10) Error: Asm: [out ???,???] invalid combination of opcode and operands
ROBOT.PAS(88) Fatal: There were 6 errors compiling module, stopping
ROBOT.PAS(88) Fatal: Compilation aborted

mvrgr nilvo

edit: nadat ik dit zag leek het mij alsof ik een zelfde soort code als uses crt; nodig heb, kan iemand zeggen of dat zo is, ben nu aan het zoeken op internet daarvoor.

ik weet waar het fout gaat hoe je het moet oplossen
je compiler vindt het niet aardig dat je ASM gebruikt in je pascal programma, turbopascal heeft hoogstwaarschijnlijk een library nodig om dit te laten werken. Borland Pascal 7.0 of hoger heeft deze er in zitten.

dus kopieer je hele programma in BP 7 en build en run.. of bekijk deze website even
http://www.geocities.com/SiliconValley/Park/3230/pas/pasl2014.html

hier staat genoeg over combineren van pascal en assembly
Edit:
Moeite waard om ook even te kijken of je Printerpoort addres klopt dit lijkt me geen 888 maar eerder 0378h

[Bericht gewijzigd door HBontekoe op ]

Turbo 6 kon het ook al. Ik weet alleen niet meer wat het statement precies is.

anders gewoon zoals aangegeven staat op de website turbo assembly 3.0 downloaden en die integreren volgens voorschriften op website ben je er ook ...

meeste scholen bieden wel TP en BP 7 of 6
dus moet geen probleem zijn om het aan de gang te krijgen