<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[Odjechani.com.pl - Assembler]]></title>
		<link>https://odjechani.com.pl/</link>
		<description><![CDATA[Odjechani.com.pl - https://odjechani.com.pl]]></description>
		<pubDate>Fri, 17 Apr 2026 23:18:27 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[[Poradnik] Łatwy i przyjemny sposób na naukę assemblera]]></title>
			<link>https://odjechani.com.pl/Thread-Poradnik-Latwy-i-przyjemny-sposob-na-nauke-assemblera</link>
			<pubDate>Sat, 25 Mar 2017 15:20:58 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://odjechani.com.pl/member.php?action=profile&uid=10486">amb00</a>]]></dc:creator>
			<guid isPermaLink="false">https://odjechani.com.pl/Thread-Poradnik-Latwy-i-przyjemny-sposob-na-nauke-assemblera</guid>
			<description><![CDATA[W tym poradniku opiszę łatwy i prosty sposób na naukę tego języka. Assembler jest postrzegany za trudny język, ponieważ trzeba świetnie wiedzieć jak działa procesor, w dodatku dla wielu osób nie jest przejrzysty tak jak języki wysokiego poziomu. Wielu osobom też trudno by było w nim napisać cały program robiący coś konkretnego, ale kto powiedział, że trzeba się go uczyć pisząc całe programy? Znając C/C++ można w prosty sposób nauczyć się assemblera pisząc w nim tylko pojedyncze elementy programu oraz obserwując jak działa zdekompilowany program napisany w kompilowanym języku wysokiego poziomu. Tylko jak pisać w assemblerze pojedyncze elementy programu w C/C++ i obserwować jak działa zdekompilowany program? Bardzo łatwo, używając tzw. wstawek w assemblerze oraz debugera. Jeśli chcemy zobaczyć jak wygląda pojedyncza funkcja programu w C/C++ w assemblerze ustawiamy breakpointa przed nagłówkiem funkcji, odpalamy debuger oraz wyświetlamy okno, które w przypadku środowiska CodeBlocks nazywa się "Disassembly".<br />
<img src="http://i.imgur.com/vQTk910.png" loading="lazy"  alt="[Obrazek: vQTk910.png]" class="mycode_img" /><br />
Widać czarno na białym, jak w assemblerze zapisana jest pojedyncza instrukcja w C, świetnie widać jak funkcja korzysta ze stosu oraz jak w assemblerze wykonywane są obliczenia i jak jest zwracana wartość. Oczywiście należy się zaopatrzyć w materiał(y) do nauki assemblera, aby wiedzieć jakie zadanie pełni każda pojedyncza instrukcja, oraz aby potem samemu móc coś pisać w tym języku. Jeśli jednak chcemy sami napisać coś w assemblerze, możemy posłużyć się wstawkami w tym języku. Przykładowa wstawka znajduje się w 9 linii kodu, zastępuje ona instrukcję return. Ponieważ jak wiadomo wartość zwrotna funkcji, w tym funkcji main w procesorach x86 zapisywana jest do rejestru EAX. Ta wstawka umieszcza wartość 3 w tym rejestrze też przed wyjściem z maina i zakończeniem programu. Przechodząc do kolejnej instrukcji w naszym programie, możemy w oknie "Disassembly" zobaczyć naszą wstawkę. Zaznaczona ona jest żółtą strzałką i w oknie z kodem programu i w oknie "Disassembly".<img src="http://i.imgur.com/cLSIyZy.png" loading="lazy"  alt="[Obrazek: cLSIyZy.png]" class="mycode_img" />To oczywiście banalny przykład, jak jest się bardziej zaawansowanym, można próbować pisać całe funkcje w assemblerze a ostatecznie nawet i programy(choć to rzadko jest praktykowane). Mam nadzieję, że po przerobieniu tego poradnika, assembler już nie będzie dla Was taki straszny <img src="https://odjechani.com.pl/images/smilies/emot1/oczko.gif" alt=";)" title=";)" class="smilie smilie_63" />]]></description>
			<content:encoded><![CDATA[W tym poradniku opiszę łatwy i prosty sposób na naukę tego języka. Assembler jest postrzegany za trudny język, ponieważ trzeba świetnie wiedzieć jak działa procesor, w dodatku dla wielu osób nie jest przejrzysty tak jak języki wysokiego poziomu. Wielu osobom też trudno by było w nim napisać cały program robiący coś konkretnego, ale kto powiedział, że trzeba się go uczyć pisząc całe programy? Znając C/C++ można w prosty sposób nauczyć się assemblera pisząc w nim tylko pojedyncze elementy programu oraz obserwując jak działa zdekompilowany program napisany w kompilowanym języku wysokiego poziomu. Tylko jak pisać w assemblerze pojedyncze elementy programu w C/C++ i obserwować jak działa zdekompilowany program? Bardzo łatwo, używając tzw. wstawek w assemblerze oraz debugera. Jeśli chcemy zobaczyć jak wygląda pojedyncza funkcja programu w C/C++ w assemblerze ustawiamy breakpointa przed nagłówkiem funkcji, odpalamy debuger oraz wyświetlamy okno, które w przypadku środowiska CodeBlocks nazywa się "Disassembly".<br />
<img src="http://i.imgur.com/vQTk910.png" loading="lazy"  alt="[Obrazek: vQTk910.png]" class="mycode_img" /><br />
Widać czarno na białym, jak w assemblerze zapisana jest pojedyncza instrukcja w C, świetnie widać jak funkcja korzysta ze stosu oraz jak w assemblerze wykonywane są obliczenia i jak jest zwracana wartość. Oczywiście należy się zaopatrzyć w materiał(y) do nauki assemblera, aby wiedzieć jakie zadanie pełni każda pojedyncza instrukcja, oraz aby potem samemu móc coś pisać w tym języku. Jeśli jednak chcemy sami napisać coś w assemblerze, możemy posłużyć się wstawkami w tym języku. Przykładowa wstawka znajduje się w 9 linii kodu, zastępuje ona instrukcję return. Ponieważ jak wiadomo wartość zwrotna funkcji, w tym funkcji main w procesorach x86 zapisywana jest do rejestru EAX. Ta wstawka umieszcza wartość 3 w tym rejestrze też przed wyjściem z maina i zakończeniem programu. Przechodząc do kolejnej instrukcji w naszym programie, możemy w oknie "Disassembly" zobaczyć naszą wstawkę. Zaznaczona ona jest żółtą strzałką i w oknie z kodem programu i w oknie "Disassembly".<img src="http://i.imgur.com/cLSIyZy.png" loading="lazy"  alt="[Obrazek: cLSIyZy.png]" class="mycode_img" />To oczywiście banalny przykład, jak jest się bardziej zaawansowanym, można próbować pisać całe funkcje w assemblerze a ostatecznie nawet i programy(choć to rzadko jest praktykowane). Mam nadzieję, że po przerobieniu tego poradnika, assembler już nie będzie dla Was taki straszny <img src="https://odjechani.com.pl/images/smilies/emot1/oczko.gif" alt=";)" title=";)" class="smilie smilie_63" />]]></content:encoded>
		</item>
	</channel>
</rss>