Instrukcja kodu maszynowego Spis treści Stosowanie podprogramów wewnętrznych | Języki programowania |...


Konstrukcje programistyczne


instrukcjasemantycznajęzyka programowaniaprogramowaniekodu źródłowegojęzyku maszynowymkomputeraautorówimplementacjiprogramowania hybrydowegokodu wynikowegoprogramuprogramiściecechsystemu komputerowegojęzyków programowania wysokiego poziomuPascalBorlandsystemówTurboTurbo PascalForthkompilatorówprocesorów8080Basic




Instrukcja kodu maszynowego, podprogram wewnętrzny – instrukcja (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.




Spis treści






  • 1 Stosowanie podprogramów wewnętrznych


  • 2 Języki programowania


    • 2.1 Turbo/Borland Pascal


    • 2.2 Forth


    • 2.3 Basic




  • 3 Zobacz też


  • 4 Przypisy





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ż |



  • Instrukcja (informatyka)

  • Język maszynowy

  • Programowanie hybrydowe



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





Popular posts from this blog

Paper upload error, “Upload failed: The top margin is 0.715 in on page 3, which is below the required...

Emraan Hashmi Filmografia | Linki zewnętrzne | Menu nawigacyjneGulshan GroverGulshan...

How can I write this formula?newline and italics added with leqWhy does widehat behave differently if I...