assembly

kod wywołujący zapisany w stercie z vc++

Wyobraź sobie, że robię coś takiego: void *p = malloc (1000); *((char*)p) = some_opcode; *((char*)p+1) = another_opcode; // ... tc... Jak mogę zdefiniować wskaźnik funkcji do wywołania p tak, jakby była to funkcja? (używam VC++ 2008 express). Thanks

Dlaczego leave robi "MOV esp, ebp" w x86 assembly?

Mówi się, że instrukcja leave jest taka sama jak: mov esp,ebp pop ebp Ale po co tu jest mov esp,ebp? Nie wydaje mi się to ważne...

x86 Assembly pushl / popl nie działa z "Error: sufiks lub operands invalid"

Jestem początkującym programistą assemblera, pracującym nad programowaniem od podstaw na pulpicie Ubuntu x86_64 z GNU assemb ... pushl i popl są poprawne. To nie jest dokładnie debugowanie pytanie--Więc co jest nie tak z moim kodem? A może mój asembler?

Czy MOV x86 naprawdę może być "darmowy"? Dlaczego nie mogę tego odtworzyć?

Ciągle widzę ludzi, którzy twierdzą, że instrukcja MOV może być wolna w x86, z powodu zmiany nazwy rejestru. Nie mogę tego ... V jest wolny, jak twierdzą ludzie? Jeśli tak, to co to jest? A jeśli nie, to dlaczego wszyscy twierdzą, że MOV jest za darmo?

Dlaczego GCC Pad działa z NOPs?

Pracuję z C przez krótki czas i bardzo niedawno zacząłem dostać się do ASM. Kiedy kompiluję program: int main(void) { i ... trudzić? Couldn't Elf (linux-x86) work with a .sekcja tekstowa (+główna) dowolnego rozmiaru? Będę wdzięczny za każdą pomoc.

Różnica w wydajności między MSVC i GCC dla wysoce zoptymalizowanego kodu multplikacji macierzy

Widzę dużą różnicę w wydajności pomiędzy kodem skompilowanym w MSVC (na Windows) i GCC (na Linuksie) dla systemu Ivy Bridge. ... 17.74 ms, GFLOPs 2.147, GFLOPs/s 121.05, error 0.000e+000, efficiency/core 204.47%, efficiency 51.12%, mem 12.00 MB

Gdzie mogę znaleźć kod źródłowy wywołania systemowego?

W Linuksie gdzie mogę znaleźć kod źródłowy dla wszystkich wywołań systemowych, biorąc pod uwagę, że mam drzewo źródłowe? Równ ... kod źródłowy i assembly dla konkretnego wywołania systemowego, czy jest coś, co mogę wpisać w terminalu, jak-my_system_call?

MIPS assembly language-rejestr tymczasowy vs zapisane rejestry

Do tej pory używałem rejestrów $S0 - $s9 i tak samo jak rejestry $t0 - $T9. Powiedziano mi i przeczytałem niezliczone posty n ... kowo prosty przykład, gdzie rejestr $t0-9 nie działałby tak samo jak rejestr $S0 - 9 i w rezultacie generowałby inną wartość?

Szybki Sinus / Cosinus do ARMv7 + NEON: Szukam testerów…

Czy ktoś z dostępem do iPhone ' a 3GS lub Pandory może przetestować poniższy schemat montażu, który właśnie napisałem? Ma ba ... " :: "r"(results), "r"(angles), "r"(constants) : "memory","cc","q0","q1","q2","q3","q4","q5","q6" ); }

Przykład sterownika graficznego "hello world"? [zamknięte]

Jakie są kroki konieczne do utworzenia sterownika GPU, który renderuje piksele na wyświetlaczu? W zasadzie tylko najprostszy ... et na Linuksie, dobrze byłoby to wiedzieć. Ale nawet wtedy pozostaje pytanie, od czego zacząć pisanie sterownika graficznego?

Hello world używanie nasm w Windows assembly

Używam nasm do skompilowania następującego zestawu. Jednak kod zawiesza się w konsoli pod Windows. C:\>nasm-f win32 ... 16: Mój przykład pracy: section .text global _WinMain@16 _WinMain@16: mov eax, 0 ret 16

Język montażu dla inżynierii odwrotnej [zamknięty]

Jaki wybrać NASM lub MASM do nauki montażu. Chcę się nauczyć montażu, motywacją jest inżynieria odwrotna. Tak, że kiedy demo ... ą asemblery, ale aby zrozumieć wyjście disassemblera muszę znać assemblera i dlatego pytam od czego zacząć (z MASM lub NASM)

Pisanie firmware: montaż czy wysoki poziom?

Powiązane z: testowanie firmware uruchamianie symulatora/emulatora mikrokontrolera interpretacja kodu zestawu Je ... nica, jeśli piszesz w assembly, C lub innym języku wysokiego poziomu? Gdybyś napisał kod C, jak byś go skompilował? Thanks

Przydzielanie stosów, wypełnianie i wyrównywanie

Starałem się lepiej zrozumieć jak kompilatory generują kod maszynowy, a dokładniej jak GCC radzi sobie ze stosem. W ten sposó ... bieżność? W celach informacyjnych kompiluję to na komputerze Mac z systemem 10.5 z gcc 4.0.1 i bez włączonych optymalizacji.

Wskaźnik bazowy i wskaźnik stosu

Podany fragment kodu: swap: push ebp ; back up the base pointer, mov ebp, esp ; ... szczyt stosu. Następnie wciskamy 4 wartości na stosie: EAX, ebx, ecx i edx. Dlaczego EBP + 8 wskazuje na pierwszy parametr ?

co właściwie robi instrukcja montażu "db"?

Jestem trochę zdezorientowany co do tego, co Instrukcja ASM db faktycznie robi. Czytałem, że definiuje bajt, ale co to właściwie znaczy? Czy przenosi wartość w określone miejsce w pamięci, czy też predefiniuje wartość przed złożeniem kodu?

Korzystanie z instrukcji SSE

Mam pętlę napisaną w C++, która jest wykonywana dla każdego elementu Wielkiej tablicy liczb całkowitych. Wewnątrz pętli masku ... e, jeśli mój kod będzie działał na innym procesorze? Czy nadal będzie działać lub te instrukcje są specyficzne dla procesora?

Jaka jest różnica między bezwarunkową gałęzią a bezwarunkowym skokiem (instrukcje w MIPS)?

Możesz zajrzeć do Wikipedii lub krótkiego streszczenia dla studentów. Wszyscy mówią, że istnieją dwie instrukcje dla tej samej rzeczy. Ale nikt nie powie dlaczego?

Jak połączyć program do montażu gazu, który korzysta z biblioteki standardowej C z ld bez użycia gcc?

Jako ćwiczenie, aby dowiedzieć się dokładniej, jak działają programy w języku c i jaki minimalny poziom zawartości musi istni ... akie parametry wywołać w ld, aby pomyślnie połączyć się z libc. Ktoś ma w tym jakiś wgląd? Używam Linuksa, na maszynie x86.

Jaki jest cel instrukcji rotate (ROL, RCL na x86)?

Zawsze zastanawiałem się, jaki jest cel instrukcji rotacji niektórych procesorów (na przykład ROL, RCL na x86). Jakie oprogra ... peratorów mapujących do tych instrukcji. Czy ktoś znalazł dla nich zastosowanie? Dlaczego gdzie dodali do zestawu instrukcji?