TRISA_MASK = [I_NOT_OPTION_SERIAL, I_ADDR_0, I_ADDR_1]; TRISB_MASK = [I_IR_Receiver]; TRISC_MASK = []; begin ... PORTA := 0; // Prepare all outputs TRISA := TRISA_MASK; // Set pins direction ... A2D_Init([LOW_BATT_SENSOR_CHANNEL], 5, adcFosc16, adm8Bits, advVdd); Baud(19200); // setup serial port assign(output, SerialPort_Output); writeln('Hello world!'); ... end. Since version 1.6, some language "extensions" may be used (with explicit activation), most of them coming from other Pascal-Like languages such as Oberon or Modula: ... FOR I in SomeVar DO <Statements> (* SomeVar may be any variable or an enumeration type *) FOR I := X TO Y BY n DO <Statements> (* Specification of the variable step value *) LOOP <Statements> END (* Forever loop *) IF Condition1 THEN <Statements> ELSIF Condition2 THEN <Statements> (* Shortcut for ELSE IF *) RETURN SomeResult (* Function's result value assignment and exit *) History PMP was created in 2006 by Philippe Paternotte and released as freeware for now, as free software in the future. The latest version is 2.0.6, September 2014. PMP has been the subject of an article in SERVO Magazine in March 2015. References External links Official forum French Developpez' site page about PMP PMP V2 pre-announcement (2013) The PMP V2 announcement on Morisca site (2014) Procedural programming languages Pascal (programming language) compilers Pascal programming language family compilers and interpreters Cross-compilers 2006 software