assembly

Jaki jest cel rejestru wskaźników ramek EBP?

Jestem początkujący w języku asemblera i zauważyłem, że kod x86 emitowany przez kompilatory zwykle utrzymuje wskaźnik ramki w ... dla mnie to nie ma sensu. Dlaczego pominięcie wskaźnika ramki jest uważane za zły pomysł nawet w optimized / release builds?

Do czego służą dyrektywy CFI w Gnu assemblerze (GAS)?

Wydaje się, że jest .Dyrektywa SPI po każdej linii, a także istnieją szerokie różnice tych ex.,.cfi_startproc , .cfi_endproc ... .-func .ident "GCC: (Ubuntu 4.4.1-4ubuntu9) 4.4.1" .section .note.GNU-stack,"",@progbits Nie zrozumiałam tego.

Jak zdemontować kod raw x86?

Chciałbym zdemontować MBR (pierwsze 512 bajtów) bootowalnego dysku x86, który mam. Skopiowałem MBR do pliku używając dd if=/dev/my-device of=mbr bs=512 count=1 Jakieś sugestie dotyczące linuksowego narzędzia, które może zdemontować plik mbr?

montaż x86 na Macu

Czy ktoś zna jakieś dobre narzędzia (Szukam IDE) do pisania assembly na Macu. Xcode jest dla mnie trochę kłopotliwe. Również ... lowanym środowisku stworzonym przez OS, aby Kod myślał, że działa na własnej dedykowanej maszynie. Czy OS X zapewnia to samo?

Użycie gdb do jednostopniowego kodu montażowego poza podanym plikiem wykonywalnym powoduje błąd " nie można znaleźć granic bieżącej funkcji"

Jestem poza programem wykonywalnym gdb i nie mam nawet stosu odpowiadającego temu celowi. I tak chcę zrobić jednoetapowy kro ... ozmiar instrukcji montażu x86 jest różny, a lokalizacja zespołu zmieni się za każdym razem, gdy ponownie uruchomię komputer.)

Jaka jest twoja ulubiona sztuczka przeciw debugowaniu?

U mojego poprzedniego pracodawcy użyliśmy komponentu strony trzeciej, który w zasadzie był tylko DLL i plik nagłówkowy. Ten k ... omiÄ ™ dzy niektórymi wywoĹ' anami w DLL. Moje pytanie do SO brzmi: Jaka jest twoja ulubiona sztuczka przeciw debugowaniu?

Czym są SP (stack) i LR w ARM?

Czytam definicje w kółko i nadal nie rozumiem co to są SP i LR w ARM? Rozumiem PC (pokazuje adres następnej instrukcji), SP i ... ć przykładami, byłoby wspaniale. Edit: w końcu zorientowałem się, do czego służy LR, wciąż nie rozumiem, do czego służy SP.

Co to jest Intel microcode?

Z tego co czytałem służy do naprawiania błędów w procesorze bez modyfikowania BIOSu. Z mojej podstawowej wiedzy o montażu wie ... Edytuj: Czytałam artykuł w Wikipedii: nie wymyśliłem jak mogę napisać coś na własną rękę i jakie by to miało zastosowanie.

Jak uruchomić program bez systemu operacyjnego? [zamknięte]

Jak uruchomić program sam bez uruchomionego systemu operacyjnego? Czy można tworzyć programy montażowe, które komputer może załadować i uruchomić przy starcie, np. uruchomić komputer z pendrive ' a i uruchomić program, który jest na cpu?

Jak napisać własny kod modyfikujący w x86 assembly

Szukam kompilatora JIT dla hobbystycznej maszyny wirtualnej, nad którą ostatnio pracowałem. Znam się trochę na montażu (Jeste ... re wystarczająco by to zademonstrowały? Używam NASM jako mojego asemblera. EDIT: ja również uruchamiam ten kod na Linuksie.

Jak zacząć pisać sterowniki urządzeń? [zamknięte]

Chciałbym nauczyć się pisać sterowniki urządzeń, ponieważ myślę, że byłoby fajnie. Używam Mac OS X Macbook, ale mam też maszy ... ż mogę przeżuć? Nie boję się niskopoziomowego programowania, montażu czy jakiejkolwiek nakładu pracy. Naprawdę chcę wyzwania!

Jaka jest różnica między MOV a LEA?

Chciałbym wiedzieć, jaka jest różnica między tymi instrukcjami: MOV AX, [TABLE-ADDR] I LEA AX, [TABLE-ADDR]

Jakie jest znaczenie "non temporal" dostępu do pamięci w x86

Jest to pytanie nieco na niskim poziomie. W zestawie x86 znajdują się dwie instrukcje SSE: MOVDQA xmmi, m128 I M ... NT w movntdqa oznacza Non-Temporal, a poza tym jest to to samo co MOVDQA. Moje pytanie brzmi, co oznacza nie-czasowy ?

Co oznacza "int 0x80" w kodzie assembly?

Może ktoś wyjaśnić co robi poniższy kod asemblera? int 0x80

Dlaczego Skalar SSE sqrt(x) jest wolniejszy niż rsqrt(x) * x?

Profilowałem część naszej podstawowej matematyki na Intel Core Duo i patrząc na różne podejścia do pierwiastka kwadratowego z ... elów testowych: to, co naprawdę próbuję zmierzyć, to wydajność Skalar do użycia w kodzie, który nie może być wektoryzowany.)

Jak napisać hello world w asemblerze pod Windows?

Chciałem napisać coś podstawowego w assembly pod Windows, używam NASM, ale nic nie działa. Jak napisać i skompilować hello world bez pomocy funkcji C w systemie Windows?

Jakie rejestry zapisać w konwencji ARM C calling?

Minęło trochę czasu od ostatniego zakodowania asemblera arm i trochę zardzewiałem w szczegółach. Jeśli wywołam funkcję C z ar ... muszę naciskać jego wartości na stos, lub do pamięci, i pop / przywrócić go po wywołaniu C, mam? To dla arm-eabi-gcc 4.3.0.

Co tu oznacza @plt?

0x00000000004004b6 <main+30>: callq 0x400398 <printf@plt> Ktoś wie? UPDATE Dlaczego dwa disas printf daj ... ea 0x0(,%rdx,4),%rax 0x00000037aa44d37c <printf+28>: lea 0x3f(%rip),%rdx # 0x37aa44d3c2 <printf+98>

Czy jest sens używać instrukcji LFENCE na procesorach x86/x86 64?

Często w Internecie stwierdzam, że LFENCE nie ma sensu w procesorach x86, czyli nic nie robi, więc zamiast {[3] } możemy abso ... ENCE ma sens, aby zapobiec zmianie kolejności STORE-1 I LOAD-2. W tym celu po komendzie STORE-1 SFENCE spłukuje Store-Buffer.

Jak wyświetlić zespół za kodem za pomocą Visual C++?

Czytałem inne pytanie dotyczące wydajności dwóch linii kodu, i OP powiedział, że spojrzał na zespół za kodem i obie linie był ... l Basic. Więc jak wyświetlić kod asemblera za programem napisany w językach wyższego poziomu, takich jak C++ i Visual Basic?