assembly

Algorytm znajdowania najmniejszej potęgi dwóch, która jest większa lub równa danej wartości [duplikat]

to pytanie ma już odpowiedzi tutaj : ... e. Czy istnieje lepszy algorytm na ten problem? EDIT. Było kilka fajnych sugestii asemblera, więc dodaję te tagi do pytania.

Co oznacza "rep; nop;" w x86 assembly? Czy to to samo co Instrukcja "pauza"?

co oznacza rep; nop? czy to to samo co pause Instrukcja? czy to to samo co rep nop (bez dwukropka)? Jaka jest różnica w s ... jądrze Linuksa (zarówno i386 i x86_64 ), wraz z komentarzem: {[20] } jest również używany w BeRTOS, z tym samym komentarzem.

Montaż kompilacji w Visual Studio

Jak skompilować kod assembly używając Visual Studio? Chcę skompilować i uruchomić plik źródłowy assembly wVisual Studio 2010 ... wanie kompilacji masm.targets (Kliknij prawym przyciskiem myszy projekt > dostosowywanie kompilacji..), ale bezskutecznie.

Najszybszy sposób na wykonanie poziomej sumy wektora zmiennoprzecinkowego na x86

Masz wektor trzech (lub czterech) pływów. Jaki jest najszybszy sposób ich podsumowania? Czy SSE (movaps, shuffle, add, movd) ... "spróbuj uporządkować rzeczy tak, aby można było zsumować cztery wektory na raz" nie będzie akceptowane jako odpowiedź. :-)

Język asemblera dla początkujących [zamknięty]

zamknięte. to pytanie nie spełnia wytycznych dotyczących przepełnienia stosu . Obecnie nie przyjmuje odpowiedzi. ... Skąd można zacząć uczyć się języka asemblera? Możesz zasugerować jakieś miejsce, w którym mogę zacząć?

Dlaczego T* może zostać zaliczony do rejestru, a unikalny PST nie?

Oglądam rozmowę Chandlera Carruth ' a w CppCon 2019: Nie ma abstrakcji o zerowym koszcie W nim podaje przykład, jak był ... nt> ptr) noexcept { if (*ptr > 42) { bar(ptr.get()); *ptr = 42; } baz(std::move(ptr)); }

Enhanced REP MOVSB for memcpy

Chciałbym użyć enhanced REP MOVSB (ERMSB), aby uzyskać wysoką przepustowość dla niestandardowego memcpy. ERMSB został wpro ... cpufreq-set dawało dziwne wyniki), aby zmienić ustawienia mocy. To włącza turbo z powrotem, więc musiałem wyłączyć turbo po.

x86 64 rejestry rax/eax/ax / al nadpisywanie pełnej zawartości rejestru [duplikat]

To pytanie ma już odpowiedź tutaj: dlaczego instrukcje x86 - 64 dotyczące rejestrów 32-bitowych zerują g ... jakiegoś ważnego punktu, dlaczego zostało to zaimplementowane jak to? Wyjaśnienie "dlaczego" byłoby bardzo mile widziane.

bootloader-przełączanie procesora na tryb chroniony

Mam trudności ze zrozumieniem, jak działa prosty boot loader. Boot loader, o którym mówię, to ten z kursu MITs "Inżynieria sy ... ma to związek z trybem chronionym i tym, jak tłumaczy adresy, ale naprawdę tego nie rozumiem. Będę wdzięczny za każdą pomoc!

Jaki jest sens LEA EAX, [EAX]?

LEA EAX, [EAX] Natknąłem się na tę instrukcję w pliku binarnym skompilowanym za pomocą kompilatora Microsoft C. To wyraźnie nie może zmienić wartości EAX. Więc dlaczego tam jest?

Najszybszy sposób skanowania wzorca bitowego w strumieniu bitów

Muszę zeskanować 16-bitowe słowo w strumieniu bitowym. nie jest gwarantowane wyrównanie do granic bajtów lub słów . Jaki j ... iera wyniki flagi dla każdego bajtu lub słowa, jak przybywa? C code, intrinsics, x86 machine code would all be interesujące.

Nauka czytania wyjścia asemblera GCC

Rozważam zdobycie pewnego bardzo prymitywnego zrozumienia montażu. Mój obecny cel jest prosty: bardzo podstawowe zrozumienie ... totne dla GCC i specjalnie dla cel czytania, a także lista najważniejszych instrukcji, które każdy, kto czyta, powinien znać?

pytanie o blokadę x86 na procesorach wielordzeniowych

Czy to prawda, że prefiks polecenia x86 ASM "LOCK "powoduje zamrożenie wszystkich rdzeni podczas wykonywania instrukcji następującej po" LOCK"? Czytałem to w blogu i to nie ma sensu. Nie mogę znaleźć niczego, co wskazywałoby, czy to prawda, czy nie.

If statement vs if-else statement, które jest szybsze? [zamknięte]

Pokłóciłem się kiedyś z przyjacielem o te dwa fragmenty. Co jest szybsze i dlaczego ? value = 5; if (condition) { value ... jaśnij dlaczego wersja jest szybsza i kiedy ( np. "lepiej bo bez rozgałęzień i rozgałęzień ma następujący problem blahblah")

operatory int!= i = = przy porównaniu do zera

Znalazłem to != i = = nie są najszybszymi sposobami testowania dla zera lub niezerowego. bool nonZero1 = integer != 0; xor e ... zainstalowanym VC++11 i VC++2010 może uruchomić kod benchmarkingowy i podać timingi? Rzeczywiście może to być błąd w VC++11.

"testl" EAX przeciwko eax?

Próbuję zrozumieć pewne Zgromadzenie. Montaż w następujący sposób, interesuje mnie linia testl: 000319df 8b4508 mo ... ecyfika tego kodu nie jest ważna, po prostu staram się zrozumieć test sam z siebie - czy wartość zawsze nie byłaby prawdziwa?

Różnica między JE / JNE i JZ / JNZ

W kodzie x86 są JE i JNE dokładnie takie same jak JZ i JNZ?

Jak wygenerować kod asemblera za pomocą clang w składni Intela?

Tak jak to pytanie pokazuje, że z g++ mogę zrobić g++ -S -masm=intel test.cpp. Również z clang, mogę zrobić clang++ -S test ... ie jest wspierany przez clang (warning argument unused during compilation: -masm=intel). Jak uzyskać składnię Intela z clang?

Do czego są używane instrukcje IN & OUT w x86?

Zakodowałem je do instrukcji w & OUT podczas czytania książki "zrozumienie jądra Linuksa". Sprawdziłem instrukcję obsługi ... bgcolor = "# e0ffe0 " / cesarz chin / / align = center / Kiedy będę ich potrzebował? podaj kilka praktycznych przykładów.

Tryby mikro fuzji i adresowania

Znalazłem coś nieoczekiwanego (dla mnie) za pomocą Intel® Architecture Code Analyzer (IACA). Poniższą instrukcję wykorzystuj ... aniem adresacji [base+index]. Patrz na przykład sekcja 12.2 "ten sam przykład na Core2". Więc jaka jest prawidłowa odpowiedź?