Jak mogę mnożyć i dzielić używając tylko przesunięcia bitowego i dodawania?
Jak mogę mnożyć i dzielić używając tylko przesunięcia bitowego i dodawania?
Powiedziano mi, żebym użył dezasemblera. Czy gcccoś jest wbudowane? Jaki jest najłatwiejszy sposób na zrobienie tego?
Co to rep; nopznaczy? Czy to to samo, co pauseinstrukcja? Czy to to samo co rep nop(bez średnika)? Jaka jest różnica w stosunku do prostej nopinstrukcji? Czy zachowuje się inaczej na procesorach AMD i Intel? (bonus) Gdzie jest oficjalna dokumentacja tych instrukcji? Motywacja do tego...
Oglądam przemówienie Chandlera Carrutha w CppCon 2019: Brak abstrakcyjnych kosztów zerowych podaje w nim przykład tego, jak był zaskoczony tym, ile ponosisz koszty ogólne, używając std::unique_ptr<int>ponad int*; ten segment zaczyna się mniej więcej w punkcie czasowym 17:25. Możesz rzucić...
Obecnie próbuję zrozumieć, jak działa stos, więc postanowiłem nauczyć się języka asemblera , używam tej książki: http://savannah.nongnu.org/projects/pgubook/ Używam Gas i tworzę program na Linux Mint . Jestem trochę zdezorientowany: O ile wiedziałem, stos to po prostu struktura danych. Więc...
Czy istnieje sposób, aby zobaczyć natywny kod generowany przez JIT w JVM?
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 3 lata temu . Popraw to pytanie...
Chciałbym zacząć używać Blazora, mimo że wciąż jest na poziomie alfa. Jak rozumiem, Blazor używa WebAssembly do kompilacji C # po stronie klienta. Mam te pytania: Czy to podejście działa szybciej niż, na przykład, React / Vue, skompilowane w JavaScript? Czy to prawda, że przeglądarka będzie...
To pytanie jest kontynuacją mojego pytania tutaj (za radą Mistycznego): Wydajność pętli kodu C. Kontynuując moje pytanie, kiedy używam instrukcji spakowanych zamiast instrukcji skalarnych, kod używający funkcji wewnętrznych wyglądałby bardzo podobnie: for(int i=0; i<size; i+=16) { y1 =...
Przechodzę przez MSIL i zauważam, że w MSIL jest wiele instrukcji nop . Artykuł MSDN mówi, że nie podejmują żadnych działań i są używane do wypełniania miejsca, jeśli kod operacji jest załatany. Są używane znacznie częściej w kompilacjach do debugowania niż w kompilacjach wydań. Wiem, że tego...
Tak więc miałem ten kod: constexpr unsigned N = 1000; void f1(char* sum, char* a, char* b) { for(int i = 0; i < N; ++i) { sum[i] = a[i] + b[i]; } } void f2(char* sum, char* a, char* b) { char* end = sum + N; while(sum != end) { *sum++ = *a++ + *b++; } } Chciałem zobaczyć kod, który...
Próbuję napisać trochę SIMD głównie do celów edukacyjnych. Wiem, że Go może łączyć zestaw, ale nie mogę sprawić, by działał poprawnie. Oto najbardziej minimalny przykład, jaki mogę zrobić (mnożenie wektorów według elementów): vec_amd64.s (uwaga: rzeczywisty plik ma białą linię pod spacją,...
Pracuję z C przez krótki czas i bardzo niedawno zacząłem zajmować się ASM. Kiedy kompiluję program: int main(void) { int a = 0; a += 1; return 0; } Demontaż objdump ma kod, ale nops po ret: ... 08048394 <main>: 8048394: 55 push %ebp 8048395: 89 e5 mov %esp,%ebp 8048397: 83 ec...
Znalazłem wiele informacji na temat tego błędu: „BŁĄD: nie można załadować pliku lub zestawu„ * .dll ”lub jednej z jego zależności. Odmowa dostępu. Ale nie znalazłem odpowiedzi specyficznej dla mojego scenariusza. Moja witryna jest wdrażana na 6 różnych serwerach produkcyjnych, tylko na jednym...
Próbuję dowiedzieć się, czy można uruchomić maszynę wirtualną z systemem Linux, której pamięć RAM jest obsługiwana tylko przez jedną fizyczną stronę. Aby to zasymulować, zmodyfikowałem moduł obsługi błędów zagnieżdżonej strony w KVM, aby usunąć obecny bit ze wszystkich pozycji zagnieżdżonej...
Dlaczego gcc wypełnia całą tablicę zerami zamiast tylko pozostałych 96 liczb całkowitych? Wszystkie niezerowe inicjalizatory znajdują się na początku tablicy. void *sink; void bar() { int a[100]{1,2,3,4}; sink = a; // a escapes the function asm("":::"memory"); // and compiler memory barrier //...
Zaktualizowałem wersję 2019 16.3.10 do 16.4 i .net core 3.0 do .net core 3.1, ale brakuje szablonu aplikacji blazor web
Zwróciłem się do współpracownika, if (i < input.size() - 1) print(0);który zoptymalizowałby się w tej pętli, aby input.size()nie był czytany przy każdej iteracji, ale okazuje się, że tak nie jest! void print(int x) { std::cout << x << std::endl; } void print_list(const...
Trochę eksperymentowałem z wykonywaniem z pamięci RAM i pamięci flash w systemach wbudowanych. Do szybkiego prototypowania i testowania używam obecnie Arduino Due (SAM3X8E ARM Cortex-M3). Z tego, co widzę, środowisko uruchomieniowe Arduino i bootloader nie powinny mieć tutaj znaczenia. Oto...
Co tak naprawdę dzieje się na nowoczesnym sprzęcie komputerowym uruchomionym w 16-bitowym starszym trybie BIOS MBR, gdy zapisujesz bajt taki jak '1'(0x31) w buforze ramki tekstu VGA (tryb 03) pod fizycznym adresem liniowym B8000? Jak wolno mov [es:di], eaxsklep z MTRR dla tego regionu jest...