<

Pozycjonowanie stron www i SEO / SEM

* ilość fraz w TOP10: 2652

‘Szyjemy’ strony na miarę. Podczas projektowanie logotypów (logo), wizytówek, ulotek i plakatów # statyczne i animowane banery reklamowe # aktualizacje i optymalizacji kodu którą wykonamy

Dlatego znajdziesz na stronie wyników wyszukiwarkach google, yahoo, onet, wp, msn, netsprint, itp.

PL/M

PL/Mstrukturalny język programowania wysokiego poziomu, klasyfikowany zwykle jako asemblerowy język wysokiego poziomu ze względu na wysoki współczynnik przełożenia na język asemblera. Niegdyś stosowany był do tworzenia oprogramowania systemowego, w tym m.in. systemów operacyjnych oraz kompilatorów. Jedną z ważniejszych implementacji była wersja opracowana przez firmę Intel dla procesorów serii 8080/8085, stosowana m.in. w systemie ISIS-II oraz PL/M-86 opracowana z reguły dla potrzeb programowania procesów w systemach czasu rzeczywistego iRMX.

Składnia tego języka wzorowana jest na języku PL/1.

Spis treści

Przykład

Information icon.svg  Sprawdź też: Hello world.
/* HELLO WORLD dla systemów operacyjnych ISIS-II oraz CP/M */
HELLO: DO;
  DECLARE REP ADDRESS;
  WRITE: PROCEDURE (A,B,C,D) EXTERNAL;
    DECLARE (A,B,C,D) ADDRESS; END;
  CALL WRITE(0,.('Hello, world!'),13,.REP);
END HELLO;

Cechy

Język PL/M jest językiem umożliwiającym programowanie modularne, przy czym jedną z ważniejszych jego cech było wykonywanie przemieszczalnych modułów oraz możliwość programowania hybrydowego (PL/Masembler).

Język PL/M (jego implementacja PL/M-80) jest tak zaprojektowany, że istnieje bezpośrednie odwzorowanie konstrukcji tego języka na język maszynowy procesora Intel] 8080/8085. Kompilator ten ma opcję umożliwiającą translację programu źródłowego w PL/M na program w asemblerze.

Program w języku PL/M składa się z niezależnie kompilowanych modułów. Moduł źródłowy (najmniejsza kompilowalna jednostka) jest instrukcją strukturalną o postaci:

nazwa: DO;
     deklaracje oraz definicje
     instrukcje
  END nazwa;

Jeżeli moduł zawiera przynajmniej 1 instrukcję, to stanowi moduł podstawowy oraz od niego rozpoczyna się wykonywanie programu; przy kilku takich modułach wyróżnienie modułu głównego następuje na etapie konsolidacji. Pozostałe moduły potrafią zawierać zaledwie deklaracje oraz definicje.

W języku PL/M zmienne posiadają określane w deklaracjach atrybuty:

  • zmienne proste:
    • BYTE – bajtowe
    • ADDRESS – dwubajtowe, zmienne te potrafią oprócz liczb całkowitych przechowywać dane wskaźnikowe (należy raczej powiedzieć, że dane całkowite przechowywane w tych zmiennych bywają traktowane jako wskaźniki)
    • BASE – bazowe
  • tablicowe – tablice bywają w PL/M jednowymiarowe o ustalonym wymiarze indeksowane od zera,
  • strukturowe,
  • literały – LITERALLY 'tekst'.

Późniejsze wersje języka, jak PL/M 386 dla systemu iRMX, wprowadzają już nowe typy znane z innych języków programowania, takie jak całkowity, rzeczywisty, znakowy, umożliwiające programowanie na wyższym poziomie abstrakcji, choć bez wątpienia nadal jest możliwe programowanie bliskie sprzętowi, w tym korzystanie z ww. danych bajtowych oraz słowowych.

Pozostałe atrybuty określają inne cechy zmiennych:

  • AT(adres) – wyznacza położenie zmiennej w pamięci,
  • INITIAL(wartość) – nadanie początkowej wartości zmiennej,
  • PUBLIC – udostępnienie zmiennej dla innych modułów,
  • EXTERNAL – zmienna z innego modułu.

W deklaracjach (podobnie jak w PL/1) da się grupować identyfikatory: DECLARE (A,B) (3) ADDRESS;

Deklaracja oraz definicja procedury ma postać:

 nazwa: PROCEDURE(parametry) typ_wartości atrybuty;
              DECLARE deklaracje parametrów,
                      deklaracje zmiennych;
              instrukcje
        END nazwa;

W przypadku procedur zewnętrznych stosować trzeba deklarację o postaci jak wyżej z pominięciem deklaracji zmiennych oraz instrukcji, ale z dodatkowym atrybutem EXTERNAL. Odmienne atrybuty to PUBLIC dla procedur udostępnianych dla innych modułów oraz REENTRANT dla procedur rekurencyjnych.

Główne instrukcje języka PL/M:

Język ma także szereg wbudowanych procedur oraz predefiniowanych zmiennych.

Przykład:

PR1: DO;
  DECLARE LICZ BYTE,
          TAB(5) BYTE,
          SUM ADRESS INITAL(0);
  READTAB: PROCEDURE;
    DECLARE I BYTE;
    DO I=1 TO 5 BY 1;
      TAB(I)=INPUT(1);
    END;
  END READTAB;
  CALL READTAB;
  LICZ=1;
  DO WHILE LICZ<6;
    SUM=SUM+TAB(LICZ);
    LICZ=LICZ+1;
  END;
  OUTPUT(1)=SUM;
END PR1;

Bibliografia

Sprawdź też

Ustka | Nike Forum | www.droga.wikia.tychy.pl | Polski katalog seo - dodawaj wpisy | rośliny zielone i iglaki pielęgnacja i wegetacja