Hallo, ich hatte mal ein Problem mit einem Router und mir wurde hier geholfen. Und nun habe ich noch ein Problem. Ich kenne mich überhaupt nicht mit Pascal aus, muss das aber für meine Semesterarbeit machen. Helft mir Bitte! Hier wäre das Programm: PROGRAM AD_Wandler_Abfrage; USES Crt; TYPE typLPT = RECORD Dat, Stat, Steu : Word; END; VAR LPT : typLPT; I : Byte; AD : Byte; PROCEDURE OPort(PortAddr : Word; DataByte : Byte); ASSEMBLER; ASM MOV AL, DataByte MOV DX, PortAddr OUT DX, AL END; FUNCTION IPort(PortAddr : Word) : Byte; ASSEMBLER; ASM MOV DX, PortAddr IN AL, DX END; PROCEDURE PortInit; BEGIN OPort(LPT.Dat, $00); OPort(LPT.Stat, $00); OPort(LPT.Steu, $00); END; BEGIN LPT.Dat := MemW[$0040:$0008]; { Einlesen der Parallel-Port-Nummer } LPT.Stat := LPT.Dat + 1; LPT.Steu := LPT.Dat + 2; PortInit; { Ports resetten } OPort(LPT.Dat, $01); { D0 auf 1 (Stromversorgung an) } REPEAT OPort(LPT.Steu, $00); { CS auf 0, IO auf 0 } OPort(LPT.Steu, $02); { CS auf 1, IO auf 0 } AD := 0; { alten Wandlerwert loeschen } FOR I := 7 DOWNTO 0 DO { Bit-Werte auslesen } BEGIN AD := AD SHL 1; IF IPort(LPT.Stat) AND $08 = $08 THEN BEGIN AD := AD OR 1; Write(1); END ELSE Write(0); OPort(LPT.Steu, $06); { CS auf 1, IO auf 1 } OPort(LPT.Steu, $02); { CS auf 1, IO auf 0 } END; WriteLn(AD:10); Delay(250); { etwas warten ... } UNTIL KeyPressed; ReadKey; PortInit; { Ports resetten } END.
Also wenn ich mir das Programm so anschaue würde ich sagen, dass es reicht wenn du C kannst... BEGIN ... END = { ... } Function = Funktion mit Rückgabeparameter Procedure= Funktion ohne Rückgabewert repeat ... until = while() oder do {} while() for-schleife in pascal ist wie for-schleife in C nur andere Syntax... Und ein bisschen in einem Handbuch der Pascalprogrammierung stöbern kann ja nicht so schwer sein... gruß reiner
Hast du dior den Code schon mal angeschaut? Auch ohne Pascalkentnisse kann man die Funktion des Code halbwegs gut raus bekommen. Ansonsten frage detailierter.
Anthony wrote: > Hallo, ich hatte mal ein Problem mit einem Router und mir wurde hier > geholfen. Und nun habe ich noch ein Problem. Ich kenne mich überhaupt > nicht mit Pascal aus, muss das aber für meine Semesterarbeit machen. Es ist DEINE Semesterarbeit. Ist dir eigentlich klar, dass du dein ganzes Studium mit sowas riskierst?
Auf welchem Betriebssystem soll das laufen? Das verwendet direkte Hardwarezugriffe (Assembler-Befehle IN und OUT), darum geht das nur auf MS-DOS und Windows 95 98 ME.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.