Instrukcja asemblerowa

Instrukcja asemblerowa – 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

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

Turbo Pascal

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:

  • w strukturalnej instrukcji asemblerowej, zawartej w bloku Pascalowym:
 asm
   instrukcje asemblera
 end
  • w podprogramie asemblerowym:
 [function | procedure] identyfikator[(parametry)][:typ_rezultatu]; assembler;
   asm
     instrukcje asemblera
   end;

Turbo C

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

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

Zobacz też