For faster navigation, this Iframe is preloading the Wikiwand page for Instrukcja kodu maszynowego.

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

[edytuj | edytuj kod]

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

[edytuj | edytuj kod]

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

[edytuj | edytuj kod]

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);

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].

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ż

[edytuj | edytuj kod]

Przypisy

[edytuj | edytuj kod]
{{bottomLinkPreText}} {{bottomLinkText}}
Instrukcja kodu maszynowego
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?