<?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>Assembly &#8211; Kovix.gr</title>
	<atom:link href="https://www.kovix.gr/category/%CE%BC%CE%B1%CE%B8%CE%AE%CE%BC%CE%B1%CF%84%CE%B1/assembly/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.kovix.gr</link>
	<description>Personal IT Site</description>
	<lastBuildDate>Fri, 10 May 2024 19:51:42 +0000</lastBuildDate>
	<language>el</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.1</generator>

<image>
	<url>https://www.kovix.gr/wp-content/uploads/2024/03/cropped-avatar-32x32.png</url>
	<title>Assembly &#8211; Kovix.gr</title>
	<link>https://www.kovix.gr</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Φύλλο εργασίας 2 &#8211; Assembly 8086</title>
		<link>https://www.kovix.gr/%cf%86%cf%8d%ce%bb%ce%bb%ce%bf-%ce%b5%cf%81%ce%b3%ce%b1%cf%83%ce%af%ce%b1%cf%82-2-assembly-8086/</link>
					<comments>https://www.kovix.gr/%cf%86%cf%8d%ce%bb%ce%bb%ce%bf-%ce%b5%cf%81%ce%b3%ce%b1%cf%83%ce%af%ce%b1%cf%82-2-assembly-8086/#respond</comments>
		
		<dc:creator><![CDATA[akovas]]></dc:creator>
		<pubDate>Mon, 15 Aug 2011 19:50:02 +0000</pubDate>
				<category><![CDATA[Assembly]]></category>
		<category><![CDATA[Μαθήματα]]></category>
		<guid isPermaLink="false">https://www.kovix.gr/?p=18977</guid>

					<description><![CDATA[Εργασία 1 Γράψτε στον emulator ένα πρόγραμμα που να προσθέτει δύο μη προσημασμένους αριθμούς των 8 bit που θα είναι περιεχόμενα των θέσεων μνήμης 0400h και 04001h και θα αποθηκεύονται στην διεύθυνση μνήμης 0402h: 0400h 0401h 0402h &#160; Hex Dec &#8230; ]]></description>
										<content:encoded><![CDATA[
<ul class="wp-block-list">
<li>Αναπαράσταση αριθμών.</li>



<li>Αποθήκευση αριθμών στη μνήμη.</li>



<li>Εντολές πρόσθεσης</li>
</ul>



<p><strong>Εργασία 1</strong></p>



<p><strong>Γράψτε στον </strong><strong>emulator ένα πρόγραμμα που να προσθέτει δύο μη προσημασμένους αριθμούς των 8 </strong><strong>bit που θα είναι περιεχόμενα των θέσεων μνήμης 0400</strong><strong>h και 04001</strong><strong>h και θα αποθηκεύονται στην διεύθυνση μνήμης 0402</strong><strong>h:</strong></p>



<ul class="wp-block-list">
<li>Η εκτέλεση του προγράμματος να γίνει και για τις τρείς περιπτώσεις του πίνακα. Επίσης να συμπληρωθεί ο πίνακας ανάλογα.</li>



<li>Όταν υπάρχει κρατούμενο στην θέση 0402h έχουμε το σωστό αποτέλεσμα ;</li>
</ul>



<figure class="wp-block-table"><table><tbody><tr><td colspan="2">0400h</td><td colspan="2">0401h</td><td colspan="3">0402h</td><td colspan="2">&nbsp;</td></tr><tr><td><strong>Hex</strong></td><td><strong>Dec</strong></td><td><strong>Hex</strong></td><td><strong>Dec</strong></td><td><strong>Αποτέλεσμα</strong> <strong>Πρόσθεσης</strong> <strong>Dec</strong></td><td><strong>Αποτέλεσμα</strong> <strong>Εργασίας</strong> <strong>Dec</strong></td><td><strong>Αποτέλεσμα</strong> <strong>Εργασίας</strong> <strong>Hex</strong></td><td><strong>Σωστό Ναι/Όχι</strong></td><td><strong>Κρατούμενο Ναι/Όχι</strong></td></tr><tr><td><strong>84</strong><strong>h</strong></td><td><strong>132</strong></td><td><strong>93</strong></td><td><strong>147</strong></td><td><strong>279</strong><a href="https://www.kovix.gr/index.php/mathimata/assembly-8086#_msocom_1"></a></td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td><strong>2Ah</strong></td><td><strong>42</strong></td><td><strong>1F</strong></td><td><strong>31</strong></td><td><strong>73</strong></td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td><strong>C8h</strong></td><td><strong>200</strong></td><td><strong>38h</strong></td><td><strong>56</strong></td><td><strong>256</strong></td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr></tbody></table></figure>



<p><strong>Γράψτε στον </strong><strong>emulator ένα πρόγραμμα που να προσθέτει δύο προσημασμένους αριθμούς των 8 </strong><strong>bit που θα είναι περιεχόμενα των θέσεων μνήμης 0400</strong><strong>h και 04001</strong><strong>h και θα αποθηκεύονται στην διεύθυνση μνήμης 0402</strong><strong>h:</strong></p>



<ul class="wp-block-list">
<li>Η εκτέλεση του προγράμματος να γίνει και για τις περιπτώσεις του πίνακα. Επίσης να συμπληρωθεί ο πίνακας ανάλογα.</li>



<li>Ποια αποτελέσματα στην διεύθυνση 0402h είναι σωστά και γιατί ;</li>
</ul>



<figure class="wp-block-table"><table><tbody><tr><td colspan="2">0400h</td><td colspan="2">0401h</td><td colspan="3">0402h</td><td colspan="2">&nbsp;</td></tr><tr><td><strong>Hex</strong></td><td><strong>Dec</strong></td><td><strong>Hex</strong></td><td><strong>Dec</strong></td><td><strong>Αποτέλεσμα</strong> <strong>Πρόσθεσης</strong> <strong>Dec</strong></td><td><strong>Αποτέλεσμα</strong> <strong>Εργασίας</strong> <strong>Dec</strong></td><td><strong>Αποτέλεσμα</strong> <strong>Εργασίας</strong> <strong>Hex</strong></td><td><strong>Σωστό Ναι/Όχι</strong></td><td><strong>Overflow</strong> <strong>Υπερχείλιση</strong> <strong>Ναι/Όχι</strong></td></tr><tr><td><strong>67</strong><strong>h</strong></td><td><strong>+103</strong></td><td><strong>5Dh</strong></td><td><strong>+93</strong></td><td><strong>+196</strong><a href="https://www.kovix.gr/index.php/mathimata/assembly-8086#_msocom_2"></a></td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td><strong>82h</strong></td><td><strong>+130</strong></td><td><strong>5h</strong></td><td><strong>+5</strong></td><td><strong>+135</strong></td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td><strong>25h</strong></td><td><strong>+37</strong></td><td><strong>FBh</strong></td><td><strong>-5</strong></td><td><strong>+32</strong></td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td><strong>A4h</strong></td><td><strong>-92</strong></td><td><strong>C2h</strong></td><td><strong>-62</strong></td><td><strong>-154</strong></td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr></tbody></table></figure>



<p><strong>Γράψτε στον </strong><strong>emulator ένα πρόγραμμα που να προσθέτει δύο προσημασμένους αριθμούς των16 </strong><strong>bit που θα είναι περιεχόμενα των θέσεων μνήμης, ο πρώτος στις διευθύνσεις 0400</strong><strong>h ( χαμηλής τάξης </strong><strong>Byte) , 0401</strong><strong>h (υψηλής τάξης </strong><strong>Byte), ο δεύτερος στις διευθύνσεις 0402</strong><strong>h ( χαμηλής τάξης </strong><strong>Byte) , 0403</strong><strong>h (υψηλής τάξης </strong><strong>Byte) και θα αποθηκεύονται το αποτελέσματα στις θέσεις μνήμης 0404</strong><strong>h ( χαμηλής τάξης </strong><strong>Byte) , 0405</strong><strong>h (υψηλής τάξης </strong><strong>Byte)</strong></p>



<ul class="wp-block-list">
<li>Η εκτέλεση του προγράμματος να γίνει για όλες τις περιπτώσεις του πίνακα. Επίσης να συμπληρωθεί ο πίνακας ανάλογα.</li>



<li>Ποια αποτελέσματα είναι σωστά και γιατί ;</li>
</ul>



<figure class="wp-block-table"><table><tbody><tr><td>Χαμηλής Τάξης Byte 0400h</td><td>Υψηλής Τάξης Byte 0401h</td><td>Χαμηλής Τάξης Byte 0402h</td><td>Υψηλής Τάξης Byte 0403h</td><td>Χαμηλής Τάξης Byte 0404h</td><td>Υψηλής Τάξης Byte 0405h</td><td><strong>Overflow</strong> <strong>Υπερχείλιση</strong> <strong>Ναι/Όχι</strong></td></tr><tr><td><strong>24</strong></td><td><strong>63</strong></td><td><strong>40</strong></td><td><strong>AB</strong></td><td>64<a href="https://www.kovix.gr/index.php/mathimata/assembly-8086#_msocom_3"></a></td><td>0E</td><td>&nbsp;</td></tr><tr><td><strong>84</strong></td><td><strong>C7</strong></td><td><strong>F1</strong></td><td><strong>B4</strong></td><td>75</td><td>7C</td><td>&nbsp;</td></tr></tbody></table></figure>



<ol class="wp-block-list">
<li>   <strong>6324</strong>                    <strong>C784</strong></li>
</ol>



<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + AB40</strong> &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +<strong>B4F1</strong></p>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ______&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ______</p>



<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0E64</strong>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>7C75</strong></p>



<p><strong>Εργασία 4</strong></p>



<p><strong>Γράψτε στον </strong><strong>emulator ένα πρόγραμμα που να προσθέτει δύο προσημασμένους αριθμούς των32 </strong><strong>bit που θα είναι περιεχόμενα των θέσεων μνήμης, ο πρώτος στις διευθύνσεις 0400</strong><strong>h έως 0403</strong><strong>h ο δεύτερος στις διευθύνσεις 0404</strong><strong>h έως 0407</strong><strong>h και θα αποθηκεύεται το αποτελέσματα στις θέσεις μνήμης 0408</strong><strong>h έως 040</strong><strong>Bh.</strong></p>



<ul class="wp-block-list">
<li>Η εκτέλεση του προγράμματος να γίνει για όλες τις περιπτώσεις του πίνακα. Επίσης να συμπληρωθεί ο πίνακας ανάλογα.</li>



<li>Ποια αποτελέσματα είναι σωστά και γιατί ;</li>
</ul>



<figure class="wp-block-table"><table><tbody><tr><td><strong>Αριθμός 1</strong> <strong>0400h </strong><strong>έως</strong><strong> 0403h</strong></td><td><strong>Αριθμός 2</strong> <strong>0404 </strong><strong>έως 0407</strong></td><td><strong>Αποτέλεσμα Πρόσθεσης</strong> <strong>0408 … 040</strong><strong>B</strong></td><td><strong>Overflow</strong> <strong>Υπερχείλιση</strong> <strong>Ναι/Όχι</strong></td></tr><tr><td><strong>11111111</strong></td><td><strong>23232323</strong></td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td><strong>6</strong><strong>FFFFFFF</strong></td><td><strong>00000002</strong></td><td>&nbsp;</td><td>&nbsp;</td></tr></tbody></table></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kovix.gr/%cf%86%cf%8d%ce%bb%ce%bb%ce%bf-%ce%b5%cf%81%ce%b3%ce%b1%cf%83%ce%af%ce%b1%cf%82-2-assembly-8086/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Φύλλο εργασίας 1 &#8211; Assembly 8086</title>
		<link>https://www.kovix.gr/%cf%86%cf%8d%ce%bb%ce%bb%ce%bf-%ce%b5%cf%81%ce%b3%ce%b1%cf%83%ce%af%ce%b1%cf%82-1-assembly-8086/</link>
					<comments>https://www.kovix.gr/%cf%86%cf%8d%ce%bb%ce%bb%ce%bf-%ce%b5%cf%81%ce%b3%ce%b1%cf%83%ce%af%ce%b1%cf%82-1-assembly-8086/#respond</comments>
		
		<dc:creator><![CDATA[akovas]]></dc:creator>
		<pubDate>Sun, 14 Aug 2011 19:44:33 +0000</pubDate>
				<category><![CDATA[Assembly]]></category>
		<category><![CDATA[Μαθήματα]]></category>
		<guid isPermaLink="false">https://www.kovix.gr/?p=18972</guid>

					<description><![CDATA[Για την συγγραφή των προγραμμάτων του επεξεργαστή 8086, έχει χρησιμοποιηθεί το πρόγραμμα εξομοίωσης Emu8086, που μπορείτε να το βρείτε στην σελίδα http://www.emu8086.com/ Ο επεξεργαστής 8086, βασικοί καταχωρητές Εκμάθηση του εξομοιωτή “emu8086” 1η άσκηση (απόδοση τιμής σε καταχωρητές και μνήμη ) &#8230; ]]></description>
										<content:encoded><![CDATA[
<p class="has-text-align-left">Για την συγγραφή των προγραμμάτων του επεξεργαστή 8086, έχει χρησιμοποιηθεί το πρόγραμμα εξομοίωσης Emu8086, που μπορείτε να το βρείτε στην σελίδα <a href="http://www.emu8086.com/">http://www.emu8086.com/</a></p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:100%">
<p class="has-text-align-left">Ο επεξεργαστής 8086, βασικοί καταχωρητές</p>



<p class="has-text-align-left">Εκμάθηση του εξομοιωτή “emu8086”</p>



<p class="has-text-align-left">1<sup>η</sup> άσκηση (απόδοση τιμής σε καταχωρητές και μνήμη )</p>
</div>
</div>



<p class="has-text-align-center">Βασικό περιβάλλον <strong>emulator 8086</strong> :</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img fetchpriority="high" decoding="async" width="580" height="357" src="https://www.kovix.gr/wp-content/uploads/2024/05/assembly-1-1.png" alt="" class="wp-image-18973" style="width:580px;height:auto" srcset="https://www.kovix.gr/wp-content/uploads/2024/05/assembly-1-1.png 580w, https://www.kovix.gr/wp-content/uploads/2024/05/assembly-1-1-300x185.png 300w" sizes="(max-width: 580px) 100vw, 580px" /></figure></div>


<p>Για να εκτελέσουμε τον κώδικα πατάμε το κουμπί emulate, και εφόσον δεν έχουμε λάθος στον κώδικα βλέπουμε το παρακάτω παράθυρο</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="589" height="450" src="https://www.kovix.gr/wp-content/uploads/2024/05/assembly-1-2.png" alt="" class="wp-image-18974" srcset="https://www.kovix.gr/wp-content/uploads/2024/05/assembly-1-2.png 589w, https://www.kovix.gr/wp-content/uploads/2024/05/assembly-1-2-300x229.png 300w" sizes="(max-width: 589px) 100vw, 589px" /></figure></div>


<p class="has-text-align-left"><strong>Παρακάτω βλέπουμε βασικές λειτουργίες του παραθύρου view</strong></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="574" height="456" src="https://www.kovix.gr/wp-content/uploads/2024/05/assembly-1-3.png" alt="" class="wp-image-18975" srcset="https://www.kovix.gr/wp-content/uploads/2024/05/assembly-1-3.png 574w, https://www.kovix.gr/wp-content/uploads/2024/05/assembly-1-3-300x238.png 300w" sizes="(max-width: 574px) 100vw, 574px" /></figure></div>


<ul class="wp-block-list">
<li><strong>Γράψτε στον </strong><strong>emulator το παρακάτω πρόγραμμα :</strong></li>
</ul>



<p class="has-text-align-center has-pale-ocean-gradient-background has-background">;Το πρώτο μας πρόγραμμα στον emulator 8086</p>



<p class="has-text-align-center has-pale-ocean-gradient-background has-background">;Με ελληνικό ερωτηματικό βάζουμε σχόλια ο emulator τα αγνοεί</p>



<p class="has-text-align-center has-pale-ocean-gradient-background has-background">Org 100h</p>



<p class="has-text-align-center has-pale-ocean-gradient-background has-background">MOV AX,1024</p>



<p class="has-text-align-center has-pale-ocean-gradient-background has-background">MOV BX,AX</p>



<p class="has-text-align-center has-pale-ocean-gradient-background has-background">MOV [0400h],BX</p>



<p class="has-text-align-center has-pale-ocean-gradient-background has-background">MOV CX,[0400h]</p>



<p class="has-text-align-center has-pale-ocean-gradient-background has-background">MOV [0402h],0FFh</p>



<p class="has-text-align-center has-pale-ocean-gradient-background has-background">INT 20h ; Με την εντολή αυτή θα τελειώνουμε τα προγράμματά μας</p>



<ul class="wp-block-list">
<li>Διορθώστε, αν υπάρχουν λάθη</li>
</ul>



<p class="has-text-align-center">Δείτε το πρόγραμμα να τρέχει βήμα-βήμα πατώντας “single step” παρατηρήστε τις τιμές στους καταχωρητές και στην μνήμη σε κάθε βήμα. Από το παράθυρο με τους καταχωρητές (registers) αλλάξτε τις τιμές του AX,BX,CX σε 0001,0002,0003 αντίστοιχα. Βάλτε στις θέσεις μνήμης 0400h έως και 0402h τις τιμές 50d,51d,52d σε δεκαεξαδικές τιμές</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kovix.gr/%cf%86%cf%8d%ce%bb%ce%bb%ce%bf-%ce%b5%cf%81%ce%b3%ce%b1%cf%83%ce%af%ce%b1%cf%82-1-assembly-8086/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
