Masm32 - Direktivy
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

Masm32 - DirektivyMasm32 - Direktivy

 

Masm32 - Direktivy

Google       Google       9. 3. 2006       12 889×

"196156 - Bude-li důstojník přistižen, jak očichává sedlo rotopedu v dámské tělocvičně, bude propuštěn bez soudu." Určitě jste poznali, že se jedná o jednu z mnoha direktiv, které lze zaslechnout v serálu Red Dwarf. Ale my se dnes podíváme na jiné direktivy a doufám, že budou zajimavé i přesto, že nejsou tak vtipné jako v již zmíněném seriálu.

Reklama
Reklama
  • Co to jsou direktivy
  • První tři řádky programu
  • Co bude příště
  • Novinky

Co to jsou direktivy

Direktiva je vyhrazené slovo pro assembler (kompilátor). V popisu MSDN (část věnovaná MASM32) zahrnuje do direktiv i tzv. High Level Syntax. Dnes si tedy probereme ty nejzákladnější, které budeme v budoucnu používat, a já je nebudu dále vysvětlovat.

První tři řádky programu

Každý program v MASM32 (.EXE/.DLL) musí začínat třemi řádky, které přikazují kompilátoru, jak má vypadat výsledný kód. Jelikož se v tomto seriálu budeme zabývat programy pro Windows, musí každý program začínat takto:

.586
.model flat,stdcall
option casemap:none
.586

Direktiva se používá na nastavení instrukční sady procesoru 586. Povolené jsou také direktivy .286, .386, .486, .586 a .686. Znamená to tedy, že pokud použijete direktivu .486 a ve zdrojovém kódu se objeví instrukce, která se nachází pouze v instrukční sadě 586, budete na to kompilátorem upozorněni.


.model flat,stdcall

Definuje paměťový model ve zdrojovém kódu. Paměťový model může být jeden z následujících typů: TINY, SMALL, COMPACT, LARGE anebo FLAT. V našem případě přichází v úvahu pouze FLAT, protože jako jediný používá šířku segmentu 32 bitů. Zároveň generuje data a kód do jednoho segmentu. Sdtcall je typ jazyka; opět zde může být několik nastavení, a to C, BASIC, FORTRAN, PASCAL, SYSCALL. My však budeme používat stdcall.


option casemap:none

Tato direktiva kontroluje mapovaní znaků na velká písmena. Parametr za dvojtečkou může být ALL, NONE anebo PUBLIC. Standardní nastavení je NONE. Jen pro zajímavost dodám, že tyto parametry korespondují s volbami příkazového řádku kompilátoru, a to /Cu, /Cp, /Cx.

Co bude příště

Doufám, že vás dnešní díl zaujal, i když není tak mohutný, jako byl ten první, pilotní díl. Příště si popíšeme nejpoužívanější High Level Syntax, a pak se už budeme věnovat jednoduchým ukázkám ve WinAsm.

Novinky

WinAsm Studio - k dispozici je nová verze tohoto IDE rozhraní

The MASMForum - fórum s velkým zdrojem informací kolem programování v MASM. Zařadil jsem ho sem, protože si z tohoto fóra můžete stáhnout novou beta verzi MASM32. Přímý odkaz na thread je zde.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

4 názory  —  4 nové  
Hlasování bylo ukončeno    
0 hlasů
Google
Autor programuje v Assembleru, resp. v MASM32.

Nové články

Obrázek ke článku Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres HCPP16 pořádá od 30. září do 2. října nezisková organizace Paralelní Polis již potřetí, a to ve stejnojmenném bitcoinovém prostoru v pražských Holešovicích. Letos přiveze na třídenní konferenci přes 40 většinou zahraničních speakerů – lídrů z oblastí technologií, decentralizované ekonomiky, politických umění a aktivismu. Náměty jejich přednášek budou také hacking, kryptoměny, věda, svoboda nebo kryptoanarchie.

Reklama
Reklama
Obrázek ke článku ICT PRO školení zaměřené nejenom na ICT

ICT PRO školení zaměřené nejenom na ICT

Dovolte, abychom se představili. Jsme zaměstnanci společnosti ICT Pro, profesionálové v oblasti poskytování komplexních ICT služeb. Neboli služeb spojených s informačními a komunikačními technologiemi, které dnes - ve 21. století - tvoří  nedílnou součást běžného provozu všech moderních firem.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý