raranjbar
چهارشنبه 19 اسفند 1388, 19:57 عصر
میخواستم بدونم که این کدها به چه زبانی نوشته شده؟ اخه من فقط C# کار کردم
Directn1 VAR BYTE
Directn2 VAR BYTE
Directn3 VAR BYTE
Steps1 VAR WORD
Steps2 VAR WORD
Steps3 VAR WORD
SLEP VAR WORD
I VAR WORD
C VAR WORD
M1 VAR WORD
M2 VAR WORD
M3 VAR WORD
Dircmd1 VAR BYTE
Dircmd2 VAR BYTE
Dircmd3 VAR BYTE
DIRS = %0000000000111111 : OUTS = %0000000000010101
M1 = %0000000000000001 : M2 = %0000000000000100
M3 = %0000000000010000
Directn1 = "+" : Directn2 = "+" : Directn3 = "+"
SLEP = 5
SEROUT 16,6+$4000,["Welcome Stamp II 3x Serial RS-232 Driver!",13]
SEROUT 16,6+$4000,["by Sigernes and Lorentzen UNIS 2003",13]
SEROUT 16,6+$4000,["Command input format:",13]
SEROUT 16,6+$4000,["Cmd>+/-STEPS1 +/-STEPS2 +/-STEPS3 ",13]
SEROUT 16,6+$4000,["Input option: SPEED (msec/step)",13]
SEROUT 16,6+$4000,["Example: Cmd>+200 -200 +200 1",13]
Cmd:SEROUT 16,6+$4000,["Cmd>"]
SERIN 16, 6+$4000,[Dircmd1, DEC Steps1]
SERIN 16, 6+$4000,[Dircmd2, DEC Steps2]
SERIN 16, 6+$4000,[Dircmd3, DEC Steps3]
SERIN 16, 6+$4000,2000,nodata,[DEC SLEP]
noData:
if Dircmd1 = Directn1 then DL1
M1 = M1^%0000000000000011
DL1:
if Dircmd2 = Directn2 then DL2
M2 = M2^%0000000000001100
DL2:
if Dircmd3 = Directn3 then DL3
M3 = M3^%0000000000110000
DL3:
C = Steps1
if C > Steps2 then IFL1
C = Steps2
IFL1:
if C > Steps3 then IFL2
C = Steps3
IFL2:
FOR I = 1 to C
if Steps3 = 0 then skip3
if I > Steps3 then skip3
OUTS = OUTS^M3
M3 = M3^%0000000000110000
skip3:
if Steps2 = 0 then skip2
if I > Steps2 then skip2
OUTS = OUTS^M2
M2 = M2^%0000000000001100
skip2:
if Steps1 = 0 then skip1
if I > Steps1 then skip1
OUTS = OUTS^M1
M1 = M1^%0000000000000011
skip1:
pause SLEP
NEXT
Directn3 = Dircmd3
Directn2 = Dircmd2
Directn1 = Dircmd1
Directn1 VAR BYTE
Directn2 VAR BYTE
Directn3 VAR BYTE
Steps1 VAR WORD
Steps2 VAR WORD
Steps3 VAR WORD
SLEP VAR WORD
I VAR WORD
C VAR WORD
M1 VAR WORD
M2 VAR WORD
M3 VAR WORD
Dircmd1 VAR BYTE
Dircmd2 VAR BYTE
Dircmd3 VAR BYTE
DIRS = %0000000000111111 : OUTS = %0000000000010101
M1 = %0000000000000001 : M2 = %0000000000000100
M3 = %0000000000010000
Directn1 = "+" : Directn2 = "+" : Directn3 = "+"
SLEP = 5
SEROUT 16,6+$4000,["Welcome Stamp II 3x Serial RS-232 Driver!",13]
SEROUT 16,6+$4000,["by Sigernes and Lorentzen UNIS 2003",13]
SEROUT 16,6+$4000,["Command input format:",13]
SEROUT 16,6+$4000,["Cmd>+/-STEPS1 +/-STEPS2 +/-STEPS3 ",13]
SEROUT 16,6+$4000,["Input option: SPEED (msec/step)",13]
SEROUT 16,6+$4000,["Example: Cmd>+200 -200 +200 1",13]
Cmd:SEROUT 16,6+$4000,["Cmd>"]
SERIN 16, 6+$4000,[Dircmd1, DEC Steps1]
SERIN 16, 6+$4000,[Dircmd2, DEC Steps2]
SERIN 16, 6+$4000,[Dircmd3, DEC Steps3]
SERIN 16, 6+$4000,2000,nodata,[DEC SLEP]
noData:
if Dircmd1 = Directn1 then DL1
M1 = M1^%0000000000000011
DL1:
if Dircmd2 = Directn2 then DL2
M2 = M2^%0000000000001100
DL2:
if Dircmd3 = Directn3 then DL3
M3 = M3^%0000000000110000
DL3:
C = Steps1
if C > Steps2 then IFL1
C = Steps2
IFL1:
if C > Steps3 then IFL2
C = Steps3
IFL2:
FOR I = 1 to C
if Steps3 = 0 then skip3
if I > Steps3 then skip3
OUTS = OUTS^M3
M3 = M3^%0000000000110000
skip3:
if Steps2 = 0 then skip2
if I > Steps2 then skip2
OUTS = OUTS^M2
M2 = M2^%0000000000001100
skip2:
if Steps1 = 0 then skip1
if I > Steps1 then skip1
OUTS = OUTS^M1
M1 = M1^%0000000000000011
skip1:
pause SLEP
NEXT
Directn3 = Dircmd3
Directn2 = Dircmd2
Directn1 = Dircmd1