• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Jak zbudowane są opcody operacji?

0 głosów
288 wizyt
pytanie zadane 5 listopada 2015 w Rozwój zawodowy, nauka, praca przez jegor377 Stary wyjadacz (13,230 p.)
zamknięte 12 listopada 2015 przez Eryk Andrzejewski
Siema, jak zbudowane są opcody poleceń procesora dla programu? Chcę coś stworzyć i potrzebuje tego. :)
komentarz zamknięcia: Problem rozwiązany

1 odpowiedź

+2 głosów
odpowiedź 5 listopada 2015 przez hit02 Nałogowiec (33,970 p.)
edycja 5 listopada 2015 przez hit02
 
Najlepsza

Może te materiały ci coś pomogą:

Film na YT o opcodach x86

https://www.youtube.com/watch?v=efxJP1ZNmf4&index=2&list=PLFA77B1208A54E4C9

Dokumentacja Intel x86. Patrz dokładniej na Rozdział 2, oraz APPENDIX A i B.

http://www.intel.pl/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-instruction-set-reference-manual-325383.pdf

Jeżeli tworzysz maszynę wirtualną, to opcode jest poprostu liczbą reprezentującą instrukcję procesora. Może ona również zawierać jakieś argumenty dla instrukcji i/lub prefiksy.

Opcody w procesorach RISC (np. ARM, ale chyba tylko w tzw. trybie ARM. W trybie THUMB opcody chyba mogły już mieć zmienną wielkość, a JAZELLE już na pewno) chyba zazwyczaj mają opcody stałej wielkości. Coś takiego jest nieco prostrze w implementacji, ale kod zabiera więcej pamięci i potem może być ciężko rozszeżać instruction set.

W procesorach typu CISC (x86 nie jest typowym CISC, ale nadaje się jako przykład) zazwyczaj instrukcje mają zmienną długość. Przy interpretacji takiego opcodu procesor może np. najpierw wczytać pierwszy bajt i wtedy zdecydować, czy to cała instrukcja, czy potrzebuje kolejnego bajtu i tak dalej, aż wczyta całą instrukcję wraz z argumentami. Taki procesor jest nieco trudniejszy w implementacji, ale kod jest gęstrzy i łatwiej rozszeżać instruction set (bo nie jesteś ograniczony np. do 4 bajtów).

komentarz 5 listopada 2015 przez jegor377 Stary wyjadacz (13,230 p.)
kapitalna robota, dzięki :)

Podobne pytania

0 głosów
1 odpowiedź 233 wizyt
pytanie zadane 10 grudnia 2018 w Rozwój zawodowy, nauka, praca przez gorgonkowa Obywatel (1,810 p.)
+1 głos
2 odpowiedzi 1,075 wizyt
pytanie zadane 18 lipca 2017 w Sprzęt komputerowy przez k222 Nałogowiec (30,150 p.)
0 głosów
0 odpowiedzi 1,635 wizyt
pytanie zadane 11 września 2019 w Sprzęt komputerowy przez KosaTV Obywatel (1,260 p.)

93,753 zapytań

142,713 odpowiedzi

323,356 komentarzy

63,347 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...