JSA (assembler pro PC) - Úvod
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

JSA (assembler pro PC) - ÚvodJSA (assembler pro PC) - Úvod

 

JSA (assembler pro PC) - Úvod

Google       Google       25. 8. 2005       17 722×

Úvod do jazyka symbolických adres někdy nazývaneho assembler, pro procesory x86.

  • Úvod
  • Doporučené programové vybavení
  • Vkládaný assembler v Turbo Pascal
  • Vkládaný assembler v C
..

Reklama
Reklama

Úvod

Jazyk symbolických adres (dále JSA) je hodně podobný storojovému kódu. JSA vznikl někdy v padesátých letech pro velké sálové počítače, kde nahradil srojový kód, ve kterém se tehdy programovalo. Jedná se o nízkoúrovňový jazyk, jenž se vyznačuje velkou rychlostí oproti vysokoúrovňovým systémovým jazykům (C, C++, Object Pascal, ...) nebo oproti třeba skriptovacím jazykům (Python, Perl, Tcl, Visual Basic).

V JSA programujeme za pomocí instrukcí. Tento jazyk ulehčil programátorovi práci, protože nemusel psát ve strojovém kódu, ale psal za pomocí mnemotechnickch symbolů, které se lépe zapamatovaly. Výhodou je používání symbolů oproti obyčejným číslům, používají se symboly třeba pro adresy, které se při překladu nahradí skutečnou adresou. Každý procesor má svůj odlišný JSA (některé se odlišují minimálně), my se budem zabývat JSA pro 8086 (x86). Jako překladač (compiler) JSA slouží assembler.

Kdysi se v JSA programovalo mnoho aplikací, mezi než patřily třeba i hry a hry zejména, protože tam hodně záleželo na rychlosti. Dneska už programovat v JSA hry nebo jakýkoliv větší projekt nemá cenu, je sice pravda, že by to bylo rychlejší, ale doba vývoje by se nesmírně protáhla i možná na několik desítek let a to nemluvím třeba o žádné přenostitelnosti nebo o tom, že by se pravděpodobně program s narůstajícím počtem řádek stal nečitelným a nedokončitelným. Dnešní hry se už programují přes grafické API jako je OpenGL nebo DirectX. Dneska se dá JSA využít jako vkládaného assembleru třeba do některých vysokoúrovňových programovacích jazyků pro urychlení některých funkcí a výpočtů. V některém z příštích článků si to ukážeme v praxi. Později si v kurzech možná ukážem vytvoření nějaké lehčí hry, ale to opravdu jen pro zábavu :).

Doporučené programové vybavení

Články budu psát pro dva programovací jazyky a to C a Pascal, kde budeme používat vkládaný assembler. U čtenářů předpokládám alespoň základní znalosti jednoho z výše uvedených jazyků. Občas se stane, že v některém z jazyků se bude samotný kod JSA trošku odlišovat.

Vkládaný assembler v C

Jako vývojový nástroj budu používat Visual C++ 6.0, který pro JSA používá Intel syntaxi jako všechny kompilátory od Microsoftu. V DevC++ a jemu podobných se používá AT&A (GCC), tyto syntaxe se v některých věcech liší. Pokud budete používat kompilér s AT&A syntaxí (MinGW,..) tak vám doporučuji přečíst si následujcí články:
http://www.strojsnv.sk/linux/programy/gnu-18.html
http://www.root.cz/clanky/kdyz-cecko-nestaci-gas/

Pokud byste chtěli free nástroj a přitom používat Intel syntaxi, můžu vám doporučit IDE Code:Blocks, které má komilér GCC (MingW/Linux GCC), ale můžete si stáhnout Visual C++ kompilér jako VC Toolkit 2003 tady:
http://msdn.microsoft.com/visualc/vctoolkit2003

S tímto nástrojem nemám zatím moc zkušeností, ale rozhodně vypadá víc "user friendly" jak DevC++. Co víc, tento nástroj můžete používat i pod linuxem, navíc je to open source, takže si můžete klidně stáhnout jeho zdrojáky.

Základní kód:


#include < stdio.h > // pro praci s konzoli

int main( )
{
  _asm  // intel syntaxe 
  {
    // tady budou instrukce JSA
  }
  return 0;
}

Projekt vytvoříte jako novou console aplikaci ( File - New - Projects - win32 console apl. - A simple apl. ).

Vkládaný assembler v Turbo Pascal

Jako vývojový nástroj budu používát starý dobrý Borland Turbo Pascal verze 7.0, který si můžete stáhnout zde. Zvažoval jsem použití freepascalu, který jede taky pod DOSem a má dobré IDE, boužel pro nás podporuje AT&A syntaxi.




Základní kód :


program JSA;
uses crt;

begin
  asm  // intel syntaxe
    // tady budou instrukce JSA
  end;
end.

×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.

Hlasování bylo ukončeno    
0 hlasů
Google
Autor programuje v C++, Pascalu, JSA a zajímá se o 3D grafiku.

Nové články

Obrázek ke článku NEWTON Media prohledá 200  milionů mediálních zpráv během sekund díky Cisco UCS

NEWTON Media prohledá 200 milionů mediálních zpráv během sekund díky Cisco UCS

Česká společnost NEWTON Media provozuje největší archiv mediálních zpráv ve střední a východní Evropě. Mezi její zákazníky patří například ministerstva, evropské instituce nebo komerční firmy z nejrůznějších oborů. NEWTON Media rozesílá svým zákazníkům každý den monitoring médií podle nastavených klíčových slov a nabízí online službu, kde lze vyhledat mediální výstupy v plném znění od roku 1996.

Reklama
Reklama
Obrázek ke článku Delphi 10.1.2 (Berlin Update 2) – na co se můžeme těšit

Delphi 10.1.2 (Berlin Update 2) – na co se můžeme těšit

Touto roční dobou, kdy je zem pokrytá barevným listím a prsty křehnou v mrazivých ránech, se obvykle těšíme na zbrusu novou verzi RAD Studia. Letos si však ale budeme muset počkat na Godzillu a Linux až do jara. Vezměme tedy za vděk alespoň updatem 2 a jelikož dle vyjádření pánů z Embarcadero se budou nové věci objevovat průběžně, pojďme se na to tedy podívat.

Obrázek ke článku Konference: Moderní datová centra pro byznys dneška se koná už 24. 11.

Konference: Moderní datová centra pro byznys dneška se koná už 24. 11.

Stále rostoucí zájem o cloudové služby i maximální důraz na pružnost, spolehlivost a bezpečnost IT vedou k výrazným inovacím v datových centrech. V infrastruktuře datových center hraje stále významnější roli software a stále častěji se lze setkat s hybridními přístupy k jejich budování i provozu.

Obrázek ke článku Konference: Mobilní technologie mají velký potenciál pro byznys

Konference: Mobilní technologie mají velký potenciál pro byznys

Firmy by se podle analytiků společnosti Gartner měly  rychle přizpůsobit skutečnosti, že mobilní technologie už zdaleka nejsou horkou novinkou, ale standardní součástí byznysu. I přesto - nebo možná právě proto - tu nabízejí velký potenciál. Kde tedy jsou ty největší příležitosti? I tomu se bude věnovat již čtvrtý ročník úspěšné konference Mobilní řešení pro business.

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ý