x86

Hello World using x86 assembler on Mac 0SX

Próbuję zanurzyć się w programowaniu montażu x86 na moim Macu, ale mam problem z wyprodukowaniem pliku wykonywalnego. Proble ... ng crt1.o) for inferred architecture x86_64 Każda rada na temat tego, co robię źle / brakuje byłoby bardzo pomocne. dzięki

montaż x86: Instrukcja INC i DEC oraz flaga przepełnienia

W Zestawie x86 znacznik przepełnienia jest ustawiany, gdy operacja add lub sub na sygnowanej liczbie całkowitej przepełnia si ... jest nieuniknione. Jednak to drukuje: Overflow flag: 0. Huh? Dlaczego w tym przypadku nie ustawiono flagi przepełnienia?

Jak sprawdzić wartość EIP za pomocą języka asemblacji? [duplikat]

To pytanie ma już odpowiedź tutaj: odczyt licznika programu bezpośrednio ... odpowiedzi Chcę uzyskać bieżącą wartość rejestru EIP z językiem asemblacji. Czy to możliwe?

Procesory MIPS: czy nadal są używane? Jakiej innej architektury powinienem się nauczyć? [zamknięte]

zamknięte . To pytanie jest oparte na opinii . Obecnie nie przyjmuje odpowiedzi. ... Jaką architekturę wybrać? Moje tło: Jestem studentem Wydziału Elektroniki. Jestem również programistą na wysokim poziomie.

Dlaczego używanie tej samej linii pamięci podręcznej z wielu wątków nie powoduje poważnego spowolnienia?

Spójrz na ten fragment: #include <atomic> #include <thread> typedef volatile unsigned char Type; // typedef st ... mechanizm do załatwienia tej sprawy? Dlaczego ten mechanizm jest dużo tańszy (właściwie jest prawie darmowy) niż atomic-one?

Jak odczytywać i zapisywać Bezpośrednio rejestry FLAG x86?

Z tego co czytałem, wygląda na to, że jest 9 różnych flag. Czy można je odczytać/zmienić bezpośrednio? Wiem, że mogę wiedzieć ... , ale pytam, czy można zrobić coś takiego jak mov eax, flags Czy coś. Również, do pisania, czy można ustawić je ręcznie?

Jak porównać dwa wektory za pomocą SIMD i uzyskać pojedynczy wynik logiczny?

Mam dwa wektory po 4 liczby całkowite każdy i chciałbym użyć polecenia SIMD, aby je porównać (powiedzmy wygenerować wektor wy ... tor wyniku do wektora 4 zer i tylko wtedy, gdy są równe zrobić coś. Czy wiesz, jakich poleceń SIMD mogę użyć, aby to zrobić?

Ile rejestrów jest w 8086/8088?

Brałem udział w kursie architektury komputera i zrozumiałem, że procesor ma 32 rejestry każdy z 32 bitów. Teraz studiuję kurs ... i. Uwaga: Dobrze rozumiem różne wielkości rejestrów w różnych procesorach. Jestem tylko się pogubiłem w liczbie rejestrów.

Co robi Windows przed wywołaniem Main ()?

Windows musi zrobić coś, aby przeanalizować nagłówek PE, załadować plik wykonywalny do pamięci i przekazać argumenty linii po ... go do uruchomienia punktu wejścia? Czy to, co debugger pokazuje cały proces wykonywany przez system operacyjny przed main()?

Dlaczego liniowy odczyt-tasowany zapis nie jest szybszy niż tasowany Odczyt-Zapis liniowy?

Obecnie staram się lepiej zrozumieć problemy związane z wydajnością pamięci/pamięci podręcznej. Czytałem gdzieś, że lokalizac ... się być różnica, ale to jest znacznie bardziej subtelne i może teraz przejść w obie strony w zależności od problemu rozmiar.

Czy używanie XOR reg, reg daje przewagę nad MOV reg, 0? [duplikat]

To pytanie ma już odpowiedź tutaj: jaki jest najlepszy sposób na ustawienie rejestru na zero w x86 assem ... ma zależności instrukcji xor reg, reg od wcześniejszej instrukcji mov eax, 0? Co? czy może być lepszy test, aby to sprawdzić?

Co oznacza MOV EAX, DWORD PTR DS:[ESI] i do czego służy?

W porządku, więc mam tę linię w moim zbiorze MOV EAX, DWORD PTR DS:[ESI] Gdzie ESI jest 00402050 (ascii, "123456789012") ... Co tu się naprawdę stało? Jak obliczana jest ta wartość i dlaczego? Gdzie mogę znaleźć jakieś dobre referencje na ten temat?

Użyj 32-bitowego katalogu "Program Files" w msbuild

W 64-bitowych wersjach windows 32-bitowe oprogramowanie jest instalowane w "c:\program pliki (x86)" Oznacza to, że nie można ... stemu operacyjnego, na którym jest uruchomiony. Mam rozwiązanie, które zamieszczę, ale może jest łatwiejszy / lepszy sposób.

Nowoczesny model x86

Piszę kompilator JIT z backendem x86 i uczę się asemblera x86 i kodu maszynowego. Używałem ARM assemblera około 20 lat temu i ... kilka lat nie będzie miało zastosowania do nowoczesnych procesorów x86, ponieważ tak bardzo się ostatnio zmieniły. Mam rację?

Jaki jest cel ustawienia docelowej platformy dla aplikacji Visual Studio?

Dla dowolnego projektu VS możliwe jest ustawienie celu platformy we właściwościach budowania tego projektu. Możesz ustawić to ... ktu na maszynie x64? Jeśli tak, to dlaczego jest to w ogóle używane? Czy nie lepiej jest zawsze używać dowolnego procesora?

Najprostsza możliwa architektura, która może być zwirtualizowana i uruchomić jądro Linuksa

Zainspirowała mnie implementacja Fabrice ' a Bellarda maszyny wirtualnej x86 w Javascript i chciałbym spróbować napisać najp ... montażu i niektóre podstawy teorii systemów operacyjnych, więc powinno to być w zasięgu ręki z wystarczającą ilością pracy.

Entity Framework spinup znacznie wolniej na x64 vs x86

Mój współpracownik napisał wczoraj to pytanie: 7-sekundowy czas uruchamiania EF nawet dla małego DbContext. Po pobraniu jego ... proces inicjalizacji, gdy celuje w system 64-bitowy vs 32-bitowy. Czy ktoś ma wgląd w to co dzieje się pod maską do wyjaśnić?

Jakie są najlepsze sekwencje instrukcji do generowania stałych wektorowych w locie?

"najlepsza" oznacza najmniejszą liczbę instrukcji (lub najmniejszą liczbę uops, jeśli jakakolwiek Instrukcja dekoduje się do ... rumieniu instrukcji, ale to zwykle nie jest sensowne (nie oszczędza miejsca i zajmuje dużo miejsca w pamięci podręcznej uop.)

Czy gcc może skompilować x86 assembly lub po prostu go połączyć?

Gcc może produkować assembly, ale jak skompilować czysty assembly z gcc lub innym kompilatorem? Wiem, że montaż x86 jest trud ... $hello, %rdi call puts movq $0, %rax leave ret $ gcc hello.s -o hello $ ./hello Hi World

dword ptr

W języku assembly jeśli używamy mov eax, dword ptr[ebx] To znaczy skopiować wartość wskazywaną przez ebx (ebx zawiera war ... mov edx, dword ptr [pTargetAddress] mov eax, nValue lock xchg eax, dword ptr [edx] } } #endif // WIN32