Instrukcja kodu maszynowego

Instrukcja kodu maszynowego, podprogram wewnętrznyinstrukcja (lub inna konstrukcja semantyczna języka), zdefiniowana w składni określonego języka programowania, umożliwiająca programowanie fragmentów kodu źródłowego w języku maszynowym danego komputera.

Stosowanie podprogramów wewnętrznych

Instrukcja kodu maszynowego 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 poziomujęzyk maszynowy. 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.

Języki programowania

Większość języków programowania wysokiego poziomu nie definiuje w swoich standardach konstrukcji programistycznych, umożliwiających kodowanie fragmentów programu w kodzie maszynowym. Takie możliwości są dodawane zwykle przez autorów konkretnych implementacji jako rozszerzenie niestandardowe.

Turbo/Borland Pascal

W implementacji języka Pascal stworzonej przez firmę Borland w ramach serii systemów programowania Turbo, o nazwie Turbo Pascal (Borland Pascal), udostępniono instrukcję inline umożliwiającą dołączanie podprogramów wewnętrznych zapisanych w kodzie maszynowym[1]. Dostępne są dwie formy stosowania tej konstrukcji:

instrukcja inline
jest traktowana jak instrukcja prosta i ma postać: inline(kody_maszynowe), przy czym poszczególne kody w postaci liczb szesnastkowych lub identyfikatorów, są rozdzielane znakiem „/”
dyrektywa inline
jest stosowana gdy cały definiowany podprogram (procedura lub funkcja) ma być zaprogramowana w kodzie maszynowym, postać definicji takiego podprogramu: <procedure | function> identyfikator [(parametry)][:typ_rezultatu]; inline(kody_maszynowe);

Forth

W wielu implementacjach języka Forth istniała możliwość kodowania w języku maszynowym w postaci kodów liczbowych. Wymaga to jedynie użycia odpowiednich słów zdefiniowanych w danej implementacji lub odpowiednich kompilatorów (w sensie języka Forth). Przykładowo w dialekcie fig-Forth dla procesorów 8080, przykładowa sekwencja otwierająca podprogram wewnętrzny to CREATE BASE @ HEX, umożliwiająca kodowanie w systemie szesnastkowym, a sekwencja kończąca to NEXT1 C3 C, , BASE ![2].

Basic

W języku Basic programiści wykorzystywali instrukcję DATA do zapisywania kodu maszynowego, Tak zapisany program mógł być, po zainicjowaniu programu w języku Basic, wykonany znacznie szybciej niż instrukcje wysokiego poziomu w tym języku.

Zobacz też

Przypisy

  1. Andrzej Marciniak, Borland Pascal 7.0, Wyd. Nakom, Poznań 1994 r., seria: Biblioteka Użytkownika Mikrokomputerów, ISBN 83-85060-53-7, ISSN 0867-6011
  2. Jan Bielecki, Język FORTH, Wydawnictwa Naukowo-Techniczne, Warszawa 1988, Seria: Mikrokomputery, ISBN 83-204-0930-6