• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Asembler x86



    Podstrony: 1 [2] [3]
    Przeczytaj także...
    Rejestry procesora to komórki pamięci o niewielkich rozmiarach (najczęściej 4/8/16/32/64/128 bitów) umieszczone wewnątrz procesora i służące do przechowywania tymczasowych wyników obliczeń, adresów lokacji w pamięci operacyjnej itd. Większość procesorów przeprowadza działania wyłącznie korzystając z wewnętrznych rejestrów, kopiując do nich dane z pamięci i po zakończeniu obliczeń odsyłając wynik do pamięci.Streaming SIMD Extensions 4 (SSE4) to kolejne rozszerzenie zestawu instrukcji SSE opublikowane w kwietniu 2007 przez firmę Intel. SSE4 wprowadza 54 nowe instrukcje, podzielone na dwie podgrupy (wersje): SSE4.1 zawierający 47 rozkazów oraz SSE4.2 zawierający dodatkowe 7.

    Asembler x86 – język programowania z rodziny asemblerów do komputerów klasy PC, które posiadają architekturę głównego procesora zgodną z x86.

    W rzeczywistości jest to kilka różnych języków używanych do zapisu tych samych instrukcji i dyrektyw, różniących się składnią.

    Trzy najpopularniejsze składnie, to:

    Supplemental Streaming SIMD Extension 3 (SSSE3) - zestaw instrukcji SSE czwartej generacji, rozszerzenie SSE3. SSSE3 jest błędnie nazywane jako SSE4, Tejas New Instructions (TNI) lub Merom New Instructions (MNI).System uniksopodobny – mianem tym określa się system operacyjny zbliżony budową do systemu Unix, jednakże niewywodzący się bezpośrednio lub pośrednio z kodu BSD lub System V. Oznacza to, że kod źródłowy systemu został napisany od zera lub został zaczerpnięty z innego systemu niebędącego systemem Unix. System taki posiada interfejs programistyczny i interfejs użytkownika zbliżony do standardów używanych przez systemy Unix lub oparty jest na standardach POSIX.
  • składnia Intel/Microsoft - używana w asemblerze MASM firmy Microsoft i w przykładach zamieszczonych w dokumentacji firmowej procesorów Intel rodziny x86; dawniej korzstała z niej większość narzędzi programistycznych dla systemów DOS i Windows.
  • składnia NASM - używana w asemblerze NASM, podobna do składni Intel/Microsoft, ale uproszczona i pozbawiona niejednoznaczności zapisu
  • składnia AT&T - używana w systemach UNIX i Uniksopodobnych.
  • Ponieważ kod w języku asemblera jest niskopoziomowy, istnieją automatyczne translatory między obydwoma składniami.

    Komputer osobisty (ang. personal computer) – mikrokomputer przeznaczony przede wszystkim do użytku osobistego w domu i biurze. Służy głównie do uruchamiania oprogramowania biurowego, dostępu do zasobów Internetu, prezentacji treści multimedialnych (tekst, obrazy, dźwięki, filmy i inne), jak i gier.W informatyce, adres pamięci to unikatowy identyfikator dla części jednostkowej pamięci, w której CPU lub inne urządzenie może zachować pewną ilość danych do późniejszego wykorzystania. W nowoczesnych komputerach każdy adres identyfikuje pojedynczy bajt pamięci; dane za duże do przechowania w jednym bajcie mogą być zachowane w kilku bajtach o następujących po sobie adresach. Niektóre mikroprocesory zostały zaprojektowane aby być adresowalne dwubajtowo, czyli typowa jednostka przechowywania jest większa od bajta. Wśród przykładów znajdują się Texas Instruments TMS9900 i National Semiconductor IMP-16, wykorzystujące ten typ adresowania.

    Konwencje[ | edytuj kod]

    W składni i metodach programowania za pomocą danej składni asemblera x86 wykorzystuje się kilka ogólnie przyjętych (bądź sprzętowo narzuconych) konwencji. Przykładowo dla składni Intel/Microsoft i NASM są to m.in.:

    Definicja intuicyjna: SSE to dodatkowe rozkazy rozpoznawane przez mikroprocesory firmy Intel oraz kompatybilnych, które pozwalają znacznie szybciej wykonywać obliczenia matematyczne, szczególnie te wykorzystywane w dziedzinie multimediów, co przekłada się na zwiększenie efektywności działania m.in. gier komputerowych, programów graficznych, muzycznych, kodowania filmów i muzyki.MMX (MultiMedia eXtensions lub Matrix Math eXtensions) to zestaw 57 instrukcji SIMD dla procesorów Pentium i zgodnych. Rozkazy MMX mogą realizować działania logiczne i arytmetyczne na liczbach całkowitych. Pierwotnie wprowadzone w 1996 przez Intela dla procesorów Pentium MMX, aktualnie dostępne również na procesory innych producentów – wraz z rozwojem procesorów i dodawaniem nowych rozszerzeń (np. SSE) zbiór rozkazów MMX powiększał się. Instrukcje te są wykorzystywane przez procesory od Intel Pentium MMX i AMD K6 wzwyż.
  • operand docelowy instrukcji jest podawany jako pierwszy z operandów, np. instrukcja:
  • mov ax, bx
    
    spowoduje wpisanie zawartości rejestru BX do rejestru AX. (w przypadku „składni AT&T” jest odwrotnie)
  • kolejność bajtów w procesorach zgodnych z x86 to little-endian (mniej znaczący bajt pierwszy).


  • Podstrony: 1 [2] [3]




    Warto wiedzieć że... beta

    Asembler (z ang. assembler) – termin informatyczny związany z programowaniem i tworzeniem kodu maszynowego dla procesorów. W języku polskim oznacza on program tworzący kod maszynowy na podstawie kodu źródłowego (tzw. asemblacja) wykonanego w niskopoziomowym języku programowania bazującym na podstawowych operacjach procesora zwanym językiem asemblera, popularnie nazywanym również asemblerem. W tym artykule język programowania nazywany będzie językiem asemblera, a program tłumaczący – asemblerem.
    Microsoft Windows (ang. windows „okna”, IPA: [maɪkɹoʊsɑːft ˈwɪndoʊz]) – rodzina systemów operacyjnych stworzonych przez firmę Microsoft. Systemy rodziny Windows działają na serwerach, systemach wbudowanych oraz na komputerach osobistych, z którymi są najczęściej kojarzone.
    Binutils to zestaw programów wydanych przez projekt GNU, służących do tworzenia i obróbki plików wykonywalnych. Składa się z:
    Unix Time-Sharing System (pisane również jako UNIX, choć nie jest to skrót – nazwa „UNIX” jest kalamburem określenia Multics, który był wzorem dla Uniksa) – system operacyjny rozwijany od 1969 r. w Bell Labs (UNIX System Laboratories, USL) przez Dennisa Ritchie i Kena Thompsona. W latach 70. i 80. zdobył bardzo dużą popularność, co zaowocowało powstaniem wielu odmian i implementacji. Część z nich, w szczególności Linux oraz OS X, jest w użyciu do dziś. UNIX jest zarejestrowanym znakiem towarowym The Open Group.
    Procesor (ang. processor), także CPU (ang. Central Processing Unit) – urządzenie cyfrowe sekwencyjne, które pobiera dane z pamięci, interpretuje je i wykonuje jako rozkazy. Wykonuje on ciąg prostych operacji (rozkazów) wybranych ze zbioru operacji podstawowych określonych zazwyczaj przez producenta procesora jako lista rozkazów procesora.
    Translator to specjalny program komputerowy (lub urządzenie), dokonujący tłumaczenia (translacji) programu napisanego w języku programowania, z postaci źródłowej do postaci wynikowej, zrozumiałej dla maszyny. Czasami zamiast określenia kod wynikowy używa się równoważnego kod obiektowy.
    NASM, Netwide Assembler to wolnodostępny asembler (program dokonujący asemblacji do kodu maszynowego) dla języka Asembler x86.

    Reklama

    Czas generowania strony: 0.679 sek.