Kod operacji

Kod opcode określa, która z podstawowych operacji komputerowych w zestawie instrukcji ma być wykonana. Jest on używany podczas pisania kodu maszynowego. Mówi on komputerowi, aby coś zrobił. Każda instrukcja w języku maszynowym ma zazwyczaj zarówno opcode jak i operandy. Opcode jest jak czasownik w zdaniu, a operandy są jak przedmiot w zdaniu. Operandy to zazwyczaj adresy pamięci lub rejestru.

Kody Opcodes są używane w kodzie maszynowym dla wielu funkcji, w tym Float Addition of registers, Two's compliment addition of registers, Shifting register values to memory, or to a hard drive, stopping a program, etc. Istnieją dosłownie setki popularnych opcodów stosowanych w nowoczesnych komputerach.

Ze względu na charakter architektury komputera, opcody przyjmują postać liczb binarnych. Alternatywnie, opcody mogą być reprezentowane przez cyfry w systemie szesnastkowym (na przykład 10100101 = A5) dla ułatwienia odczytu i kodowania podczas projektowania lub emulacji programu z kodem maszyny. Wartości te są następnie przekształcane na ich binarne odpowiedniki do zapisania. Nowoczesne opcody to co najmniej dwa znaki szesnastkowe o długości, które zajmują 1 bajt przestrzeni dyskowej.

Opcody różnią się możliwościami i "wartością" w zależności od komputera, do którego należą, ponieważ są zależne od sprzętu. Na przykład, opcode dla STORE wyrażony w Hexie może być FA dla jednej maszyny i 02 dla innej. Niektóre opcody nie będą dostępne na niektórych komputerach. Ogólnie rzecz biorąc, istnieją dwa podejścia do budowania zestawów instrukcji. Komputer z zredukowanym zestawem instrukcji (RISC) oferuje mniej możliwych opcodów na rzecz zwiększenia szybkości dla prostych procesów. Złożony zestaw instrukcji Computing (CISC) oferuje więcej opcodów na rzecz zwiększenia prędkości dla złożonych procesów.

Opcody są rzadko używane bezpośrednio przez programistów. Zawsze, gdy są bezpośrednio zaprogramowane w pamięci, mają gwarancję, że będą działać tylko na komputerze, do którego zostały zaprojektowane. Kiedy programiści piszą w języku asemblera, program tłumaczący zamienia wypowiedzi programowe, jeden na jeden, na polecenia w języku maszynowym. Programista musi zapamiętać tylko mnemonik dla każdego kodu zamiast jego wartości binarnej. Alternatywnie, można użyć języka programowania wysokiego poziomu, powiedzmy 4. generacji, który jest konwertowany do 3. generacji i tak dalej, aż osiągnie 1. generacji. Z tego miejsca indywidualny komputer będzie konwertował program do kodu maszynowego za każdym razem, gdy plik programu zostanie odczytany. W ten sposób program może pracować na znacznie większej liczbie komputerów.

Pytania i odpowiedzi

P: Co to jest opcode?


O: Kod operacyjny to liczba binarna, która określa, jaką podstawową operację komputerową z zestawu instrukcji należy wykonać. Jest on używany podczas pisania kodu maszynowego i mówi komputerowi, co ma robić.

P: Co to są operandy?


O: Operandy to zazwyczaj adresy pamięci lub rejestru, które towarzyszą kodowi operacyjnemu w instrukcji języka maszynowego. Można je traktować jak podmiot zdania, podczas gdy opcode działa jak czasownik.

P: Ile powszechnie stosowanych opcodów występuje w nowoczesnych komputerach?


O: We współczesnych komputerach stosuje się setki zwykłych opcodów.

P: Jak są przedstawiane opkody?


O: Opkody mogą być przedstawiane w postaci liczb binarnych lub cyfr szesnastkowych, co ułatwia czytanie i kodowanie podczas projektowania lub emulacji programu z kodem maszynowym.

P: Jak długie są nowoczesne opkody?


O: Współczesne opkody mają długość co najmniej dwóch znaków szesnastkowych, zajmują 1 bajt pamięci.

P: Co to jest RISC i CISC?


A: Reduced Instruction Set Computing (RISC) oferuje mniej możliwych opcodów na rzecz zwiększenia szybkości dla prostych procesów, natomiast Complex Instruction Set Computing (CISC) oferuje więcej opcodów na rzecz zwiększenia szybkości dla złożonych procesów.

P: Jak programiści zazwyczaj używają opcodes?


O: Programiści rzadko stosują bezpośrednie programowanie w pamięci za pomocą specyficznego dla danego komputera zestawu instrukcji; zamiast tego piszą programy w języku asemblerowym lub językach programowania wysokiego poziomu, które są konwertowane na kod maszynowy przy każdym odczycie pliku programu, aby mógł on działać na wielu typach komputerów.

AlegsaOnline.com - 2020 / 2023 - License CC3