definição e significado de PL/M | sensagent.com


   Publicitade D▼


 » 
alemão búlgaro chinês croata dinamarquês eslovaco esloveno espanhol estoniano farsi finlandês francês grego hebraico hindi holandês húngaro indonésio inglês islandês italiano japonês korean letão língua árabe lituano malgaxe norueguês polonês português romeno russo sérvio sueco tailandês tcheco turco vietnamês
alemão búlgaro chinês croata dinamarquês eslovaco esloveno espanhol estoniano farsi finlandês francês grego hebraico hindi holandês húngaro indonésio inglês islandês italiano japonês korean letão língua árabe lituano malgaxe norueguês polonês português romeno russo sérvio sueco tailandês tcheco turco vietnamês

Definição e significado de PL/M

Definição

definição - Wikipedia

   Publicidade ▼

Wikipedia

PL/M

Z Wikipedia

Skocz do: nawigacji, szukaj

PL/M to strukturalny język programowania wysokiego poziomu, lecz równocześnie należy do kategorii języków tzw. bliskich sprzętowi, czasem (potocznie) używa się określenia asemblerowy język wysokiego poziomu. Był stosowany niegdyś do tworzenia oprogramowania systemowego, w tym m.in. systemów operacyjnych i 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 głównie dla potrzeb programowania procesów w systemach czasu rzeczywistego iRMX.

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

Hello world w PL/M:

/* HELLO WORLD in ISIS-II and CP/M operating systems */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;

Język PL/M jest językiem umożliwiającym programowanie modularne, przy czym jedną z ważniejszych jego cech było tworzenie przemieszczalnych modułów i 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 posiada 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 i definicje     [instrukcje]  END nazwa;

Jeżeli moduł zawiera co najmniej 1 instrukcję, to stanowi moduł główny i 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 mogą zawierać jedynie deklaracje i definicje.W języku PL/M zmienne posiadają określane w deklaracjach atrybuty:

  • zmienne proste:
    • BYTE – bajtowe
    • ADDRESS – dwubajtowe, zmienne te mogą oprócz liczb całkowitych przechowywać dane wskaźnikowe (należy raczej powiedzieć, że dane całkowite przechowywane w tych zmiennych mogą być traktowane jako wskaźniki)
    • BASE – bazowe
  • tablicowe – tablice mogą być 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ć oczywiście nadal jest możliwe programowanie bliskie sprzętowi, w tym korzystanie z ww. danych bajtowych i słowowych.

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

  • AT(adres) – określa 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) można grupować identyfikatory:DECLARE (A,B) (3) ADDRESS;

Deklaracja i 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ć należy deklarację o postaci jak wyżej z pominięciem deklaracji zmiennych i instrukcji, ale z dodatkowym atrybutem EXTERNAL.Inne atrybuty to PUBLIC dla procedur udostępnianych dla innych modułów i REENTRANT dla procedur rekurencyjnych.

Instrukcje języka PL/M:

  • przypisania: v1, v2, …, vn = wyrażenie;
  • pusta: ;
  • grupująca:

DO; deklaracje i definicje instrukcje END;

IF wyrażenie THEN instrukcja [ELSE instr-else]

DO CASE wyrażenie"; instr_0" instr_1"instr_n" END;

DO v=e TO t [BY b]; instrukcje END;

DO WHILE wyrażenie; instrukcje END;

CALL nazwa_proc(argumenty);

RETURN [wyrażenie];

Język posiada także szereg wbudowanych procedur i 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

  1. Jan Bielecki, PL/M język programowania mikroprocesorów, Wydawnictwa Komunikacji i Łączności, Warszawa 1987, Seria: Elektronizacja, zeszyt 25
  2. Jan Bielecki, System operacyjny ISIS-II, Wydawnictwa Naukowo-Techniczne, Warszawa 1987, wydanie drugie uzupełnione, seria: Mikrokomputery, ISBN 83-204-0893-8

Zobacz też

 

todas as traduções do PL/M


Conteùdo de sensagent

  • definição
  • sinónimos
  • antónimos
  • enciclopédia

 

5346 visitantes em linha

calculado em 0,032s