Instrukcja asemblerowa

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

Instrukcja asemblerowa, to instrukcja umożliwiająca w określonej implementacji języka wysokiego poziomu, tworzenie fragmentów kodu źródłowego w języku asemblera.

Zastosowanie instrukcji asemblerowej[edytuj | edytuj kod]

Instrukcja asemblerowa jest specjalną instrukcją wprowadzoną, przez autorów niektórych implementacji języków wysokiego poziomu, w celu umożliwienia programowania hybrydowego: dany język wysokiego poziomuasembler. Taki sposób programowania jest stosowany przede wszystkim, w celu optymalizacji kodu wynikowego, szczególnie pod kątem wybranych fragmentów, mających istotny wpływ na wydajność wygenerowanego programu. Ponadto umożliwia programiście korzystanie z pewnych specyficznych cech konkretnego systemu komputerowego.

Instrukcja asemblera w językach programowania[edytuj | edytuj kod]

Turbo Pascal[edytuj | edytuj kod]

W implementacji języka Pascal firmy Borland, tzn. systemach programowania Borlnad/Turbo Pascal, wprowadzono możliwość programowania fragmentów kodu w asemblerze wewnętrznym, wzorowanym na dostępnym w tym pakiecie Turbo Asemblerze.

Instrukcja asemblera wewnętrznego ma postać:

 [etykieta:][przedrostki][operacje][operandy]

Etykieta jest traktowana tak, jak etykieta w Pascalu, tzn., wymaga deklaracji w sekcji label.

Instrukcja o powyższej postaci może być użyta:

 asm
   instrukcje asemblera
 end
 [function | procedure] identyfikator[(parametry)][:typ_rezultatu]; assembler;
   asm
     instrukcje asemblera
   end;

Turbo C[edytuj | edytuj kod]

Również w systemach programowania w języku C firmy Borland, tzn. pakietu Turbo C, wprowadzono możliwość stosowania asemblera wewnętrznego. W tym przypadku programowanie hybrydowe: C-asembler; polega na zastosowaniu instrukcji asemblerowej o postaci:

 asm instr_asemblera_1 [;instr_asemblera_2 [; …]]

Jak widać w powyższym przykładnie odstąpiono tu od zasady zawartej w języku C, że średnik jest terminatorem instrukcji. Dla instrukcji asemblerowej średnik jest separatorem kolejnych instrukcji asemblera zapisanych w jednym wierszu, a znak nowej linii jest terminatorem instrukcji asm. Oznacza to, że jeżeli w kolejnym wierszu maja wystąpić następne instrukcje asemblera, wymagane jest wprowadzenie nowej instrukcji asemblerowej słowem asm.

Forth[edytuj | edytuj kod]

Forth jest językiem zaliczanym w literaturze przedmiotu do tzw. asemblerowych języków wysokiego poziomu. Można w nim stosować programowanie hybrydowe: Forth-asembler. Typowymi słowami umożliwiającymi takie programowanie są: ASM( … )FORTH. Żaden standard jednak nie określa identyfikacji tych słów, co wynika z faktu, iż nie są to słowa predefiniowane przez język, lecz słowa definiowane zwykle przez implementację, za pomocą odpowiedniego kompilatora, jako rozszerzenie, zgodne z idą rozszerzalności tego języka. Innym rozwiązaniem jest zastosowanie pseudoasemblerowych rozkazów języka Forth zdefiniowanych w wielu implantacjach w podsłowniku ASSEMBLER.

Bibliografia[edytuj | edytuj kod]

  1. Andrzej Marciniak, Borland Pascal 7.0, Wyd. Nakom, Poznań 1994 r., ​ISBN 83-85060-53-7​, ISSN 0867-6011
  2. Jan Bielecki, Turbo C z grafiką na IBM PC, Wydawnictwa Naukowo-Techniczne, Warszawa 1990, Seria: Mikrokomputery, ​ISBN 83-204-1101-7
  3. Jan Ruszczyc, Poznajemy FORTH, SOETO Warszawa 1987 r., Seria: Informatyka mikrokomputerowa
  4. Jan Bielecki, Język FORTH, Wydawnictwa Naukowo-Techniczne, Warszawa 1988, Seria: Mikrokomputery, ​ISBN 83-204-0930-6

Zobacz też[edytuj | edytuj kod]