Java týden Java týden
Aprílový black friday tě nenechá v klidu! Až 80 % prémiového obsahu zdarma. Více informací
Pouze tento týden slevy až 80 % na programování v Javě

Lekce 2 - Assembler x86 a x64 - Seznámení a nastavení

Ostatní jazyky Assembler Assembler x86 a x64 - Seznámení a nastavení

Unicorn College ONEbit hosting Tento obsah je dostupný zdarma v rámci projektu IT lidem. Vydávání, hosting a aktualizace umožňují jeho sponzoři.

V minulé lekci, Úvod do x86 a x64 assembleru, jsme si uvedli různé assemblery a vybrali EasyCode Visual assembler. Dnes se budeme věnovat jeho nastavení.

Instalace JWasm

Stáhneme složku JWasm a tuto složku rozbalíme a nakopírujeme do složky EasyCode\JWasm\. Spustíme soubor ve složce EasyCode\setting.exe. První spuštění je platné pro x86 i x64. Podrobný popis případně naleznete v manuálu.

Nastavení EasyCode Visual assembler

Spuštění EasyCode

Pro naše pohodlí na ploše vytvoříme zástupce EasyCode32 a EasyCode64. Exe soubory jsou uložené v EasyCode\Bin\EasyCode.exe. Pokud spustíte program EasyCode bez názvu projektu, zobrazí se dialogové okno s možnostmi vytvoření nového projektu. Zde je příklad dialogového okna pro nové projekty:

Nový projekt v EasyCode Visual assembleru

Pro typ projektu máme k dispozici osm možností:

  • Vizuální spustitelný soubor (exe)
  • Classic spustitelný soubor (exe)
  • Classic Dynamic Link Library (DLL)
  • Classic Statické knihovny (lib)
  • Classic konzolová aplikace (exe)
  • Souboru objektu Classic COFF (obj)
  • Classic NT ovladač (sys)
  • Classic NT service (exe)

Povolení motivů XP

Tato možnost platí pouze pro typ projektů Exe a Dll. Pokud je tato možnost při vytváření projektu zaškrtnuta, název souboru manifestu se zobrazí uvnitř uzlu "Manifest" Průzkumníka, aby mohl být editován v prostředí Easy Code. Tento soubor umožňuje aplikaci adoptovat vizuální motivy pozdějších verzí Windows, vypadá potom lépe. Více informací naleznete v dokumentaci.. Pokud vytváříme projekt pro Windows 8.1 nebo Windows 10, využijeme soubor manifestu, jak je určen v MSDN . Tento manifest musíme začlenit do našeho projektu:

<exe>.manifest
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
    <assemblyIdentity
        type="win32"
        name=SXS_ASSEMBLY_NAME
        version=SXS_ASSEMBLY_VERSION
        processorArchitecture=SXS_PROCESSOR_ARCHITECTURE
    />
    <description> my exe </description>
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
        <security>
            <requestedPrivileges>
                <requestedExecutionLevel
                    level="asInvoker"
                    uiAccess="false"
                />
            </requestedPrivileges>
        </security>
    </trustInfo>
    <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
        <application>
            <!-- Windows 10 -->
            <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
            <!-- Windows 8.1 -->
            <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
            <!-- Windows Vista -->
            <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
            <!-- Windows 7 -->
            <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
            <!-- Windows 8 -->
            <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
        </application>
    </compatibility>
</assembly>

Seznam maker v EasyCode

Políčko makra v Easy Code, ve vlastnostech projektu, určuje, zda jsou makra používaná v EasyCode (makra jsou uložena v podsložce) a zda mají být zahrnuta do projektu.

Konfigurace funkce EasyCode

Každý assembler musí mít ve složce EasyCode\Config odpovídající soubor .cfg (Fasm.cfg, Fasm64.cfg, GoAsm.cfg, GoAsm64.cfg atd.). Po stažení programu Easy Code 2 neexistuje soubor .cfg. Místo toho je zde soubor s příponou .ori (ori-initální) pro každou konfiguraci assembleru jako reference, abyste měli představu o tom, co konfigurovat. Tyto soubory obsahují mimo jiné i cesty a možnosti příkazového řádku pro každý překladač, linker, zdroj a knihovny, pro každý typ projektu.

Všechny cesty jsou opět pro jednoduchost odkazovány na kořen jednotky C:\, ale jak bylo řečeno dříve, mohly by být na jakémkoli jiném disku nebo cestě. Stačí si vzít v úvahu cesty, kde máte odpovídající nástroje a nastavit správnou cestu pro každý nástroj v možnostech cesty a příkazového řádku, jak uvidíme později v této části. Opět platí, že uložení přímo v C:\ není doporučeno, zejména ve Windows 8.1 a Windows 10, kvůli omezení oprávnění.

Při spuštění programu Easy Code zkontroluje, zda má každý soubor "ori" svůj ekvivalentní soubor "cfg". Pokud soubor "cfg" již existuje, neděje se nic. Pokud tam není, vytvoří kopii souboru "ori", ale s příponou "cfg". Soubory "ori" zůstávají vždy nezměněné. Pokud jste již spustili Easy Code, můžete vidět soubory ".cfg" ve složce EasyCode\Config.

Sekce Nastavení je k dispozici v nabídce Tools -> Settings a zobrazí následující okno:

General settings EasyCode assembleru
  • Show grid on window objects - Určuje, zda se na každém objektu okna zobrazí mřížka
  • Align controls to grid - Určuje, zda mají být ovládací prvky zarovnány s mřížkou
  • Show window asking for project type when starting application - Určuje, zda se okno s žádostí o nový typ projektu zobrazí při spuštění programu Easy Code bez příkazového řádku
  • Show output window only when errors occur - Určuje, zda se okno Výstup zobrazuje pouze tehdy, když se vyskytnou chyby v čase kompilace / linkování
  • Auto save project every (minutes) - Určuje časové období (v minutách), ve kterém bude projekt automaticky uložen. Hodnota 0 (výchozí hodnota) znamená, že funkce automatického ukládání je zakázána
  • Application priority - Nastaví prioritu aplikace na hodnotu Normální (výchozí), Vysoká nebo Nízká.
  • Default configuration for new projects - Určuje výchozí konfiguraci, která se má vybrat při vytváření nového projektu.
  • Sound for a successful operation - Určuje, který zvuk (nebo žádný) bude přehráván pro úspěšnou operaci
  • Sound for a failed operation - Určuje, který zvuk (nebo žádný) bude přehráván při selhání operace
  • Language - Nastavuje jazyk aplikace.
  • Restore settings to default values - Obnoví všechna předchozí nastavení na výchozí hodnoty
Editor

Toto nastavení již bez komentáře.

Syntax

Zde můžeme určit, zda (a jak) proběhne konverze syntaxe pro různé klíčová slova:

  • Compiler - Kontrola volby Výchozí konverze (doporučeno) znamená, že klíčová slova pro překladače budou převedena na stejnou syntaxi jako v příslušném konfiguračním souboru.
  • API functions, constants and structures - Kontrola možnosti Převést do rozhraní API (doporučeno) převede všechna jména rozhraní API na jejich správnou syntaxi.
  • Convert procedures, macros, structs and variable names - Zaškrtnutí této volby (doporučeno) převede všechny zmíněné názvy na správnou syntaxi.
  • Enable syntax hightlighting - Určuje, zda budou klíčová slova zvýrazněna nebo nikoliv.
  • Beautify syntax - Určuje, zda kód Easy přidává nebo odstraní mezery pro zkrášlení syntaxe.

Soubor v příloze je částečný překlad EasyCode přeloženo strojově, originál načtete zde.

V příští lekci, Assembler x86 a x64 - Registry, budeme pokračovat v možnostech a nastavení EasyCode Visual assembleru av.2.02.0.0007 a popisu registrů, které můžeme využívat pro programování v x86.


 

Stáhnout

Staženo 1x (85.92 kB)
Aplikace je včetně zdrojových kódů v jazyce ASM

 

 

Článek pro vás napsal zpavlu
Avatar
Jak se ti líbí článek?
2 hlasů
C# , C++ a assembler
Miniatura
Předchozí článek
Úvod do x86 a x64 assembleru
Miniatura
Všechny články v sekci
Assembler
Miniatura
Následující článek
Assembler x86 a x64 - Registry
Aktivity (2)

 

 

Komentáře

Avatar
Robert Michalovič:6. března 19:31

Dobrý den

Zase mám pár dotazů.

  1. V nastavení okna New Projects je nastaveno JWasm 32bit ale v okně Settings je v Default configuration for new Projects je nastaveno JWasm64. Má to tak být? Nebo to není důležité.
  2. Stáhl jsem si ten nejnovější EasyCode a tam ty *.cfg soubory již jsou vytvořeny( i ty *.ori tam jsou). Stačí tedy v nich pouze v sekci [Paths] nastavit správné cesty ?
  3. Ty cesty [Paths] jsou pro JWasm 32bit a 64bit identické ?

Děkuji

 
Odpovědět 6. března 19:31
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.