assembly

Zespół Edukacyjny [zamknięty]

zamknięte . To pytanie jest oparte na opinii . Obecnie nie przyjmuje odpowiedzi. ... a dyrektywach _ _ asm W c++, więc mogę wypróbować rzeczy znacznie szybciej, niż gdybym musiał zrobić wszystko od zera z MASM.

Dlaczego wprowadzenie bezużytecznych instrukcji MOV przyspiesza ciasną pętlę w x86 64 assembly?

Background: Podczas optymalizacji kodu Pascal z wbudowanym językiem asemblera zauważyłem niepotrzebną instrukcję MOV i u ... których liniach, a spowolnienie na innych? czy to zachowanie może być wykorzystane w przewidywalny sposób przez kompilator?

Pokaż aktualną instrukcję montażu w GDB

Robię debugowanie na poziomie assembly w GDB. Czy istnieje sposób, aby GDB pokazało mi bieżącą instrukcję montażu w taki sam ... adres bieżącej instrukcji, ale muszę odwoływać się do wyjścia disassemble, aby zobaczyć, którą instrukcję aktualnie wykonuję.

Dlaczego Java switch on contiguous ints wydaje się działać szybciej z dodanymi przypadkami?

Pracuję nad kodem Javy, który musi być wysoce zoptymalizowany, ponieważ będzie działał w gorących funkcjach, które są wywoływ ... wiście kosztem niektórych przepływów sterowania, które zapewnia switch. Ten kod został również dodany do repozytorium github.

Czy "switch" jest szybszy niż "if"?

Czy switch oświadczenierzeczywiście jest szybsze niż if oświadczenie? Uruchomiłem poniższy kod na kompilatorze x64 C++ Visua ... ,48h 13FE81CE3 ret Aktualizacja: Ciekawe wyniki tutaj . Nie wiem, dlaczego jeden jest szybszy, a drugi wolniejszy.

Jaki jest kierunek wzrostu stosu w większości nowoczesnych systemów?

Przygotowuję materiały szkoleniowe w języku C i chcę, aby moje przykłady pasowały do typowego modelu stosu. W jakim kierunku rośnie stos C w systemach Linux, Windows, Mac OSX (PPC i x86), Solaris i najnowszych Unixach?

Szybko znajdź, czy wartość jest obecna w tablicy C?

Mam wbudowaną aplikację z krytycznym czasem ISR, która musi iterować przez tablicę o rozmiarze 256 (najlepiej 1024, ale 256 t ... bszy sposób, aby to zrobić? Dozwolone jest stosowanie montażu w linii. Dozwolone są również inne "mniej eleganckie" sztuczki.

Jak Mogę zobaczyć kod asemblera dla programu C++?

Jak mogę zobaczyć kod asemblera dla programu C++? Jakie są popularne narzędzia do tego?

Jak Zrobić Asembler? [zamknięte]

zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. ... ógłbym studiować. Także I ciekawe jakie narzędzia są używane w przeglądaniu i obsłudze binarnych / szesnastkowych programów.

Co to jest retpolina i jak działa?

Aby złagodzić ujawnienie pamięci jądra lub między procesami (atak widmo), jądro Linuksa1 zostanie skompilowany z nową opcją ... podobna lub identyczna konstrukcja wydaje się być używana jako część strategii łagodzenia na innych systemach operacyjnych.

Jak zobaczyć skompilowany kod JIT w JVM?

Czy Jest jakiś sposób, aby zobaczyć natywny kod wytwarzany przez JIT w JVM?

Dlaczego GCC generuje tak radykalnie różne montaże dla prawie tego samego kodu C?

Podczas pisania zoptymalizowanej funkcji ftol znalazłem bardzo dziwne zachowanie w GCC 4.6.1. Pozwól, że najpierw pokażę Ci k ... ę również na profilu, fast_trunc_one jest o około 30% szybsze niż fast_trunc_two. Teraz moje pytanie: co jest tego przyczyną?

Czy num++ może być atomowe dla 'int num'?

Ogólnie rzecz biorąc, dla int num, num++ (lub ++num), jako operacja odczytu-modyfikacji-zapisu, jest nie atomowa. Ale często ... szynach uniprocesorowych, a także ta odpowiedź, rozmowa w swoich komentarzach i innych wyjaśnia, może (choć nie z C lub c++).

Jak dokładnie działa callstack?

Staram się głębiej zrozumieć, jak działają niskopoziomowe operacje języków programowania, a zwłaszcza jak wchodzą one w inter ... ki sprawiają, że myślę, że nie do końca zrozumiałem, jak } dokładnie Działa stos i jak ściśle przestrzega } zasad LIFO {35]}.

Jak programowane są codzienne maszyny?

Jak programowane są codzienne maszyny (nie tyle Komputery i urządzenia mobilne, co urządzenia, zegarki Cyfrowe itp.)? Jaki ko ... z kodem źródłowym, jeśli to możliwe. Jeśli ktoś zna taki zasób (wyszukiwanie nic dla mnie nie dało), to byłoby fantastycznie.

Jaki jest najlepszy sposób na ustawienie rejestru na zero w x86 assembly: xor, mov lub and?

Wszystkie poniższe instrukcje robią to samo: Ustaw {[1] } na zero. Który sposób jest optymalny (wymaga jak najmniejszej liczby cykli maszynowych)? xorl %eax, %eax mov $0, %eax andl $0, %eax

Jaka jest funkcja instrukcji push / pop używanych na rejestrach w x86 assembly?

CzytajÄ ... c o asemblerze czÄ ™ sto natykam siÄ ™ na ludzi piszÄ ... cych, Ĺźe wciskajÄ ... pewien rejestr procesora i po ... popychany? Dlaczego jest to potrzebne? Czy sprowadza się to do pojedynczej instrukcji procesora, czy jest bardziej złożone?

Jak używać gcc do generowania kodu asemblera w składni Intela?

Opcja gcc -S wygeneruje kod asemblera w składni AT & T, czy istnieje sposób na wygenerowanie plików w składni Intela? A może istnieje sposób na konwersję między nimi?

Dlaczego x86 jest brzydki? Dlaczego jest uważany za gorszy w porównaniu do innych? [zamknięte]

Ostatnio czytałem kilka archiwów SO I spotkałem się z wypowiedziami przeciwko architekturze x86. Dlaczego potrzebujemy inn ... tura, którą znam. Czy ktoś może mi uprzejmie podać powody, dla których x86 jest brzydki/zły / gorszy w porównaniu do innych.