|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 1792 (0x700) Types: TextFile Names: »STYRING.LST«
└─⟦037dced94⟧ Bits:30003312 Elevopgave i styring af skildpadde til Piccolo └─ ⟦this⟧ »STYRING.LST«
0010 PROC init CLOSED 0020 OPEN FILE 5,"/19/port", WRITE 0030 marg:=SYS(6) 0040 MARGIN 0 0050 PRINT FILE 5: CHR$(255); 0060 PRINT FILE 5: CHR$(192); 0070 CLOSE FILE 5 0080 OPEN FILE 5,"/17/port", WRITE 0090 PRINT FILE 5: CHR$(0); // sikre bl.a at relæer er brudt 0100 CLOSE FILE 5 0110 MARGIN marg 0120 ENDPROC init 0130 0140 PROC motor(nr,retning,trin) CLOSED 0150 // retning > 0 drejer med uret og retning <0 drejer mod uret 0160 // trin angiver hvor mange gange 7.5 grad der drejes 0165 IMPORT vent 0170 OPEN FILE 5,"/17/port", WRITE 0180 marg:=SYS(6) 0190 MARGIN 0 0200 IF retning>0 THEN 0210 byte:=1 // 01 i binært tal 0220 ELSE 0230 byte:=3 // 11 i binært tal 0240 ENDIF 0250 CASE nr OF 0260 WHEN 1 0270 //intet d.v.s bit 0 og 1 0280 WHEN 2 0290 byte:=byte*4 // flyttes til bit 2 og 3 0300 WHEN 3 0310 byte:=byte*16 // flyttes til bit 4 og 5 0320 OTHERWISE 0330 // intet 0340 ENDCASE 0350 FOR motorskridt:=1 TO trin DO 0360 EXEC vent(4) 0370 PRINT FILE 5: CHR$(byte); 0380 EXEC vent(4) 0390 PRINT FILE 5: CHR$(0); 0400 NEXT motorskridt 0410 CLOSE FILE 5 0420 MARGIN marg 0430 ENDPROC motor 0440 0450 PROC vent(tid) CLOSED 0460 FOR i:=1 TO tid DO i:=i 0470 ENDPROC vent 0480 0490 PROC relæ(nr,on) CLOSED 0500 marg:=SYS(6) 0510 MARGIN 0 0520 OPEN FILE 5,"/17/port", WRITE 0530 CASE nr OF 0540 WHEN 1 0550 on:=on*2 // d.v.s bit 1 0560 WHEN 2 0570 on:=on*8 // flyttes til bit 3 0580 WHEN 3 0590 on:=on*32 // flyttes til bit 5 0600 OTHERWISE 0610 // intet 0620 ENDCASE 0630 PRINT FILE 5: CHR$(on); 0640 CLOSE FILE 5 0650 MARGIN marg 0660 ENDPROC relæ «eof»