No ACL setup yet! Denying access to everyone.
pl:edu:zmitac:n1z:ja:lab1
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| pl:edu:zmitac:n1z:ja:lab1 [2021/03/27 19:53] – [Praktyka: Tworzenie projektu C++ i konsersja do ASM] pczekalski | pl:edu:zmitac:n1z:ja:lab1 [2022/04/23 19:04] (current) – [Powtórka z teorii: Funkcje i ich wywoływanie z poziomu assemblera] pczekalski | ||
|---|---|---|---|
| Line 37: | Line 37: | ||
| < | < | ||
| </ | </ | ||
| + | |||
| + | === Dodatek AsmDude do VS 2019 === | ||
| + | Visual Studio natywnie nie posiada narzędzi wspomagających pracę dewelopera z kodem źródłowym w assemblerze. Jednak ze względu na istniejących mechanizm dodatków, można doinstalować zewnętrzne narzędzia. Nie jest to obowiązkowe, | ||
| + | Opis dodatku znajduje się na stronie autora((https:// | ||
| ==== Wymagania ==== | ==== Wymagania ==== | ||
| Line 109: | Line 113: | ||
| Wartości zmiennoprzecinkowa zwracana jest w rejestrze XMM0. | Wartości zmiennoprzecinkowa zwracana jest w rejestrze XMM0. | ||
| + | == Rejestry " | ||
| + | <note warning> | ||
| + | |||
| + | Rejestry, które można bezkarnie zmieniać wewnątrz kodu assemblerowej funkcji, bez konieczności przywracania oryginalnej wartości, to ([[https:// | ||
| + | * RAX, RCX, RDX, R8, R9, R10, R11, oraz XMM0-XMM5, | ||
| + | * dodatkowo w procesorach, | ||
| + | * a ponadto w procesorach wyposażonych w funkcje AVX512VL, wszystkie rejestry ZMM, YMM oraz XMM16-XMM31. | ||
| + | Rejestry, których nie wolno zmieniać (albo raczej należy przywrócić ich oryginalne wartości przed opuszczeniem funkcji) to: | ||
| + | * RBX, RBP, RDI, RSI, RSP, R12, R13, R14, R15 oraz XMM6-XMM15. | ||
| ==== Praktyka: Tworzenie projektu C++ i konsersja do ASM ==== | ==== Praktyka: Tworzenie projektu C++ i konsersja do ASM ==== | ||
pl/edu/zmitac/n1z/ja/lab1.1616871215.txt.gz · Last modified: by pczekalski
