Przejdź do zawartości

Język niskiego poziomu: Różnice pomiędzy wersjami

Z Wikipedii, wolnej encyklopedii
[wersja nieprzejrzana][wersja przejrzana]
Usunięta treść Dodana treść
xDDD
Wycofano ostatnią zmianę treści (wprowadzoną przez 37.248.153.213) i przywrócono wersję 53169995 autorstwa 194.42.110.233
Linia 1: Linia 1:
'''Język niskiego poziomu''' – [[język programowania]] umożliwiający zapis [[Język maszynowy|rozkazów maszynowych]] za pomocą stosunkowo prostych oznaczeń symbolicznych, np. każdy język [[asembler]]owy jest językiem niskiego poziomu.
ale tomek ma małego

Miernikiem „poziomu” danego języka programowania jest również jego powiązanie ze [[Sprzęt komputerowy|sprzętem komputerowym]] (ang. ''hardware''). W asemblerze operujemy bezpośrednio na [[Rejestr procesora|rejestrach procesora]] i pośrednio także na [[Pamięć komputerowa|komórkach pamięci]], a np. w języku [[C (język programowania)|C]] programujemy za pomocą [[Instrukcja (informatyka)|instrukcji]]. Natomiast [[Java]], i inne [[Obiektowy język programowania|języki obiektowe]], pozwalają budować i następnie posługiwać się zależnościami występującymi między tzw. [[Obiekt (programowanie obiektowe)|obiektami]] – w efekcie w języku tym praktycznie „nie widzimy” sprzętu komputerowego.

Określenie „język niskiego poziomu” może być rozumiane również jako skala oceny [[Subiektywizm|subiektywnej]] danego języka programowania względem innego, np. [[C (język programowania)|C]] może być oceniany jako język niskiego poziomu przez osoby programujące w języku [[Java]].


== Kod Maszynowy ==
== Kod Maszynowy ==

Wersja z 22:32, 28 maj 2018

Język niskiego poziomujęzyk programowania umożliwiający zapis rozkazów maszynowych za pomocą stosunkowo prostych oznaczeń symbolicznych, np. każdy język asemblerowy jest językiem niskiego poziomu.

Miernikiem „poziomu” danego języka programowania jest również jego powiązanie ze sprzętem komputerowym (ang. hardware). W asemblerze operujemy bezpośrednio na rejestrach procesora i pośrednio także na komórkach pamięci, a np. w języku C programujemy za pomocą instrukcji. Natomiast Java, i inne języki obiektowe, pozwalają budować i następnie posługiwać się zależnościami występującymi między tzw. obiektami – w efekcie w języku tym praktycznie „nie widzimy” sprzętu komputerowego.

Określenie „język niskiego poziomu” może być rozumiane również jako skala oceny subiektywnej danego języka programowania względem innego, np. C może być oceniany jako język niskiego poziomu przez osoby programujące w języku Java.

Kod Maszynowy

Przedni panel minikomputera PDP-8/E. Rząd przełączników (u dołu) wykorzystywany jest do przełączania w języku maszynowym programu

Kod maszynowy jest jedynym językiem, który komputer może przeprocesować bezpośrednio, bez konieczności wcześniejszej transformacji kodu. Obecnie programiści praktycznie w ogóle nie piszą programów w kodzie maszynowym, gdyż wymaga on zwracania uwagi na liczne szczegóły, które w językach wysokopoziomowych są obsługiwane automatycznie. Ponadto wymagane jest zapamiętywanie bądź wyszukiwanie kodów liczbowych dla każdej instrukcji, a modyfikacja kodu jest bardzo trudna.

Rzeczywisty kod maszynowy jest strumieniem surowych, zwykle binarnych danych. Programista, piszący w „kodzie maszynowym” zazwyczaj dokonuje kodowania danych oraz instrukcji w nieco bardziej czytelnej formie, np. w systemie dziesiętnym, ósemkowym, lub heksadecymalnym który jest tłumaczony na wewnętrzny format przez stosowny program (ang. „Loader”) lub też wprowadzany do pamięci komputera za pomocą panelu przedniego.

Pomimo iż kilka programów napisanych jest w języku maszynowym, programiści często opanowują jego czytanie poprzez pracę ze zrzutami pamięci lub poprzez debuggowanie za pomocą przedniego panelu.[1]

Przykład: Funkcja zaprezentowana w heksadecymalnej postaci 32-bitowego x86 kodu maszynowego, obliczająca nty wyraz Ciągu Fibonacciego:

8B542408 83FA0077 06B80000 0000C383
FA027706 B8010000 00C353BB 01000000
C9010000 008D0419 83FA0376 078BD98B
B84AEBF1 5BC3

Zobacz też

Przypisy

  1. What is machine code (machine language)? - Definition from WhatIs.com [online], whatis.techtarget.com [dostęp 2017-11-24] (ang.).