assembly
Aby nauczyć się montażu-powinienem zacząć od 32 bitów czy 64 bitów?
Naprawdę chcę się nauczyć montażu. Jestem całkiem dobry w c / C++, ale chcę lepiej zrozumieć, co się dzieje na niższym poziom ... ektórym z nich, aby zacząć myśleć o tym, jak działają procesory i dlaczego możesz zrobić coś w jeden sposób, a nie w inny.)
Jak usunąć "szum" z wyjścia montażowego GCC/clang?
Chcę sprawdzić wyjście złożenia aplikacji boost::variant w moim kodzie, aby zobaczyć, które wywołania pośrednie są zoptymaliz ... [with T = int]"
.ident "GCC: (Ubuntu 5.3.0-3ubuntu1~14.04) 5.3.0 20151204"
.section .note.GNU-stack,"",@progbits
Montaż-JG/JNLE/JL / jnge po CMP
Nie rozumiem JG/JNLE/JL/JNGE instrukcji, które przychodzą po CMP.
Na przykład, jeśli mam:
CMP al,dl
jg label1
Kiedy al=1 ... miem, co porównujemy, a na co pytamy " jg".
Innymi słowy, nie rozumiem, kiedy przejdziemy do label1, a kiedy nie.]}
Dzięki.
Dlaczego ruch warunkowy nie jest podatny na awarię przewidywania gałęzi?
Po przeczytaniu tego postu (odpowiedź na StackOverflow) (w dziale optymalizacja), zastanawiałem się, dlaczego ruchy warunkow ... widzę tego. W chwili, gdy ta instrukcja ASM jest oceniana, wynik poprzedniej instrukcji CMP nie jest jeszcze znany.
Dzięki.
Uzyskanie szczytowej przepustowości na Haswell w pamięci podręcznej L1: tylko uzyskanie 62%
[[31]}próbuję uzyskać pełną przepustowość w pamięci podręcznej L1 dla następującej funkcji na procesorach Intela [32]}
floa ... 11, 16*unroll
cmp r9, rcx
jne .L2
sub r8d, 1
jnz .L1
ret
Pisanie własnego BIOSu
Nie jestem szalony, tylko odkrywam koło: d
Napisałem boot-loadery, mini-sterowniki myszy i klawiatury, mini OS i tak dalej. ... ego!
Czy BIOS jest napisany w assembly? Jak to zrobić? What ' s the mechanizm? Czy mogę zacząć edytować mój aktualny BIOS?
Efektywna funkcja porównywania liczb całkowitych
Funkcja compare jest funkcją, która pobiera dwa argumenty a i b i zwraca liczbę całkowitą opisującą ich kolejność. Jeśli a je ... result;
}
Czy można to zrobić w mniej niż 6 instrukcjach? Czy istnieje mniej prosty sposób, który jest bardziej skuteczny?
Dlaczego nie ma rejestru zawierającego wyższe bajty EAX?
%AX = (%AH + %AL)
Więc dlaczego nie %EAX = (%SOME_REGISTER + %AX) dla jakiegoś rejestru %SOME_REGISTER?
Dobry tutorial NASM / FASM? [zamknięte]
Czy ktoś zna jakieś dobre NASM lub poradniki FASM? Próbuję nauczyć się asemblera, ale nie mogę znaleźć na nim żadnych dobrych zasobów.
Jak działa stos w języku assembly?
Obecnie staram się zrozumieć jak działa stos, więc postanowiłem nauczyć się jakiegoś języka asemblera , używam tej książki:
... estawów układów ma już zaimplementowany stos?
Wiem, że to trochę głupie pytanie, ale jestem trochę zdezorientowany przez to.
Bardzo szybka memcpy do przetwarzania obrazów?
Wykonuję przetwarzanie obrazu w języku C, które wymaga kopiowania dużych fragmentów danych wokół pamięci-źródło i miejsce doc ... a jest konieczna, nie mogę obejść konieczności kopiowania danych (mógłbym wyjaśnić dlaczego, ale oszczędzę Ci wyjaśnienia :))
Punkt badania % eax %eax [duplikat]
Możliwy duplikat:x86 Assembly - 'testl' EAX przeciwko eax?
Jestem bardzo nowy w programowaniu w języku asemblera i o ... acji nie skoczylibyśmy?
Jestem początkującym programistą w ogóle, więc byłbym wdzięczny, gdyby ktoś mi to wyjaśnił. Dzięki!
Prefetching Przykłady?
Czy ktoś może podać przykład lub link do przykładu, który używa __builtin_prefetch w GCC (lub po prostu instrukcji ASM prefet ... y, chcę najkrótszy przykład pokazujący __builtin_prefetch wykonywanie optymalizacji, która nie może być zarządzana bez niego.
VA (adres wirtualny) & RVA (względny adres wirtualny)
Plik podany jako wejście do linkera nazywa się plikiem obiektowym.
Linker tworzy plik obrazu , który z kolei jest uży ... 0x00000 Program peview uruchamia
to z 0x1000.
Nie mogę zrozumieć, dlaczego trzecia obserwacja. Nie potrafię tego wyjaśnić.
Jaki jest cel kodu opcode CIL nop?
Przeglądam MSIL i zauważam, że w MSIL jest dużo instrukcji nop.
Artykuł MSDN mówi, że nie podejmują żadnych działań i są uży ... redaktora: akceptowana odpowiedź dotyczy NoPS w kodzie maszynowym, a nie MSIL/CIL NoPS, o którym pierwotnie zadano pytanie.)
Czy warto uczyć się języka asemblera? [zamknięte]
Czy nadal warto uczyć się ASM ?
Wiem trochę o tym, ale tak naprawdę nie używałem go ani nie nauczyłem się go poprawnie, pon ... gramistą?
Uwaga: mówię o montażu niskopoziomowym jak FASM lub NASM a nie coś w rodzaju HLA (asembler wysokiego poziomu).
Do czego przeznaczony jest rejestr "FS"/"GS"?
Więc wiem jakie powinny być następujące rejestry i ich zastosowania:
CS = Segment kodu (używany dla IP)
DS = Segment d ... a: jestem Nie pytam o jakiś konkretny system operacyjny -- pytam o to, do czego miał być używany przez procesor, jeśli już.
Ograniczenia składni zespołu Intela w porównaniu do AT & T [zamknięte]
Dla mnie składnia Intela jest znacznie łatwiejsza do odczytania. Jeśli przejdę przez assembly forest koncentrując się tylko n ... yślnie używa AT & T.
Jeśli to ma znaczenie, skupiam się tylko na dowolnej relacji i składni do Linuksa / BSD i języka C.
Różnica między rdtscp, rdtsc: pamięć i cpuid / rdtsc?
Załóżmy, że próbujemy użyć tsc do monitorowania wydajności i chcemy zapobiec zmianie kolejności instrukcji.
Oto nasze opcje: ... ry" wygląda znacznie prostiej niż użycie innej instrukcji serializującej. Dlaczego ktoś miałby użyć opcji 3 zamiast opcji 2?
Jak skompilować asm wygenerowany przez GCC?
Bawię się jakimś kodem asm i coś mnie niepokoi.
Kompiluję to:
#include <stdio.h>
int main(int argc, char** argv){
... via_symbols
Moim następnym problemem jest naprawdę, jak skompilować to wyjście i czy mogę sprawić, że GCC zrobi to za mnie?