<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Der Blog von Benny Neugebauer &#187; Assembler</title>
	<atom:link href="http://www.bennyn.de/programmierung/assembler/feed" rel="self" type="application/rss+xml" />
	<link>http://www.bennyn.de</link>
	<description>Alles über die Informatik &#38; Co.</description>
	<lastBuildDate>Fri, 18 May 2012 10:09:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>NEAR und FAR Prozeduren deklarieren</title>
		<link>http://www.bennyn.de/programmierung/assembler/near-und-far-prozeduren-deklarieren.html</link>
		<comments>http://www.bennyn.de/programmierung/assembler/near-und-far-prozeduren-deklarieren.html#comments</comments>
		<pubDate>Sun, 05 Jul 2009 15:23:00 +0000</pubDate>
		<dc:creator>bennyn</dc:creator>
				<category><![CDATA[Assembler]]></category>

		<guid isPermaLink="false">http://www.bennyn.de/?p=332</guid>
		<description><![CDATA[Unterprogramme können in der Assemblerprogrammierung als NEAR und FAR Prozeduren deklariert werden.Standardmäßig wird NEAR verwendet: name PROCname ENDP Man kann NEAR aber auch explizit angeben: name PROC NEARname ENDP Die Deklaration von FAR ist ähnlich: name PROC FARname ENDP NEAR-Prozeduren befinden sich im gleichen Segment (Intrasegment) und haben nur einen anderen Offset. FAR-Prozeduren liegen außerhalb [...]]]></description>
			<content:encoded><![CDATA[<div xmlns='http://www.w3.org/1999/xhtml'><b>Unterprogramme</b> können in der <b>Assemblerprogrammierung</b> als <b>NEAR und FAR Prozeduren</b> deklariert werden.<br/><br/>Standardmäßig wird NEAR verwendet:<br/><br />
<blockquote><font face='sans-serif'>name PROC</font><br/><font face='sans-serif'>name ENDP</font><br/></p></blockquote>
<p><font face='sans-serif'><br/>Man kann NEAR aber auch explizit angeben:<br/></font><br />
<blockquote><font face='sans-serif'>name PROC NEAR</font><br/><font face='sans-serif'>name ENDP</font><br/></p></blockquote>
<p><font face='sans-serif'><br/>Die Deklaration von FAR ist ähnlich:<br/></font><br />
<blockquote><font face='sans-serif'>name PROC FAR</font><br/><font face='sans-serif'>name ENDP</font><br/></p></blockquote>
<p><font face='sans-serif'>NEAR-Prozeduren befinden sich im gleichen Segment (Intrasegment) und haben nur einen anderen Offset. FAR-Prozeduren liegen außerhalb des Segments (Intersegment) und haben ebenfalls einen anderen Offset.<br/><br/>Eselsbrücke: Intranet = innerhalb, Internet = außerhalb<br/><br/></font><font face='sans-serif'>Gefunden in &#8220;Technische Informatik 1: Grundlagen der Informatik und Assemblerprogrammierung&#8221; von Thomas Müller (ISBN: 372813001X).<br/></font><br/><br/><br/></div>
]]></content:encoded>
			<wfw:commentRss>http://www.bennyn.de/programmierung/assembler/near-und-far-prozeduren-deklarieren.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fatal: No program entry point</title>
		<link>http://www.bennyn.de/programmierung/assembler/fatal-no-program-entry-point.html</link>
		<comments>http://www.bennyn.de/programmierung/assembler/fatal-no-program-entry-point.html#comments</comments>
		<pubDate>Sun, 05 Jul 2009 14:13:00 +0000</pubDate>
		<dc:creator>bennyn</dc:creator>
				<category><![CDATA[Assembler]]></category>

		<guid isPermaLink="false">http://www.bennyn.de/?p=331</guid>
		<description><![CDATA[Wenn der Turbo Linker den Fehler &#8220;Fatal: No program entry point&#8221; meldet, liegt das daran, dass man keine Einstiegsmarke für das Programm definiert hat.Beispiel: .MODEL.STACK.DATA.CODEProgammzeile 1Progammzeile 2&#8230;Progammzeile nEND Das lässt sich ändern, in dem man vor die erste &#8220;sinnvolle&#8221; Anweisung eine selbstdefinierte Marke setzt und diese Marke dann nach dem END angibt.Beispiel mit Marke &#8220;anfang&#8220;: [...]]]></description>
			<content:encoded><![CDATA[<div xmlns='http://www.w3.org/1999/xhtml'>Wenn der <b>Turbo Linker</b> den Fehler &#8220;<b>Fatal: No program entry point</b>&#8221; meldet, liegt das daran, dass man <b>keine Einstiegsmarke</b> für das Programm definiert hat.<br/><br/>Beispiel:<br/><br />
<blockquote>.MODEL<br/>.STACK<br/>.DATA<br/>.CODE<br/><br/>Progammzeile 1<br/>Progammzeile 2<br/>&#8230;<br/>Progammzeile n<br/><br/>END<br/></p></blockquote>
<p>Das lässt sich ändern, in dem man <u>vor</u> die erste &#8220;sinnvolle&#8221; Anweisung eine selbstdefinierte Marke setzt und diese Marke dann <u>nach</u> dem END angibt.<br/><br/>Beispiel mit Marke &#8220;<b>anfang</b>&#8220;:<br/><br/><br />
<blockquote>.MODEL<br/>.STACK<br/>.DATA<br/>.CODE<br/><br/><b>anfang:</b> Progammzeile 1<br/>Progammzeile 2<br/>&#8230;<br/>Progammzeile n<br/><br/>END <b>anfang</b><br/></p></blockquote>
<p><br/><br/></div>
]]></content:encoded>
			<wfw:commentRss>http://www.bennyn.de/programmierung/assembler/fatal-no-program-entry-point.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Assembler, Linker und Debugger</title>
		<link>http://www.bennyn.de/programmierung/assembler/assembler-linker-und-debugger.html</link>
		<comments>http://www.bennyn.de/programmierung/assembler/assembler-linker-und-debugger.html#comments</comments>
		<pubDate>Sun, 05 Jul 2009 12:51:00 +0000</pubDate>
		<dc:creator>bennyn</dc:creator>
				<category><![CDATA[Assembler]]></category>

		<guid isPermaLink="false">http://www.bennyn.de/?p=330</guid>
		<description><![CDATA[Wer sich mit der maschienenorientierten Programmierung befasst, der braucht zum Ausführen seines Assembler-Codes (*.asm) einen Assembler und einen Linker. Leider ist der Turbo Assembler lizenzpflichtig. Deswegen empfehle ich als Alternative den LZASM (Lazy Assembler) und ALINK. Beide Programme können unter Windows XP über die Kommandozeile (cmd) ausgeführt werden. LZASM und ALINK sowie eine WIN32.LIB sollten [...]]]></description>
			<content:encoded><![CDATA[<div xmlns='http://www.w3.org/1999/xhtml'><font face='sans-serif'>Wer sich mit der <b>maschienenorientierten Programmierung</b> befasst, </font>der braucht zum Ausführen seines Assembler-Codes (*.asm) einen Assembler und einen Linker. Leider ist der <b>Turbo Assembler</b> lizenzpflichtig. <br/><br/>Deswegen empfehle ich als Alternative den <b>LZASM</b> (Lazy Assembler) und <b>ALINK</b>. Beide Programme können unter Windows XP über die Kommandozeile (cmd) ausgeführt werden. <b>LZASM</b> und <b>ALINK</b> sowie eine <b>WIN32.LIB</b> sollten sich im selben Ordner befinden. Danach kann über die Konsole wie folgt gelinkt werden:<br/><br/><br />
<blockquote>lzasm hello.asm<br/>alink -oPE hello.obj win32.lib<br/></p></blockquote>
<p><br/><b>Das Ergebnis ist eine ausführbare hello.exe.</b> Mit dem <b>Turbo Debugger for DOS</b> kann man dann eine <b>Pentium Pro CPU</b> mit <b>16 Bit Registern</b> emulieren und seinen Programmcode testen. Der <b>Turbo Debugger for Win32</b> hat sogar einen <b>32 Bit Registersatz</b>.<br/><br/>Zum Schreiben des Quelltexts (*.asm) empfehle ich <b>Notepad++</b>.<br/><br/><br/><br/></div>
]]></content:encoded>
			<wfw:commentRss>http://www.bennyn.de/programmierung/assembler/assembler-linker-und-debugger.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

