<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://vik.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bede+F%C3%BCl%C3%B6p</id>
	<title>VIK Wiki - Felhasználó közreműködései [hu]</title>
	<link rel="self" type="application/atom+xml" href="https://vik.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bede+F%C3%BCl%C3%B6p"/>
	<link rel="alternate" type="text/html" href="https://vik.wiki/Speci%C3%A1lis:Szerkeszt%C5%91_k%C3%B6zrem%C5%B1k%C3%B6d%C3%A9sei/Bede_F%C3%BCl%C3%B6p"/>
	<updated>2026-04-10T21:58:10Z</updated>
	<subtitle>Felhasználó közreműködései</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://vik.wiki/index.php?title=Elektrom%C3%A1gneses_terek_alapjai&amp;diff=190727</id>
		<title>Elektromágneses terek alapjai</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Elektrom%C3%A1gneses_terek_alapjai&amp;diff=190727"/>
		<updated>2016-12-05T21:05:24Z</updated>

		<summary type="html">&lt;p&gt;Bede Fülöp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tantárgy&lt;br /&gt;
|nev=Elektromágneses terek alapjai&lt;br /&gt;
|tárgykód=VIHVAC03&lt;br /&gt;
|régitárgykód=VIHVA201&lt;br /&gt;
|kredit=5&lt;br /&gt;
|felev=4&lt;br /&gt;
|kereszt=van&lt;br /&gt;
|tanszék=HVT&lt;br /&gt;
|kiszh=nincs&lt;br /&gt;
|vizsga=szóbeli írásbeli beugróval&lt;br /&gt;
|nagyzh=3 db&lt;br /&gt;
|hf=nincs&lt;br /&gt;
|szak=villany&lt;br /&gt;
|tad=https://www.vik.bme.hu/kepzes/targyak/VIHVA201/&lt;br /&gt;
|targyhonlap=https://hvt.bme.hu/index.php?option=com_content&amp;amp;view=article&amp;amp;catid=1%3Absc-kepzes&amp;amp;id=641%3Aelektromagneses-terek-alapjai-vihva201&amp;amp;Itemid=35&amp;amp;lang=hu&lt;br /&gt;
|levlista=[https://lists.sch.bme.hu/wws/info/terek terek{{kukac}}sch.bme.hu]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Az &#039;&#039;&#039;Elektromágneses terek alapjai&#039;&#039;&#039; erőteljesen épít a [[Matematika A3 villamosmérnököknek]] és a [[Fizika 2]] című tárgyak tananyagára.&amp;lt;br&amp;gt;Ezenkívül a [[Jelek és rendszerek 1]] valamint [[Jelek és rendszerek 2]] előismeretek nagyon hasznosak. Magabiztos vektoranalízis és elektrodinamika alaptudás nélkül nem érdemes felvenni a tárgyat!&lt;br /&gt;
&lt;br /&gt;
A tárgy elsődleges célkitűzése, hogy a villamosmérnök hallgatókkal megismertesse az elektromágneses térrel kapcsolatos alapfogalmakat és matematikai összefüggéseket. Célja továbbá a fontosabb térszámítási módszerek bemutatása, néhány egyszerűen tárgyalható feladattípus megoldása, a megoldások szemléltetése, értelmezése és alkalmazási területeik áttekintése. Egyszersmind megalapozza az MSc képzésben indított Elektromágneses terek tárgyat.&lt;br /&gt;
&lt;br /&gt;
== Követelmények ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Előkövetelmény:&#039;&#039;&#039; [[Jelek és rendszerek 1]] című tárgy teljesítése, valamint a [[Matematika A3 villamosmérnököknek]] és a [[Fizika 2]] című tárgyakból az aláírás megszerzése.&lt;br /&gt;
*&#039;&#039;&#039;Jelenlét:&#039;&#039;&#039; Az előadásokon és gyakorlatokon való részvétel kötelező, de ezt nem ellenőrzik.&lt;br /&gt;
*&#039;&#039;&#039;NagyZH:&#039;&#039;&#039; A félév során három nagyzárthelyit kell megírni. Mindkét zárthelyi 1 darab 10 pontos nagypéldából és 5 darab 2 pontos kiskérdésből áll. Az elégségeshez a maximális 20 pontból legalább 10 pontot kell szerezni. Az aláírás megszerzésének feltétele, hogy a három nagyzárthelyiből a két legjobb átlaga legalább 2.0 legyen! &#039;&#039;&#039;A ZH-k nem pótolhatóak, azonban a három ZH-ból csak a két legjobb számít.&#039;&#039;&#039; A meg nem írt zárthelyik az átlagba 1-es eredménnyel számítanak bele.&lt;br /&gt;
*&#039;&#039;&#039;Vizsga:&#039;&#039;&#039; Egy írásbeli beugróból és egy szóbeliből áll:&lt;br /&gt;
*#A beugró 10 darab 1 pontos számolási feladatból áll, melyekre tesztes formában 4 válaszlehetőség van megadva. Legalább 5 kérdésnél kell választ jelöni, különben automatikusan elégtelen a vizsga. Helyes jelölés +1 pont, nincs jelölés 0 pont, hibás jelölés -1 pont. 4 ponttól sikeres a beugró, és csak ezután kezdhető meg a szóbeli.&amp;lt;br /&amp;gt;&#039;&#039;&#039;FONTOS: Csak PÁROS számú kérdést van értelme bejelölni!&#039;&#039;&#039; (Számolj utána)&lt;br /&gt;
*#Akinek a ZH átlaga legalább 4,0 vagy az Elektromágneses Terek Versenyen I-III. helyezést ér el, mentesül a beugró alól, vagyis rögtön szóbelizhet. Ez a kedvezmény csak az adott félév vizsgaidőszakában és csakis egy alkalommal érvényes.&lt;br /&gt;
*#A szóbelin két tételt kell húzni: egy számolási feladatot és egy elméleti témakört. Ennek kidolgozására 15-20 perc áll rendelkezésre.&lt;br /&gt;
*#A 6. vizsgán – annak kritikus volta miatt – a beugró eredményétől függetlenül lehetőség van szóbelizni, de ez már 2 fős bizottság előtt zajlik.&lt;br /&gt;
&lt;br /&gt;
== Segédanyagok ==&lt;br /&gt;
&lt;br /&gt;
=== Hivatalos Jegyzetek ===&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Dr. Fodor György: Elektromágneses terek&#039;&#039;&#039;&#039;&#039; című tankönyv nagyon jól használható, szinte kötelező a tárgyhoz! [[:File:emt_tankonyv_fodor.pdf]]&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Dr. Zombory László: Elektromágneses terek&#039;&#039;&#039;&#039;&#039; című tankönyv szintén használható, mely a &#039;&#039;Műszaki Kiadó&#039;&#039; honlapján [http://www.muszakikiado.hu/files/Konyvek/Dr_Zombory_Laszlo_Elektromagneses_terek.pdf ingyenesen elérhető].&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Dr. Bilicz Sándor: Elektromágneses terek példatár&#039;&#039;&#039;&#039;&#039; jól használható gyakorlásra. Érdemes beszerezni!&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;Kiemelt jegyzet:&amp;lt;/span&amp;gt;&#039;&#039;&#039; [[Media:Terek_jegyzet2011kereszt.pdf‎|Előadásjegyzet]] - &#039;&#039;Dr. Gyimóthy Szabolcs&#039;&#039; előadó órái alapján &#039;&#039;Mucsi Dénes&#039;&#039; által készített, jegyzetpályázatra beküldött, az előadó által ellenőrzött előadásjegyzet.&lt;br /&gt;
*[http://bme.videotorium.hu/hu/channels/details/815,Elektromagneses_terek Előadásvideók] - A tárgy összes előadásának felvétele elérhető itt - [[Elektromágneses terek alapjai - Előadásvideók címszavai időpontokkal|Előadások címszavai és időpontok]] (Az előadásvideók időpont és téma szerinti tartalomjegyzéke).&lt;br /&gt;
&lt;br /&gt;
===Vizsgához segédanyagok ===&lt;br /&gt;
&lt;br /&gt;
Sikeres beugró után a szóbeli két részből áll, kettő lapot kell húzni az elején. Az egyik egy tétel, ami a kiadott tételsor valamelyik tétele, ugyanolyan formában, ahogyan látható a tanszéki honlapon (nincs semmi magyarázat vagy vázlatpont stb.). A másik része egy feladat megoldása. Ezek a feladatok korábbi beugró példákból kerülnek ki, nem túl nehezek, de ismertetni kell a megoldást, az elméleti hátteret.&lt;br /&gt;
&lt;br /&gt;
*[[Elektromágneses terek alapjai - Szóbeli feladatok|Szóbeli feladatok]] - Itt gyűjtjük a szóbelin húzható számolási feladatokat. &amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;&#039;&#039;&#039;&#039;&#039;Szerkesszétek, bővítsétek! Az is jó, ha csak a feladat PONTOS szövegét és SORSZÁMÁT írjátok be!&#039;&#039;&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
*&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;&#039;&#039;&#039;Kiemelt kidolgozás: &#039;&#039;&#039;&amp;lt;/span&amp;gt;[[Media:Terek_tételkidolgozás2012.pdf‎|Tételkidolgozás]] - 2012/2013-as tavaszi félévben kiadott szóbeli tételek teljes kidolgozása.&lt;br /&gt;
*[[Media:Terek_tételkidolgozás.PDF|Számpéldák]] - Jópár számolási feladat kidolgozása. Néhány hiba előfordul benne! Kérlek ha észlelnél benne bármilyen hibát, akkor írd le pontos magyarázattal a többi [[Elektromágneses terek alapjai - Számolós vizsgakérdések kidolgozásában talált hibák javításai|hibajavításhoz]]!&lt;br /&gt;
*[[Media:Terek_40kidolzott_példa.pdf‎|40 vizsgapélda]] - &#039;&#039;Szilágyi Tamás&#039;&#039; által részletesen kidolgozott vizsgapéldák. &#039;&#039;&#039;Fontos:&#039;&#039;&#039; Most már nem ezek közül kerülnek ki a beugrókérdések! Gyakorlásnak viszont jók!&lt;br /&gt;
*[[Media:Terek_tételekhez_képletek.pdf‎|Képletgyűjtemény]] - Szóbeli tételekhez rendszerezett képletgyűjtemény.&lt;br /&gt;
*[[Media:EMT_teljes_2015_osz.pdf|Előadások és gyakorlatok]] - Összes előadás és 6 db gyakorlat. (2015 ősz)&lt;br /&gt;
&lt;br /&gt;
=== Egyéb segédanyagok ===&lt;br /&gt;
&lt;br /&gt;
*[[Media:EMTA2_ZH_kisfeladatok_2015.pdf|Kisfeladatok2ZH]]- 2015 előtti zárthelyik(/vizsgabeugrók) kis-feladatainak gyűjteménye a 3Zh-s rendszer 2.Zárhelyiéhez.&lt;br /&gt;
*[[Media:Terek távvezetékesfeladatokkidolgozása.pdf|Távvezetékek]] - Néhány távvezetékes feladat nagyon jó kidolgozása, a hozzájuk szükséges képletek rendszerezésével együtt.&lt;br /&gt;
*[[Media:Terek_képletek_1ZH-hoz.PDF‎|Első ZH]] és a [[Media:Terek_képletek_2ZH-hoz.PDF‎|második ZH]] anyagához egy-egy hasznos képlet-összefoglaló.&lt;br /&gt;
*[[Media:Terek_magicképletek.PDF|Magic képletek]] - &#039;&#039;Ács Judit&#039;&#039; által összegyűjtött néhány hasznos képlet.&lt;br /&gt;
*[http://www.youtube.com/playlist?list=PLEfarzfPitd3styANrY3KT8xg3jOkOLED Elektrodinamika] - 2014. őszi anyag a Széchenyi István Egyetemről, Elektrodinamika tárgyhoz, de tökéletesen használható az Elektromágneses terek megértéséhez - elmélettel, példákkal.&lt;br /&gt;
&lt;br /&gt;
===Régebbi jegyzetek/kidolgozások===&lt;br /&gt;
&lt;br /&gt;
Itt vannak összegyűjtve a régebbi jegyzetek/tételkidolgozások, melyek már kisebb-nagyobb mértékben aktualitásukat vesztették. Ezeket érdemes a végére hagyni és a fentebbi aktuális anyagokkal kezdeni. Ettől függetlenül, ha valaki valamit nem ért, ezek között is érdemes lehet keresgélni, mert vannak bennük hasznos anyagok!&lt;br /&gt;
&lt;br /&gt;
*Az előadás-videók alapján &#039;&#039;Ecker Tibor Ádám&#039;&#039; által készített [[Media:Terek_előadásvideókjegyzet.pdf‎|jegyzet]].&lt;br /&gt;
*&#039;&#039;Dr. Sebestyén Imre&#039;&#039; 2008/2009 tavaszi félévi előadásai alapján &#039;&#039;Sasvári Gergely&#039;&#039; által készített jól használható [[Media:Terek_jegyzet_2009tavasz.pdf‎|jegyzet]].&lt;br /&gt;
*2006/2007-es tavaszi félévben kiadott szóbeli tételek kézzel írt, szkennelt [[Media:Terek_2007tételek_1-15.pdf‎|kidolgozása]].&lt;br /&gt;
*2010/2011-es tavaszi félévben kiadott szóbeli tételek kézzel írt, szkennelt kidolgozásának [[Media:Terek_tételek1-16_2010tavasz.PDF|első]] és [[Media:Terek_tételek17-31_2010tavasz.PDF|második]] fele (készítője &#039;&#039;Chikán Viktor&#039;&#039;). &lt;br /&gt;
*2010/2011-es tavaszi félévben kiadott szóbeli tételekhez egy másik, kézzel írt, szkennelt [[Media:Terek_tételekkidolgozása2010tavasz.PDF|kidolgozása]].&lt;br /&gt;
*&amp;lt;span style=&amp;quot;color: red&amp;quot;&amp;gt;&#039;&#039;&#039;Teljes kidolgozás: &#039;&#039;&#039;&amp;lt;/span&amp;gt; 2013/2014-es tavaszi félévben kiadott szóbeli tételek kidolgozása (Gyimóthy Szabolcs előadásai alapján), kézzel írt, szkennelt: [[Média:terek_tetelkidolgozas_2013-2014_1-30_tetelek.pdf|1-30-as tételek]] és [[Média:terek_tetelkidolgozas_2013-2014_31-59_tetelek.pdf|31-59-es tételek]]&lt;br /&gt;
&lt;br /&gt;
== Első zárthelyi ==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 1em; width: 100%;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 33%;&amp;quot; |&lt;br /&gt;
==== ZH - 2015 után====&lt;br /&gt;
&lt;br /&gt;
*[[Media:Terek_2015_tavasz_ZH1_AB.pdf|2014/15 tavasz]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_ZH1_2015kereszt.pdf|2015/16 kereszt]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_ZH1_2016tavasz.pdf|2015/16 tavasz]] - A és B csoport megoldásokkal&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 33%;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== Rendes ZH - 2015 előtt ====&lt;br /&gt;
&lt;br /&gt;
*[[Media:Terek_2006tavasz_1ZHB.pdf‎|2005/06 tavasz]] - B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2007tavasz_1ZHB.pdf| 2006/07 tavasz]] - B csoport&lt;br /&gt;
*[[Media:Terek_2008tavasz_1ZHAB.pdf‎|2007/08 tavasz]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2009tavasz_1ZH.pdf‎|2008/09 tavasz]] - MINTA zárthelyi megoldásokkal&lt;br /&gt;
*[[Media:Terek_2009tavasz_1ZHAB.pdf‎|2008/09 tavasz]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2009kereszt_1ZHAB.pdf‎|2009/10 kereszt]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2010tavasz_1ZHAB.pdf|2009/10 tavasz]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2010kereszt_1ZHAB.pdf‎|2010/11 kereszt]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2011kereszt_1ZH.pdf‎|2011/12 kereszt]] - megoldásokkal&lt;br /&gt;
*[[Media:Terek_2012tavasz_1ZHAB.pdf‎|2011/12 tavasz]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2012kereszt_1ZH.pdf|2012/13 kereszt]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2013tavasz_ZH1.pdf‎|2012/13 tavasz]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2013ősz_ZH1_AB.pdf|2013/14 kereszt]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2014_tavasz_ZH1_AB.pdf|2013/14 tavasz]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_ZH1_2014kereszt.pdf|2014/15 kereszt]] - A és B csoport megoldásokkal&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 33%;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==== Pót ZH - 2015 előtt ====&lt;br /&gt;
&lt;br /&gt;
*[[Media:Terek_2007tavasz_1ZHpót.pdf|2006/07 tavasz]] - megoldások nélkül&lt;br /&gt;
*[[Media:Terek_2008kereszt_1ZHpót.PDF|2008/09 kereszt]] - megoldásokkal&lt;br /&gt;
*[[Media:Terek_2009tavasz_1ZHpót.pdf‎|2008/09 tavasz]] - megoldásokkal&lt;br /&gt;
*[[Media:Terek_2009kereszt_1ZHpót.pdf|2009/10 kereszt]] - megoldásokkal&lt;br /&gt;
*[[Media:Terek_2010tavasz_1Zhpót.pdf‎|2009/10 tavasz]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2011kereszt_1ZHpót.pdf‎|2011/12 kereszt]] - megoldásokkal&lt;br /&gt;
*[[Media:Terek_2012tavasz_1ZHpót.pdf‎|2011/12 tavasz]] - megoldásokkal&lt;br /&gt;
*[[Media:Terek_2012kereszt_1ZHpót.pdf‎|2012/13 kereszt]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2013tavasz_pótZH_1.pdf‎|2012/13 tavasz]] - megoldásokkal&lt;br /&gt;
*[[Media:Terek_pZH1_2013kereszt.pdf|2013/14 kereszt]] - megoldásokkal&lt;br /&gt;
*[[Media:Terek_2014tavasz_pótZH_1.pdf‎|2013/14 tavasz]] - megoldásokkal&lt;br /&gt;
*[[Media:Terek_PZH1_2014kereszt.pdf‎|2014/15 kereszt]] - megoldásokkal&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Második zárthelyi ==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 1em; width: 100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 33%;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== ZH - 2015 után ===&lt;br /&gt;
&lt;br /&gt;
*[[Media:Zh2_2015_tavasz.pdf|2014/15 tavasz]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_ZH2_2015kereszt.pdf|2015/16 kereszt]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:terek_ZH2_2016tavasz.pdf|2015/16 tavasz]] - A és B csoport megoldásokkal&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 33%;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== Rendes ZH - 2015 előtt===&lt;br /&gt;
&lt;br /&gt;
*[[Media:Terek_2002tavasz_1ZHA.pdf‎|2001/02 tavasz]] - A és B csoport&lt;br /&gt;
*[[Media:Terek_2006kereszt_1ZHB.PDF|2006/07 kereszt]] - B csoport&lt;br /&gt;
*[[Media:Terek_2007tavasz_2ZHAB.PDF|2006/07 tavasz]] - A és B csoport&lt;br /&gt;
*[[Media:Terek_2008tavasz_2ZHAB.pdf|2007/08 tavasz]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2008kereszt_2ZHAB.pdf‎|2008/09 kereszt]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2009tavasz_2ZHAB.pdf|2008/09 tavasz]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2009kereszt_2ZHAB.pdf‎|2009/10 kereszt]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2010tavasz_2ZHAB.pdf‎|2009/10 tavasz]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2010kereszt_2ZHAB.pdf‎|2010/11 kereszt]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2011kereszt_2ZH.pdf‎|2011/12 kereszt]] - megoldásokkal&lt;br /&gt;
*[[Media:Terek_2012tavasz_2ZH.pdf‎|2011/12 tavasz]] - megoldásokkal&lt;br /&gt;
*[[Media:Terek_2012kereszt_2ZH.pdf‎|2012/13 kereszt]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2013tavasz_2ZH_AB.pdf|2012/13 tavasz]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:terek_ZH2_2013ősz.pdf|2013/14 kereszt]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2014tavasz_2ZH_AB.pdf|2013/14 tavasz]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_ZH2_2014kereszt.pdf|2014/15 kereszt]] - A és B csoport megoldásokkal&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 33%;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== Pót ZH - 2015 előtt ===&lt;br /&gt;
&lt;br /&gt;
*[[Media:Terek_2007tavasz_2ZHpót.PDF‎|2006/07 tavasz]] - megoldások nélkül&lt;br /&gt;
*[[Media:Terek_2008tavasz_2ZHpót.PDF‎|2007/08 tavasz]] - megoldások nélkül&lt;br /&gt;
*[[Media:Terek_2008kereszt_2ZHpót.PDF|2008/09 kereszt]] - megoldásokkal&lt;br /&gt;
*[[Media:Terek_2009tavasz_2ZHpótAB.pdf‎‎|2008/09 tavasz]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2009kereszt_2ZHpót.pdf‎|2009/10 kereszt]] - megoldásokkal&lt;br /&gt;
*[[Media:Terek_2010tavasz_2ZHpót.pdf|2009/10 tavasz]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2011kereszt_2ZHpót.pdf‎|2011/12 kereszt]] - megoldásokkal&lt;br /&gt;
*[[Media:Terek_2012tavasz_2ZHpót.pdf‎|2011/12 tavasz]] - megoldásokkal&lt;br /&gt;
*[[Media:Terek_2012kereszt_2ZHpót.pdf‎|2012/13 kereszt]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_2013tavasz_pótZH_2.pdf‎|2012/13 tavasz]] - megoldásokkal&lt;br /&gt;
*[[Media:Terek_2013kereszt_pZH2.pdf‎|2013/14 kereszt]] - megoldásokkal&lt;br /&gt;
*[[Media:Terek_2014tavasz_pótZH_2.pdf‎|2013/14 tavasz]] - megoldásokkal&lt;br /&gt;
*[[Media:Terek_PZH2_2014kereszt.pdf|2014/15 kereszt]] - megoldásokkal&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Harmadik zárthelyi ==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 1em; width: 100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 33%;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== ZH - 2015 után ===&lt;br /&gt;
&lt;br /&gt;
*[[Media:Terek_ZH3_2015tavasz.pdf|2014/15 tavasz]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_ZH3_2015kereszt.pdf|2015/16 kereszt]] - A és B csoport megoldásokkal&lt;br /&gt;
*[[Media:Terek_ZH3_2016tavasz.pdf|2015/16 tavasz]] - A és B csoport megoldásokkal&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vizsgabeugrók ==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 1em; width: 100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 33%;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
*2008/09 - kereszt:&lt;br /&gt;
**[[Media:Terek_beugró_20090112.PDF|2009.01.12]] - megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugró_20090119.PDF|2009.01.19]] - megoldások nélkül&lt;br /&gt;
&lt;br /&gt;
*2009/10 - kereszt:&lt;br /&gt;
**[[Media:Terek_beugró_20091222.pdf‎|2009.12.22]] - részletes megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugró_20100115.pdf‎|2010.01.15]] - részletes megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugró_20100122.PDF‎|2010.01.22]] - részletes megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugró_20100129.PDF‎|2010.01.29]] - részletes megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugró_20100202.PDF‎|2010.02.02]] - részletes megoldásokkal&lt;br /&gt;
&lt;br /&gt;
*2009/10:&lt;br /&gt;
**[[Media:Terek_beugró_20100528.pdf‎|2010.05.28]] - részletes megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugró_20100604.pdf|2010.06.04]] - részletes megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugró_20100611A.PDF‎|2010.06.11]] - A csoport részletes megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugró_20100611B.PDF|2010.06.11]] - B csoport megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugró_20100618A.PDF|2010.06.18]] - A csoport részletes megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugró_20100618B.PDF‎|2010.06.18]] - B csoport megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugró_20100826.PDF|2010.08.26]] - megoldásokkal&lt;br /&gt;
&lt;br /&gt;
*2010/11 - kereszt:&lt;br /&gt;
**[[Media:Terek_beugró_20101222.PDF‎|2010.12.22]] - megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugró_20110105.PDF|2011.01.05]] - megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugró_20110112.PDF‎|2011.01.12]] - megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugró_20110119.pdf‎|2011.01.19]] - részben megoldásokkal&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 33%;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
*2010/11:&lt;br /&gt;
**[[Media:Terek_beugró_20110526.pdf‎|2011.05.26]] - részben megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugró_20110602.pdf|2011.06.02]] - részben megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugró_20110609.pdf|2011.06.09]] - részben megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugró_20110616.pdf‎|2011.08.25]] - hivatalos megoldásokkal&lt;br /&gt;
&lt;br /&gt;
*2011/12 - kereszt:&lt;br /&gt;
**[[Media:Terek_beugró_20120112.pdf‎|2012.01.12]] - részletes megoldásokkal&lt;br /&gt;
&lt;br /&gt;
*2011/12:&lt;br /&gt;
**[[Media:Terek_beugró_20120531.pdf‎|2012.05.31]] - részletes megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugró_20120607.pdf‎|2012.06.07]] - emlékezetből, megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugró_20120614.pdf‎‎|2012.06.14]] - emlékezetből, megoldásokkal&lt;br /&gt;
&lt;br /&gt;
*2012/13 - kereszt:&lt;br /&gt;
**[[Media:Terek_beugró_20121220.PDF|2012.12.20]] - részletes megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugró_20130110.PDF‎|2013.01.10]] - megoldásokkal&lt;br /&gt;
&lt;br /&gt;
*2012/13:&lt;br /&gt;
**[[Media:EMTa_vizsga_20130606.pdf|2013.06.06]] - emlékezetből, megoldás nélkül&lt;br /&gt;
**[[Média:EMTA_beugro_20130613.jpg|2013.06.13]] - megoldásokkal&lt;br /&gt;
&lt;br /&gt;
*2013/14 - kereszt:&lt;br /&gt;
**[[Media:Terek_beugro_2014.01.09.jpg|2014.01.09]] - megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugro_2014.01.16.pdf|2014.01.16]] - megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugro_20140123.pdf|2014.01.23]] - megoldásokkal&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 33%;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
*2013/14:&lt;br /&gt;
**[[Media:Terek_beugró_20140529.pdf|2014.05.29]] - megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugro_20140605_megoldasokkal.pdf|2014.06.05]] - megoldásokkal&lt;br /&gt;
**[[Media:Terek_2014_v3_A.jpg|2014.06.12]] - A csoport hivatalos megoldásokkal&lt;br /&gt;
**[[Media:Terek_2014_v3_B_megoldasokkal.pdf|2014.06.12]] - B csoport hivatalos megoldásokkal (kidolgozva)&lt;br /&gt;
**[[Media:Terek_beugro_20140619.pdf|2014.06.19]] - megoldásokkal&lt;br /&gt;
&lt;br /&gt;
*2014/15:&lt;br /&gt;
**[[Media:Terek_beugro_20150109.pdf|2015.01.09]] - megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugro_20150528.pdf|2015.05.28]] - megoldásokkal&lt;br /&gt;
**[[Media:Terek_beugro_20150604_megoldasokkal.pdf|2015.06.04]] - [[:Media:Terek begró 2015.06.04. megoldások.pdf|részletes megoldásokkal]]&lt;br /&gt;
**[[Media:Terek_beugro_20150618_megoldasokkal.pdf|2015.06.18]] - megoldásokkal&lt;br /&gt;
&lt;br /&gt;
*2015/16:&lt;br /&gt;
**[[Media:EMT20160107.pdf|2016.01.07]] - megoldásokkal&lt;br /&gt;
**[[Media:EMT20160114.pdf|2016.01.14]] - [[Media:terek_vizsga_20160114_megoldas.pdf|megoldások]]&lt;br /&gt;
**[[Media:Terek_beugro_2016_06_02_hivatalos_megoldással.pdf|2016.06.02]] - részletes megoldással&lt;br /&gt;
**[[Media:Terek_beugro_2016_06_16_hivatalos_megoldással.pdf|2016.06.16]] -  hivatalos megoldással&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Tippek ==&lt;br /&gt;
&lt;br /&gt;
*A tárgynak legendás híre van és tényleg nem könnyű, tehát ne vedd félvállról. Ne becsüld le, mert fontos és szemléletformáló. Alapvetően fizika, de részletesebb és sok a gyakorlati kitekintés. Ha tudod, hogy nem fogsz tudni elég időt szánni rá, akkor ne is vedd fel. A vektoranalízisre erősen épít, így A3 nélkül szintén nem érdemes felvenni.&lt;br /&gt;
*Az aláírás a vizsgabeugróhoz képest jóval könnyebben teljesíthető. A vizsga szóbeli és írásbeli részből áll. A vizsgára az összes tételt tudni kell, mert ha egyet nem tudsz, az hamar kiderül. Ha gyakorolsz és átlátod az anyagot, a beugró akkor is nehéz, erőteljes rutint kell szerezni a feladatmegoldásban. A beugróban egyébként különböző időigényűek a feladatok és ugyanannyi pontot érnek, így ez alapján érdemes szelektálni közöttük.&lt;br /&gt;
*Ennél a tárgynál nem működik a &amp;quot;&#039;&#039;megtanulok 10-20 képletet és majd behelyettesítek&#039;&#039;&amp;quot; módszer! Hiába illenek bele egy képletbe a feladatban felsorolt adatok, attól még lehet, hogy teljesen mást kellene számolni. Tudni kell az alaptételeket, azt hogy mikor milyen egyszerűsítést lehet megtenni és ez alapján kell kitalálni, hogy mivel is kell számolni.&lt;br /&gt;
*Előadásra érdemes bejárni, még ha nem is értesz mindent ott helyben, mert ha a ZH-ra való készüléskor szembesülsz először az anyaggal, akkor sokkal nehezebb dolgod lesz.&lt;br /&gt;
*Miből tanulj, hogy ne forduljanak elő &amp;quot;&#039;&#039;Sajnos most nem tudom átengedni&#039;&#039;&amp;quot; típusú jelenségek? A &#039;&#039;&#039;Dr. Fodor György: Elektromágneses terek&#039;&#039;&#039; könyvet érdemes forgatni, mert abban viszonylag normálisan le vannak írva a dolgok. A Zombori-féle könyv is hasznos lehet, bár kevésbé követi a tematikája a tárgy anyagát és nem azokkal a jelölésekkel dolgozik, amit az előadáson mutatnak. A kidolgozott tételsorokból való készülés általában pedig ezt szüli: &amp;quot;&#039;&#039;Ez kevés lesz, kolléga&#039;&#039;&amp;quot;. A szóbeli vizsgán az érdekli őket, hogy a mélyebb összefüggéseket érted-e, nem pedig az, hogy sikerült-e benyalnod időre egy 50 oldalas kidolgozást. Mindenesetre, ha már érted az anyag velejét, akkor ismétlésre, képletek áttekintésére nagyon jól használható a &#039;&#039;Mucsi Dénes&#039;&#039; által, &#039;&#039;Dr. Gyimóthy Szabolcs&#039;&#039; előadásaiból készített előadásjegyzet.&lt;br /&gt;
*Ha Gyimóthy tartja az előadást mindenképp érdemes bemenni a zh előtti &amp;quot;felkészítő&amp;quot; konzultációkra, mert az ott megoldott példák általában kísértetiesen hasonlítanak a ZH feladataira.&lt;br /&gt;
*Erősen szubjektív vélemény következik: Szerintem a Fodor-féle könyv egy nagy káosz. Bár illeszkedik a tematikához, de ha igazán meg akarod érteni a miérteket, ajánlom a következő két könyvet: &lt;br /&gt;
** Daniel &#039;&#039;&#039;Fleisch -- A Student&#039;s Guide to Maxwell&#039;s Equations&#039;&#039;&#039;&lt;br /&gt;
** David J. &#039;&#039;&#039;Griffiths -- Introduction to Electrodynamics&#039;&#039;&#039; &lt;br /&gt;
:Ha magyart szeretnél, akkor a Simonyi féle könyv lesz a nyerő. Angol nyelvű mindkettő, de középfokú nyelvismerettel ehetőek. Természetesen nem fednek le minden dolgot a kurzushoz, ezért előadásra érdemes bejárni, ugyanakkor nagyon szilárd alapot adnak az egész kurzushoz. A beszerzésnél a google lesz a barátod.&amp;lt;br/&amp;gt;Szintén erősen ajánlott nézegetni &#039;&#039;Walter H. G. Lewin (MIT)&#039;&#039; előadásait a youtube-on, ha úgy érzed a fizikai alapok hiányoznak a kurzushoz. Kifejezetten jól magyaráz, érthetővé tesz mindent.&lt;br /&gt;
*Az MIT open coursware oldalról: http://ocw.mit.edu/resources/res-6-001-electromagnetic-fields-and-energy-spring-2008/chapter-1/&lt;br /&gt;
:Bal oldalt lehet válogatni a fejezetek között. Hasznos, mivel az elméleti leírás mellett vannak hozzá kísérletes videók. Például a laplace-poisson egyenlet megoldását szemléltető kísérlet stb. stb.&lt;br /&gt;
&lt;br /&gt;
== Verseny ==&lt;br /&gt;
&lt;br /&gt;
A tárgyból rendeznek hivatalos tanulmányi versenyt is, melynek [http://verseny.vik.hk/versenyek/olvas/12?v=Elektrom%C3%A1gneses+terek itt] érhető el a honlapja.&lt;br /&gt;
&lt;br /&gt;
Az Elektromágneses terek verseny témája a villamosmérnöki alapképzésen előadott, hasonló című tárgy anyagához illeszkedik. A versenyfeladatok természetesen mind a fizikai jelenségek, mind pedig azok matematikai modelljei tekintetében a tantárgyi tematikán túlmutató nehézségűek lehetnek.&lt;br /&gt;
&lt;br /&gt;
Tekintettel a másodéves hallgatókra, a kitűzött feladatok közül háromnak az elméleti háttere kapcsolódik az Elektromágneses terek alapjai című tárgynak a verseny időpontjáig elhangzó előadásaihoz. A helyezések megállapításánál ugyancsak tekintettel vannak a másod- és felsőbbévesek tanulmányai közötti különbségre. Az irányelv az, hogy az I., II. és III. helyezés feltétele másodévesek esetén rendre két teljes megoldás, egy teljes megoldás illetve egy értékelhető részmegoldás. A felsőbbévesek esetén pedig rendre három, kettő illetve egy feladat teljes megoldása. Ez tehát azt jelenti, hogy egy másodéves hallgató megelőzi az eredménysorrendben a felsőbbévest, ha a versenyen azonos teljesítményt mutatnak fel.&lt;br /&gt;
&lt;br /&gt;
{{Lábléc_-_Villamosmérnök_alapszak}}&lt;/div&gt;</summary>
		<author><name>Bede Fülöp</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=Matematika_szigorlat_A2&amp;diff=187827</id>
		<title>Matematika szigorlat A2</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Matematika_szigorlat_A2&amp;diff=187827"/>
		<updated>2016-01-13T14:51:49Z</updated>

		<summary type="html">&lt;p&gt;Bede Fülöp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tantárgy&lt;br /&gt;
|nev=Matematika szigorlat A2&lt;br /&gt;
|tárgykód=TE90AX16&lt;br /&gt;
|szak=villany&lt;br /&gt;
|kredit=0&lt;br /&gt;
|felev=2&lt;br /&gt;
|tanszék=Algebra Tanszék &lt;br /&gt;
|kiszh=nincs&lt;br /&gt;
|nagyzh=nincs&lt;br /&gt;
|vizsga=írásbeli és szóbeli&lt;br /&gt;
|hf=nincs&lt;br /&gt;
|tad=https://portal.vik.bme.hu/kepzes/targyak/TE90AX16/&lt;br /&gt;
|levlista=matek1{{kukac}}sch.bme.hu &amp;lt;br&amp;gt;&lt;br /&gt;
matek2{{kukac}}sch.bme.hu&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;Matematika szigorlat A2&#039;&#039;&#039; egy vizsgával záruló 0 kredites kritériumtárgy, melynek anyaga a [[Matematika A1 - Analízis]] és a [[Matematika A2f - Vektorfüggvények]] tárgyak.&lt;br /&gt;
&lt;br /&gt;
A szigorlati jegy megszerzésének feltételei:&lt;br /&gt;
* A [[Matematika A1 - Analízis]] és a [[Matematika A2f - Vektorfüggvények]] tárgyak kreditjeinek megszerzése.&lt;br /&gt;
* Az írásbeli és szóbeli szigorlati vizsga legalább 40%-os teljesítése.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A szigorlati vizsga&#039;&#039;&#039; egy 90 perces írásbeli részből és egy szóbeli részből áll. Az írásbeli vizsgán az „Matematika A1&amp;quot; és a &amp;quot;Matematika A2” tárgyak anyagából kapnak kérdéseket a vizsgázók. Az írásbelin csak az első féléves jegyzetben található (vagy azzal azonos tartalmú) deriválttáblázat használható, más segédeszköz nem. Az írásbeli vizsgán legalább 40%-os eredményt kell elérni, és külön a második félév zárthelyin nem ellenőrzött anyagából (*-os feladatok) is legalább 40%-ot kell teljesíteni. Az írásbeli eredménye birtokában a bizottság jegyet ajánlhat a vizsgázónak, vagy szóbeli vizsgán módosíthatja az írásbelin megszerzett pontszámot. A végső szigorlati jegy az írásbeli és szóbeli vizsga együttes értékéből alakul ki.&lt;br /&gt;
&lt;br /&gt;
* 0-39% elégtelen (1)&lt;br /&gt;
* 40-54% elégséges (2)&lt;br /&gt;
* 55-64% közepes (3)&lt;br /&gt;
* 65-79% jó (4)&lt;br /&gt;
* 80-100% jeles (5)&lt;br /&gt;
&lt;br /&gt;
=== Szigorlatok ===&lt;br /&gt;
&lt;br /&gt;
*[[Media:Mat_szigorlat_2014_15_tavasz.pdf|2014/15 tavasz]] - megoldásokkal&lt;br /&gt;
&lt;br /&gt;
===Tippek===&lt;br /&gt;
* A tárgy 0 kreditet ér, viszont egyrészt a specializációra kerüléshez a teljesítése kötelező, másrészt pedig a diploma minősítésébe 20%-os súllyal beszámít, így nem érdemes félvállról venni.&lt;br /&gt;
{{Lábléc_-_Villamosmérnök_alapszak 2014}}&lt;/div&gt;</summary>
		<author><name>Bede Fülöp</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=Matematika_szigorlat_A2&amp;diff=187826</id>
		<title>Matematika szigorlat A2</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Matematika_szigorlat_A2&amp;diff=187826"/>
		<updated>2016-01-13T14:51:29Z</updated>

		<summary type="html">&lt;p&gt;Bede Fülöp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tantárgy&lt;br /&gt;
|nev=Matematika szigorlat A2&lt;br /&gt;
|tárgykód=TE90AX16&lt;br /&gt;
|szak=villany&lt;br /&gt;
|kredit=0&lt;br /&gt;
|felev=2&lt;br /&gt;
|tanszék=Algebra Tanszék &lt;br /&gt;
|kiszh=nincs&lt;br /&gt;
|nagyzh=nincs&lt;br /&gt;
|vizsga=írásbeli és szóbeli&lt;br /&gt;
|hf=nincs&lt;br /&gt;
|tad=https://portal.vik.bme.hu/kepzes/targyak/TE90AX16/&lt;br /&gt;
|levlista=matek1{{kukac}}sch.bme.hu &amp;lt;br&amp;gt;&lt;br /&gt;
matek2{{kukac}}sch.bme.hu&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;Matematika szigorlat A2&#039;&#039;&#039; egy vizsgával záruló 0 kredites kritériumtárgy, melynek anyaga a [[Matematika A1 - Analízis]] és a [[Matematika A2f - Vektorfüggvények]] tárgyak.&lt;br /&gt;
&lt;br /&gt;
A szigorlati jegy megszerzésének feltételei:&lt;br /&gt;
* A [[Matematika A1 - Analízis]] és a [[Matematika A2f - Vektorfüggvények]] tárgyak kreditjeinek megszerzése.&lt;br /&gt;
* Az írásbeli és szóbeli szigorlati vizsga legalább 40%-os teljesítése.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A szigorlati vizsga&#039;&#039;&#039; egy 90 perces írásbeli részből és egy szóbeli részből áll. Az írásbeli vizsgán az „Matematika A1&amp;quot; és a &amp;quot;Matematika A2” tárgyak anyagából kapnak kérdéseket a vizsgázók. Az írásbelin csak az első féléves jegyzetben található (vagy azzal azonos tartalmú) deriválttáblázat használható, más segédeszköz nem. Az írásbeli vizsgán legalább 40%-os eredményt kell elérni, és külön a második félév zárthelyin nem ellenőrzött anyagából (*-os feladatok) is legalább 40%-ot kell teljesíteni. Az írásbeli eredménye birtokában a bizottság jegyet ajánlhat a vizsgázónak, vagy szóbeli vizsgán módosíthatja az írásbelin megszerzett pontszámot. A végső szigorlati jegy az írásbeli és szóbeli vizsga együttes értékéből alakul ki.&lt;br /&gt;
&lt;br /&gt;
* 0-39% elégtelen (1)&lt;br /&gt;
* 40-54% elégséges (2)&lt;br /&gt;
* 55-64% közepes (3)&lt;br /&gt;
* 65-79% jó (4)&lt;br /&gt;
* 80-100% jeles (5)&lt;br /&gt;
&lt;br /&gt;
=== Szigorlatok ===&lt;br /&gt;
&lt;br /&gt;
*[[Media:Mat_szigorlat_2014_15_tavasz.pdf|2014/15 tavasz]] - megoldásokkal&lt;br /&gt;
[[:File:szig 2015 dec.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Tippek===&lt;br /&gt;
* A tárgy 0 kreditet ér, viszont egyrészt a specializációra kerüléshez a teljesítése kötelező, másrészt pedig a diploma minősítésébe 20%-os súllyal beszámít, így nem érdemes félvállról venni.&lt;br /&gt;
{{Lábléc_-_Villamosmérnök_alapszak 2014}}&lt;/div&gt;</summary>
		<author><name>Bede Fülöp</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=F%C3%A1jl:Szig_2015_dec.jpg&amp;diff=187825</id>
		<title>Fájl:Szig 2015 dec.jpg</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=F%C3%A1jl:Szig_2015_dec.jpg&amp;diff=187825"/>
		<updated>2016-01-13T14:50:13Z</updated>

		<summary type="html">&lt;p&gt;Bede Fülöp: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Bede Fülöp</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=Digit%C3%A1lis_technika_2_-_Megold%C3%A1sok_a_V2-es_ellen%C5%91rz%C5%91_feladatsorhoz&amp;diff=187719</id>
		<title>Digitális technika 2 - Megoldások a V2-es ellenőrző feladatsorhoz</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Digit%C3%A1lis_technika_2_-_Megold%C3%A1sok_a_V2-es_ellen%C5%91rz%C5%91_feladatsorhoz&amp;diff=187719"/>
		<updated>2016-01-07T11:59:42Z</updated>

		<summary type="html">&lt;p&gt;Bede Fülöp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vissza|Digitális technika 2}}&lt;br /&gt;
&lt;br /&gt;
Ezen az oldalon a régi ötkredites Digit2 ellenőrző kérdéseihez összegyűjtött megoldások vannak. A megoldások nem mindenhol teljesek vagy jók. Az új Digit2-höz már más ellenőrző feladatsort adott ki a tanszék, de nagyon sok átfedés van ezzel!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;margin:0.5em;&amp;quot; class=&amp;quot;noautonum&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Media:Digit2_ef_V2.pdf|A V2-es feladatsor itt érhető el.]]&lt;br /&gt;
&lt;br /&gt;
== 1. feladat ==&lt;br /&gt;
&lt;br /&gt;
* [[Media:Digit2_ef_V2_megold_1_a_ell.pdf‎|PDF az 1/a) feladathoz]]&lt;br /&gt;
&lt;br /&gt;
== 2. feladat ==&lt;br /&gt;
&lt;br /&gt;
by Lacee&lt;br /&gt;
(a hibákat jelezni kérem a prisonerhu{{kukac}}freemail.hu címen)&lt;br /&gt;
&lt;br /&gt;
=== 2. a) ===&lt;br /&gt;
&lt;br /&gt;
Készítsen megszakítási vonalakat kezelő áramkört, amely egy 8085-ös processzoron alapuló sín RST 5.5-ös és RST 6.5-ös megszakítási vonalaira csatlakozva2 db külsô megszakítás (IT1 és IT2) fogadására alkalmas.&lt;br /&gt;
&lt;br /&gt;
A külső megszakítások kezelését külön-külön áramkörök végzik, amelyek a külső megszakítás felfutó élére kérnek megszakítást és alaphelyzetbe OUT utasítással állíthatók (vagy a ResetOut jel hatására). Egy megszakítási impulzus csak egyszer kérjen megszakítást. Az IT1 megszakítás hatására a C regiszter 55h, IT2 hatására a C regiszter AAh értéket vesz fel. A megszakítási flip-flopok 11h (IT1) és 17h (IT2) címen érhetők el.&lt;br /&gt;
&lt;br /&gt;
* Készítse el a rendszer inicializálását végző főprogramot (40h címtől kezdődően)!&lt;br /&gt;
* Készítse el a megszakítási szubrutinokat! &lt;br /&gt;
&lt;br /&gt;
        RST55 EQU 2CH&lt;br /&gt;
        RST65 EQU 34H&lt;br /&gt;
        C1 EQU 55H  &lt;br /&gt;
        C2 EQU AAH&lt;br /&gt;
        IT1 11H&lt;br /&gt;
        IT2 17H&lt;br /&gt;
 &lt;br /&gt;
        JMP INIC&lt;br /&gt;
        ORG 0040H&lt;br /&gt;
    INIC:&lt;br /&gt;
        MVI A,00001100B ;RST 7.5-T LETILTJUK, A TÖBBIT ENGEDÉLYEZZÜK&lt;br /&gt;
        SIM     ;MASZK BEÁLLÍTÁSA&lt;br /&gt;
        EI      ;MEGSZAKÍTÁS ENG&lt;br /&gt;
        &lt;br /&gt;
    VAR:    JMP VAR     ;VÉGTELEN CIKLUS, AZ RST-KRE VÁR, AZOK MEGSZAKÍTJÁK&lt;br /&gt;
 &lt;br /&gt;
        ORG RST55   ;RST55 CÍMÉN VAN,ÍGY HA MEGSZAKÍTÁS TÖRTÉNIK, AKKOR IDE UGRIK A PROGI&lt;br /&gt;
    MEGSZ1: MVI C,C1        ;BEÁLLÍTJUK A KÍVÁNT ÉRTÉKET    &lt;br /&gt;
        OUT IT1     ;VISSZAÁLLÍTJUK AZ IO-T&lt;br /&gt;
        EI      ;MEGSZAKÍTÁS ÉRVÉNYRE JUTTATÁSA&lt;br /&gt;
        RET&lt;br /&gt;
 &lt;br /&gt;
        ORG RST65   ;AZ ELÕBBI MINTÁJÁRA...&lt;br /&gt;
    MEGSZ2: &lt;br /&gt;
        MVI C,C2    &lt;br /&gt;
        OUT IT2&lt;br /&gt;
        EI&lt;br /&gt;
        RET&lt;br /&gt;
&lt;br /&gt;
=== 2. b) ===&lt;br /&gt;
&lt;br /&gt;
Írjon assembly szubrutint (KONV), amely az A regiszterben megkapott byte-ot átírja a 74LS374-es regiszter bekötésének megfelelően. A szubrutin kimenete az átkonvertált byte az A regiszterben. (A szubrutin más regiszterek tartalmát nem ronthatja el!)&lt;br /&gt;
&lt;br /&gt;
Írjon ellenőrző 8085-ös assembly szubrutint (ELO), amely az összes lehetséges kombinációval ellenőrzi a kimeneti regiszter bekötését. A szubrutin lefutása után a D,E regiszterpárban legyen a felismert hibák száma! (A szubrutin a D,E regiszterpár kivételével a regiszterek tartalmát nem ronthatja el!) A megoldásban használja az előző feladatban definiált KONV szubrutint! A kimeneti regiszter 0FFh I/O címen írható és 01Fh címen olvasható.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    PÉLDA1 A MÛKÖDÉSRE&lt;br /&gt;
        10101111    ;A BEJÖVÕ ADAT -&amp;gt; EZT KELL KAPNUNK A PÉLDA1-BEN: 01011111&lt;br /&gt;
    RRC 11010111    ;JOBBRA FORGATJUK&lt;br /&gt;
    AND 01010101    ;ÖSSZEÉSELJÜK  55H-VAL (MÁSNÉVEN MASZKOLÁS)&lt;br /&gt;
        ----------&lt;br /&gt;
    =   01010101 -&amp;gt; D   ;AZ EREDMÉNYT BEÍRJUK A (D) REG-BE&lt;br /&gt;
&lt;br /&gt;
    RLC 01011111    ;AZ EREDETI ADATOT FORGATJUK BALRA&lt;br /&gt;
    AND 10101010    ;ÉSELJÜK AAH-VAL&lt;br /&gt;
        ----------&lt;br /&gt;
    =   00001010 -&amp;gt; H   ;KIMENTJÜK H-BA, A PROGIBAN NEM KELL H-BA MENTENI,MERT AZ UTANA LEVÕ PARANCS A&lt;br /&gt;
          VAGYOLÁS ÉS AHHOZ AZ A- TARTALMA KELL, AMI MOST PONT A H-BA RAKOTTAL EGYEZIK MEG&lt;br /&gt;
&lt;br /&gt;
    H OR D&lt;br /&gt;
        01010101    &lt;br /&gt;
        00001010    &lt;br /&gt;
        ----------  &lt;br /&gt;
        01011111    ;AZ EREDMÉNY!&lt;br /&gt;
&lt;br /&gt;
    PÉLDA2:&lt;br /&gt;
        10101110 -&amp;gt;EBBÕL EZT:01011101&lt;br /&gt;
    RRC 01010111&lt;br /&gt;
    AND 01010101&lt;br /&gt;
        ----------&lt;br /&gt;
    =   01010101 -&amp;gt; D&lt;br /&gt;
&lt;br /&gt;
    RLC 01011101&lt;br /&gt;
    AND 10101010&lt;br /&gt;
        -----------&lt;br /&gt;
    =   00001000 -&amp;gt; H&lt;br /&gt;
&lt;br /&gt;
    H OR D&lt;br /&gt;
        01010101&lt;br /&gt;
        00001000&lt;br /&gt;
        -----------&lt;br /&gt;
        01011101&lt;br /&gt;
&lt;br /&gt;
    ;NA ÉS VÉGRE A PROGI&lt;br /&gt;
    KONV:   PUSH H&lt;br /&gt;
        PUSH D&lt;br /&gt;
        PUSH PSW    ;kimentjük A-t&lt;br /&gt;
        RRC     ;jobbra forgatunk&lt;br /&gt;
        ANI 01010101B   ;maszkoljuk 55H-val&lt;br /&gt;
        MOV D,A     ;a maszkolt byte-ot kimentjük D-be&lt;br /&gt;
        POP PSW     ;vissza az A-t&lt;br /&gt;
        RLC         ;balra forgatjuk&lt;br /&gt;
        ANI 10101010B   ;maszkoljuk AAH-val&lt;br /&gt;
        ORA D       ;összevagyoljuk D-vel&lt;br /&gt;
        POP D       ;POPpolgatunk&lt;br /&gt;
        POP H&lt;br /&gt;
        RET&lt;br /&gt;
        &lt;br /&gt;
    ELO:    &lt;br /&gt;
        PUSH PSW&lt;br /&gt;
        PUSH H&lt;br /&gt;
        PUSH B&lt;br /&gt;
        PUSH A  &lt;br /&gt;
        MVI B,0H&lt;br /&gt;
        LXI D,0H&lt;br /&gt;
    FUT:&lt;br /&gt;
        MOV A,B&lt;br /&gt;
        OUT 0FFH    ;a B 0-tól FF-ig megy, ez az összes lehetséges kombináció&lt;br /&gt;
        CALL KONV   ;az A-ban a B-nek megfelelő beolvasott (átkonvertált) adat lesz&lt;br /&gt;
        MOV C,A     &lt;br /&gt;
        IN  01FH        ;beolvassuk a reg tartalmát&lt;br /&gt;
        CMP C       ;ha A=C akkor jó (C:a B konvertált alakja, A:a közvetlenül visszaolvasott alak&lt;br /&gt;
        &lt;br /&gt;
        JZ TOVABB   ;ha B=C -&amp;gt; Z=1, tehát nem kell növelni a DE-t&lt;br /&gt;
        INX D       ;ha azonban Z=0, növeljük DE-t&lt;br /&gt;
    TOVABB: INR B       &lt;br /&gt;
        MOV A,FF&lt;br /&gt;
        CMP B   &lt;br /&gt;
        JNZ FUT     ;ha B végigpörgött, tehát elérte az FF-t, akkor kilépünk&lt;br /&gt;
        POP A&lt;br /&gt;
        POP B&lt;br /&gt;
        POP H&lt;br /&gt;
        POP PSW&lt;br /&gt;
&lt;br /&gt;
=== 2. c) ===&lt;br /&gt;
&lt;br /&gt;
Írja meg a VIZS 8085 assembly szubrutint, amely az A regiszterben kapott értéket beírja a kimeneti regiszterbe, majd a kimenet értékét visszaolvassa és ellenőrzi, hogy a beérkezett karakter helyes-e? Hiba esetén a szubrutinból való visszatéréskor Z=1, különben Z=0 legyen!&lt;br /&gt;
&lt;br /&gt;
* A kimeneti egység K1…K8 jelei a 0ACh IO címen olvashatók vissza.&lt;br /&gt;
* a kimeneti regiszter (74374) a 0AAh IO címen írható&lt;br /&gt;
* A kimeneti regiszter minden második bitje (K0,K2,K4,K6) negáltan legyen kivezetve.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    VIZS:   OUT 0AAH    ;BEÍRJUK AZ A REG TARTALMÁT A KIMENETI REG-BE&lt;br /&gt;
        AND 55H     ;A KIMENET ÉRTÉKE NEM A BEÍRT A-VAL LESZ EGYENLÕ&lt;br /&gt;
        XRA FFH     ;EZÉRT MEGCSINÁLJUK SZOFTVERESEN A BYTE MINDEN MÁSODIK BITJÉNEK NEGÁLÁSÁT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ;példa 1:a fenti műveltre (AND 55H;XRA FFH)&lt;br /&gt;
    kiírt adat: &lt;br /&gt;
        11111111  -&amp;gt; ebből ezt kell kapnunk: 10101010&lt;br /&gt;
    AND 01010101&lt;br /&gt;
        -----------&lt;br /&gt;
        01010101&lt;br /&gt;
    XRA 11111111&lt;br /&gt;
        -----------&lt;br /&gt;
        10101010  -&amp;gt;és kész!&lt;br /&gt;
&lt;br /&gt;
    ;példa 2:&lt;br /&gt;
    kiírt adat:&lt;br /&gt;
        10111011  -&amp;gt;ez lesz belőle: 11101110&lt;br /&gt;
    AND 01010101&lt;br /&gt;
        -----------&lt;br /&gt;
        00010001&lt;br /&gt;
    XRA 11111111&lt;br /&gt;
        -----------&lt;br /&gt;
        11101110  -&amp;gt; ready!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ;és a progi folytatása&lt;br /&gt;
        MOV B,A     ;elmentjük B-be, mert később a visszaolvasott adat alapból az A-ba kerül és felülírja ezt&lt;br /&gt;
        IN 0ACH     ;visszaolvasás&lt;br /&gt;
        CMP B       ;a szokásos vizsgálat, A-ból kivonjuk a B-t(az ellenőrző byte-ot)&lt;br /&gt;
        JNZ Z1      ;és ha az eredmény nem 0 (akkor Z=0,és hiba van), a feladata pont az ellentetjét kéri&lt;br /&gt;
        XRA A       ;ezért a Z flaget megnegáljuk az alábbi paranccsal&lt;br /&gt;
        JMP VEGE&lt;br /&gt;
    Z1: MOV A,1H&lt;br /&gt;
        ORA A       &lt;br /&gt;
    VEGE:   RET&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 2. d) ===&lt;br /&gt;
&lt;br /&gt;
Illesszen i8085-ös mikroprocesszoros rendszersínre két 8251-es soros periféria illesztő áramkört. Az „A” áramkör csak kimenetre, a „B” áramkör csak bemenetre van felprogramozva. Az „A” áramkör TxD kimenetét a „B” áramkör RxD bemenetére kell kötni. Mindkét áramkör TxC és RxC órajel bemeneteire CLK96 órajel van kötve. Inicializáláskor mindkét áramkör programozása: aszinkron üzemmód, 8 bites karakter, páros paritás és 2 stop bit. A „B” áramkör az /RST 5,5 sínen kér megszakítást. Az „A” áramkör báziscíme 0AAh, a „B” áramkör báziscíme 0AEh.&lt;br /&gt;
&lt;br /&gt;
Írja meg azt a két assembly programrészletet, amely a két 8251-est felprogramozza a fenti konfigurációnak megfelelően!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    AFELPROG:&lt;br /&gt;
        ;először a MODE INSTRUCTION-t kell kiküldeni&lt;br /&gt;
        ;kódszó: 11111101B - a alsó 2 bit értéke elvileg úgy jön ki, hogy a TxC és RxC órajeleknek 1-szeres arány kell legyen&lt;br /&gt;
        MOV A,FDH&lt;br /&gt;
        OUT 0AAH&lt;br /&gt;
        MOV A,00    000001B     ;Command Instruction&lt;br /&gt;
        OUT 0AAH        &lt;br /&gt;
        RET&lt;br /&gt;
        &lt;br /&gt;
&lt;br /&gt;
    BFELPROG:&lt;br /&gt;
        ;kódszó: ugyanaz,mint az előbb&lt;br /&gt;
        MOV A,FDH&lt;br /&gt;
        OUT 0AEH&lt;br /&gt;
        MOV A,00000000B     ;Command Instruction, B lesz a vevő&lt;br /&gt;
        OUT 0AEH    &lt;br /&gt;
        JMP 002CH&lt;br /&gt;
        RET&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 2. e) NR! ===&lt;br /&gt;
&lt;br /&gt;
Illesszen a 8085 mikroprocesszor sínrendszerére 8255-ös típusúPPIO áramkört, amely a 94H, 95H, 96H, 97H portcímeket foglalja el. A PPIO áramkör B portjára egy 8 bites párhuzamos adat kimenettel rendelkező periféria csatlakozik, (tehát a B portot bemenetként kell felprogramozni) amely hand-shaking (kézfogásosos) jelekkel ütemezi az adatátvitelt. Adat beolvasása esetén az áramkör kérjen megszakítást a CPU RST5.5 bemenetén. A periféria 8 adatvezetéken kívül az adattal egyidőben megjeleníti a PEVEN páros paritás jelet is. A PEVEN jel csak a hand-shaking folyamat közben áll rendelkezésre.&lt;br /&gt;
&lt;br /&gt;
Vegye figyelembe, hogy a megszakítási szubrutinban megvalósított adatbeolvasás időpontjában nem biztos, hogy a PEVEN paritás rendelkezésre áll, viszont a feladathoz feltétlen szükséges. Ezért javasolt a paritás jel mintavételezése (a megfelelő hand-shaking jellel) és letárolása a PPIO áramkörön kívül, majd beolvasása az A porton keresztül (pl. PA0 bemeneten) a megszakítási szubrutinban.&lt;br /&gt;
&lt;br /&gt;
* Írjon INIC55 szubrutint, amely elvégzi a PPIO áramkör fentiek szerinti inicializálást, és az SP beállítását, ha a STACK 8F00h és 8FFFh memóriatartományban van&lt;br /&gt;
* Írjon RST5.5 megszakítási szubrutint, amely beolvassa az adatot és a paritást PPIO áramkörről, ellenőrzi paritást, majd azadatot elhelyezi a 3456H című memória byte-ban, illetve paritáshiba esetén megnöveli a 3457H című memória byte tartalmát.&lt;br /&gt;
&lt;br /&gt;
    INIC55: ORG 8F00H   &lt;br /&gt;
        TER DS FF   ;STACK helyfoglalás&lt;br /&gt;
        &lt;br /&gt;
        ORG 0H&lt;br /&gt;
        ;STÁTUSZ szó: 10111111  - segédlet 95-97.oldala alapján&lt;br /&gt;
        MOV A,DFH&lt;br /&gt;
        OUT 97H&lt;br /&gt;
        &lt;br /&gt;
        IN 95H&lt;br /&gt;
        JMP 2CH &lt;br /&gt;
&lt;br /&gt;
        ORG 2CH&lt;br /&gt;
        IN 94H      ;ez itt a PEVEN jel beolvasása &lt;br /&gt;
        ANI 01H     ;a PA0 bitjét veszem a PEVEN paritás bitnek&lt;br /&gt;
        MOV D,A     ;és elmentem a D-be;ha D=0, akkor páratlan paritás,  D=1, akkor páros paritás van&lt;br /&gt;
        MVI B,0&lt;br /&gt;
        MVI C,8 &lt;br /&gt;
    PARIT:  RLC&lt;br /&gt;
        JNC TOV&lt;br /&gt;
        INR B       ;az utolsó ciklusba bekerül a beolvasott byte-ban lévő 1-esek száma&lt;br /&gt;
    TOV:    DCR C&lt;br /&gt;
        JNZ PARIT&lt;br /&gt;
        MOV A,B&lt;br /&gt;
        ANI 01H&lt;br /&gt;
        &lt;br /&gt;
        LXI H,3456H&lt;br /&gt;
        MOV M,A&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
=== 2. f.) ===&lt;br /&gt;
&lt;br /&gt;
Illesszen i8085-ös mikroprocesszoros rendszersínre egy visszaolvasható 8 bites kimeneti regisztert, mely az alábbi ábrán látható lámpa vezérlő egységet képes működtetni.&lt;br /&gt;
* a kimeneti regisztert (74374) a 20h IO címen írható és a kimeneti egység L1…L8 jelei a 20H IO címen visszaolvashatók&lt;br /&gt;
* Írja meg a CHECK 8085 assembly szubrutint, amely az A regiszterben kapott értéket beírja az előző feladatban kialakított kimeneti regiszterbe, majd a kimenet értékét visszaolvassa és ellenőrzi. Hiba esetén visszatéréskor CY=1, különben CY=0 legyen.&lt;br /&gt;
&lt;br /&gt;
    CHECK:  OUT 20H     ;kiírás a reg-be&lt;br /&gt;
        CMA     ;bitenként negálja az A-t&lt;br /&gt;
        MOV B,A     ;ezt a negált értéket beírjuk a B reg-be&lt;br /&gt;
        IN 20H      ;20H címről beolvasunk&lt;br /&gt;
        CMP B       ;szokásos ellenőrzés&lt;br /&gt;
        JZ CY0      ;ha egyenlő a B és a visszaolvasott érték, akkor Z=1 és akkor ugrunk arra a részre ahol CY:=0&lt;br /&gt;
        STC     ;ha Z=0 akkor CY-t 1-be állitjuk&lt;br /&gt;
        JMP VEGE        ;és ugrunk a végére&lt;br /&gt;
    CY0:    STC     ;CY=1&lt;br /&gt;
        CMC     ;CY-t negálja&lt;br /&gt;
    VEGE:   RET&lt;br /&gt;
&lt;br /&gt;
== 3. feladat ==&lt;br /&gt;
&lt;br /&gt;
=== 3. a) ===&lt;br /&gt;
&lt;br /&gt;
            LXI D,X     ; X ms-ban&lt;br /&gt;
            LXI B,R     ; R-ratio, szazalekban&lt;br /&gt;
        ELEJE:  LXI H,X*1000000*R/100/7040&lt;br /&gt;
            MVI A,C8H   ; 11001000B&lt;br /&gt;
            SIM&lt;br /&gt;
            CALL HUROK&lt;br /&gt;
            MVI A,48H   ; 01001000B&lt;br /&gt;
            SIM&lt;br /&gt;
            LXI H,X*1000000*(100-R)/100/7040&lt;br /&gt;
            CALL HUROK&lt;br /&gt;
            JMP ELEJE&lt;br /&gt;
&lt;br /&gt;
        HUROK:  DCX H       ; 4 fazis&lt;br /&gt;
            MOV A,H     ; 4 fazis&lt;br /&gt;
            ORA L       ; 4 fazis&lt;br /&gt;
            JNZ HUROK   ; 10 fazis, 7040 nsec&lt;br /&gt;
            RET&lt;br /&gt;
&lt;br /&gt;
=== 3. b.) === &lt;br /&gt;
&lt;br /&gt;
Írjon 8085 assembly szubrutint, amely a következő specifikáció szerint működik:&lt;br /&gt;
* A szubrutin a SID jel felfutó élére egy adatkivitelt, a lefutó élére egy adatbeolvasást végezzen a következők szerint:&lt;br /&gt;
* a szubrutin induláskor megvárja a SID jel 0=&amp;gt;1 átmenetét és a B regiszter tartalmát kiírja a 70h-es port címre,&lt;br /&gt;
* majd a SID jel 1=&amp;gt;0 átmenetére 71h port címről beolvas egy adatbájtot, amit a C regiszterbe tesz, ezután kilép a szubrutinból.&lt;br /&gt;
* A szubrutin bemenete: a kiírandó adat a B regiszterben.&lt;br /&gt;
* A szubrutin kimenete: a beolvasott adat a C regiszterben&lt;br /&gt;
* A megoldás során ügyeljen arra, hogy a szubrutin a C regiszter kivételével a regiszterek és a flag-ek értékét ne változtassa meg!&lt;br /&gt;
&lt;br /&gt;
    RUTIN:  MVI C,0H        ;ezzel a reg-gel ellenőrizzük azt, hogy a SID jel milyen értékű, az 1. részben 0-1 átmenet kell&lt;br /&gt;
        PUSH PSW    ;kimentések&lt;br /&gt;
        PUSH A&lt;br /&gt;
        PUSH B&lt;br /&gt;
    VAR1:   RIM     ;a beolvasott byte felső bitje a SID jel értékét mutatja &lt;br /&gt;
        MVI A,80H   ;maszkolás  &lt;br /&gt;
        ORA C       ;megnézzük, hogy a SID=0-e ha nem akkor ugárs VAR1-re / SID=1-re várunk&lt;br /&gt;
        JNZ VAR1&lt;br /&gt;
    VAR2:   RIM     ;itt gyakorlatilag ugyanaz van, mint az előbb, csak SID-1-re várunk&lt;br /&gt;
        MVI A,80H&lt;br /&gt;
        ORA C&lt;br /&gt;
        JZ VAR2     ;tehát ha SID=0 marad, akkor ugrunk VAR2-re / ha SID=1, akkor várunk még&lt;br /&gt;
        MOV A,0     ;itt azt nézzük, hogy az 1. részben vagyunk-e &lt;br /&gt;
        CMP C       ;ha a kivonás eredménye 0, akkor az 1. részben vagyunk és ekkor írjuk ki a B-t a 70H-ra&lt;br /&gt;
        JZ B70H     &lt;br /&gt;
        JMP C71H        ;ha a 2. részben vagyunk, akkor az előző ugró utasítás nem teljesül és ide kell ugrani&lt;br /&gt;
    CIMKE:  MOV C,01H   ;ha az 1. részben vagyunk, akkor C reg-t 1-be kell állítani, a 2. részben már nem fogunk ide ugrani&lt;br /&gt;
        JMP VAR1&lt;br /&gt;
    B70H:   MOV A,B&lt;br /&gt;
        OUT 70H&lt;br /&gt;
        JMP CIMKE&lt;br /&gt;
    C71H:   IN 71H&lt;br /&gt;
        MOV C,A &lt;br /&gt;
        POP B&lt;br /&gt;
        POP A&lt;br /&gt;
        POP PSW&lt;br /&gt;
        END&lt;br /&gt;
&lt;br /&gt;
Egy másik megoldás:&lt;br /&gt;
&lt;br /&gt;
        NULLBEOLV:  PUSH PSW&lt;br /&gt;
                RIM&lt;br /&gt;
                ANI 80H     ;10000000B&lt;br /&gt;
                JZ NULLBEOLV&lt;br /&gt;
                MOV A,B&lt;br /&gt;
                OUT 70H&lt;br /&gt;
        EGYBEOLV:   RIM&lt;br /&gt;
                ANI 80H&lt;br /&gt;
                JNZ EGYBEOLV&lt;br /&gt;
                IN 71H&lt;br /&gt;
                MOV C,A&lt;br /&gt;
                POP PSW&lt;br /&gt;
                JMP NULLBEOLV&lt;br /&gt;
&lt;br /&gt;
=== 3. c.) ===&lt;br /&gt;
Írjon 8085 assembly szubrutint, amely megvárja a SID jel változását (felfutó és lefutó él). A szubrutin kimenete:&lt;br /&gt;
* Z=1 felfutó él volt,&lt;br /&gt;
* Z=0 lefutó él volt!&lt;br /&gt;
* A szubrutin ne változtassa meg a regiszterpárok értékét!&lt;br /&gt;
&lt;br /&gt;
    RUTIN:  RIM&lt;br /&gt;
        ANI 80H     ;maszkolás, az SID értéke az A-ban lesz&lt;br /&gt;
        JZ FELFUT   ;ha az előbbi &amp;quot;és&amp;quot;-elés eredménye 0 (tehát a SID 0), akkor Z=1 -&amp;gt; ugrás a felfutójelhez&lt;br /&gt;
        JMP LEFUT   ;különben lefutó jelre várunk&lt;br /&gt;
    FELFUT: RIM&lt;br /&gt;
        ANI 80H     ;maszkolás&lt;br /&gt;
        JZ FELFUT   ;addig csináljuk amíg az eredmény 1 lesz (tehát a SID=1-re), Z=0-ra várunk&lt;br /&gt;
        XRA A       ;beállítjuk a Z-t 1-re&lt;br /&gt;
        JMP VEGE        ;ugrás végére&lt;br /&gt;
    LEFUT:  RIM&lt;br /&gt;
        ANI 80H&lt;br /&gt;
        JNZ FELFUT  ;ha Z=1, akkor az &amp;quot;és&amp;quot;-elés eredménye:0, tehát tovább kell várni a SID= 1 -&amp;gt; 0 átmenetre&lt;br /&gt;
        MOV A,FFH   &lt;br /&gt;
        ORA A       ;Z:=0&lt;br /&gt;
    VEGE:   RET&lt;br /&gt;
&lt;br /&gt;
Egy másik megoldás:&lt;br /&gt;
&lt;br /&gt;
                MVI A,0&lt;br /&gt;
                RIM&lt;br /&gt;
                ANI 80H&lt;br /&gt;
                JZ IDE&lt;br /&gt;
                MVI A,1&lt;br /&gt;
        IDE:        CALL IDERUTIN&lt;br /&gt;
                HALT&lt;br /&gt;
        IDERUTIN:   ANI FF&lt;br /&gt;
                JZ VAREGYRE&lt;br /&gt;
        VARNULLRA:  RIM&lt;br /&gt;
                ANI 80H&lt;br /&gt;
                JNZ VARNULLRA&lt;br /&gt;
                RZ&lt;br /&gt;
        VAREGYRE:   RIM&lt;br /&gt;
                ANI 80H&lt;br /&gt;
                JZ VAREGYRE&lt;br /&gt;
                RNZ&lt;br /&gt;
&lt;br /&gt;
=== 3. d.) ===&lt;br /&gt;
Írjon 8085 assembly szubrutint, amely a HL regiszterpárban kapott kezdőcímű és 32 byte hosszúságú adatblokkhoz 1 byte-os ellenőrző összeget számol ki, és elhelyezi a blokkot követő rekeszben. A szubrutin végén az akkumulátor az ellenőrző összeget tartalmazza! (A rutin bármely regiszter értékét elronthatja)!&lt;br /&gt;
&lt;br /&gt;
Az ellenőrző összeg számítási algoritmusa: X(i) mod 256   0&amp;lt;i&amp;lt;32&lt;br /&gt;
&lt;br /&gt;
    RUTIN:  MVI C,32        ;32 byte hosszúságú adatblokk&lt;br /&gt;
        XRA A       ;A:=0&lt;br /&gt;
    CIKLUS: ADD M       ;A+HL-&amp;gt; A&lt;br /&gt;
        INX H       ;forrásmutató növelése&lt;br /&gt;
        DCR C       &lt;br /&gt;
        JNZ CIKLUS  ;ha végigértünk akkor Z=1&lt;br /&gt;
        MOV M,A     ;a blokkot követő részen az ellenőrző összeg&lt;br /&gt;
        RET&lt;br /&gt;
&lt;br /&gt;
Egy másik megoldás:&lt;br /&gt;
                LXI D,0     ;reszosszeg kinullazasa&lt;br /&gt;
                LXI H, KC   ;kezdocim&lt;br /&gt;
                LXI B, 32   ;db&lt;br /&gt;
            HUROK:  MOV A,M&lt;br /&gt;
                CALL OSSZEGZO&lt;br /&gt;
                INX H&lt;br /&gt;
                DCX B&lt;br /&gt;
                MOV A,C&lt;br /&gt;
                ORA B&lt;br /&gt;
                JNZ HUROK&lt;br /&gt;
                MOV M,E     ;E-ben van a mod256 reszosszeg&lt;br /&gt;
            &lt;br /&gt;
            OSSZEGZO:&lt;br /&gt;
                PUSH H&lt;br /&gt;
                MOV L,A&lt;br /&gt;
                MVI H,0&lt;br /&gt;
                DAD D&lt;br /&gt;
                XCHG&lt;br /&gt;
                POP H&lt;br /&gt;
                RET&lt;br /&gt;
&lt;br /&gt;
=== 3. e.) ===&lt;br /&gt;
Írjon assembly programot amely kivonja két memóriában elhelyezkedő 32 szavas memóriatömbök egyes szavait és az eredményeket visszahelyezi egy újabb memóriaterületre! A 2 byte-os szavak felső 8 bitjét a kisebb című (páros) byte, az alsó 8 bitet a következő (páratlan) cím tárolja!&lt;br /&gt;
    (9000H,9001H) = (9100H,9101H) - (9200H,9201H) ... stb.&lt;br /&gt;
* Írja meg a kivonó programot!&lt;br /&gt;
* A kivonások elvégzése után a 9000H-n kezdődő 32 szavas memória terület után helyezzen el egy olyan byte-ot, amely megadja, hogy a 32 eredmény szó közül mennyi a pozitív szám feltételezve, hogy az operandusok (és az eredmény) 16 bites kettes komplemens kódban van ábrázolva. &lt;br /&gt;
&lt;br /&gt;
        LXI B,9000H&lt;br /&gt;
        LXI D,9101H&lt;br /&gt;
        LXI H,9201H&lt;br /&gt;
        MVI E,32H   ;2*32 szót vonunk ki egymásból  &lt;br /&gt;
    KIVON:  STC     ;CY:=1&lt;br /&gt;
        CMC     ;CY:=/CY -&amp;gt; CY:=0&lt;br /&gt;
        LDAX A,D        ;9101H-n található adatot betölti az A-ba&lt;br /&gt;
        SBB M       ;A-(HL által mutatott címen levő adat)-CY , ha van átvitel akkor CY=1 lesz&lt;br /&gt;
        STAX B      ;B által mutatott címre A tartalmát helyezi&lt;br /&gt;
        DCX B       &lt;br /&gt;
        DCX D&lt;br /&gt;
        DCX H&lt;br /&gt;
        LDAX A,D        ;9100H-n található adat megy az A-ba&lt;br /&gt;
        SBB M       ;A-M-CY&lt;br /&gt;
        STAX B      ;9000H-n a kivonás eredménye (2 byte-on)&lt;br /&gt;
        INX H&lt;br /&gt;
        INX H&lt;br /&gt;
        INX D&lt;br /&gt;
        INX D&lt;br /&gt;
        INX B&lt;br /&gt;
        INX B&lt;br /&gt;
        DCR E&lt;br /&gt;
        JNZ KIVON&lt;br /&gt;
        MVI E,32H   ;32 szavat vizsgálunk meg&lt;br /&gt;
        MVI D,0H        ;a pozitív számok számát ebben tároljuk &lt;br /&gt;
    SZAMOL: LXI B,9000H &lt;br /&gt;
        ANI 80H     ;ha a MSB (legfelső bit)=1 akkor a szám negatív&lt;br /&gt;
        JZ TOVABB   ;ha szám negatív, akkor Z=1 és nem kell növelni&lt;br /&gt;
        INR D   &lt;br /&gt;
    TOVABB: INX H       &lt;br /&gt;
        INX H&lt;br /&gt;
        DCR E       &lt;br /&gt;
        JNZ SZAMOL&lt;br /&gt;
        END&lt;br /&gt;
&lt;br /&gt;
Egy másik megoldás:&lt;br /&gt;
            XPOINTER EQU 9080H&lt;br /&gt;
            YPOINTER EQU 9082H&lt;br /&gt;
            ZPOINTER EQU 9084H  ;ideiglenes regiszterpárok, KIHASZNÁLATLAn ramterület, senkit nem zavar&lt;br /&gt;
            X EQU 9100H&lt;br /&gt;
            Y EQU 9200H&lt;br /&gt;
            Z EQU 9000H&lt;br /&gt;
 &lt;br /&gt;
            LXI H,X         ;ebbol&lt;br /&gt;
            SHLD XPOINTER&lt;br /&gt;
            LXI H,Y         ;ezt&lt;br /&gt;
            SHLD YPOINTER&lt;br /&gt;
            LXI H,Z         ;ide(eredmény)&lt;br /&gt;
            SHLD ZPOINTER&lt;br /&gt;
             &lt;br /&gt;
        CIKLUS: CALL CIKLUSMAG&lt;br /&gt;
            LXI B, X+32*2&lt;br /&gt;
            LHLD XPOINTER&lt;br /&gt;
            MOV A,H&lt;br /&gt;
            CMP B&lt;br /&gt;
            JNZ CIKLUS&lt;br /&gt;
            MOV A,L&lt;br /&gt;
            CMP C&lt;br /&gt;
            JNZ CIKLUS&lt;br /&gt;
            HALT&lt;br /&gt;
 &lt;br /&gt;
        CIKLUSMAG:&lt;br /&gt;
            LHLD XPOINTER       ;H=91,L=00&lt;br /&gt;
            MOV D,M&lt;br /&gt;
            INX H&lt;br /&gt;
            MOV E,M         ;DE=ebbol&lt;br /&gt;
            INX H&lt;br /&gt;
            SHLD XPOINTER&lt;br /&gt;
            LHLD YPOINTER&lt;br /&gt;
            MOV A,M&lt;br /&gt;
            CMA&lt;br /&gt;
            MOV B,A&lt;br /&gt;
            INX H&lt;br /&gt;
            MOV A,M&lt;br /&gt;
            CMA&lt;br /&gt;
            MOV C,A&lt;br /&gt;
            INX B           ;BC-ben kivonando kettes komplemense(-1szerese)         &lt;br /&gt;
            INX H           &lt;br /&gt;
            SHLD YPOINTER&lt;br /&gt;
            XCHG            ;HL-ben ebbol&lt;br /&gt;
            DAD B&lt;br /&gt;
            XCHG            ;DE-ben eredmeny&lt;br /&gt;
            LHLD ZPOINTER&lt;br /&gt;
            MOV M,D&lt;br /&gt;
            INX H&lt;br /&gt;
            MOV M,E&lt;br /&gt;
            INX H&lt;br /&gt;
            SHLD ZPOINTER&lt;br /&gt;
            RET&lt;br /&gt;
&lt;br /&gt;
=== 3. f.) ===&lt;br /&gt;
Írjon assembly szubrutint amely kivonja két, a memóriában elhelyezkedő 64 byte-os memóriatömb egyes byte-jait és az eredményeket visszahelyezi az első operandus helyére! Az operandusok kezdőcímeit a szubrutin a HL és DE regiszterpárokban kapja. A kivonások elvégzése után a rutin az BC regiszter-párban kapott címtől kezdődően helyezzen el egy olyan byte-ot, amely megadja, hogy a 64 eredmény byte közül mennyi a pozitív szám (&amp;gt;0), egy másik byte-ot, hogy mennyi a negatív szám (&amp;lt;0), és egy harmadik byte-ot, hogy hány érték volt 0 (=0). (Az operandusok és az eredmény 8 bites kettes komplemens kódban vannak ábrázolva.)&lt;br /&gt;
* Írja meg a szubrutint!&lt;br /&gt;
* Írja meg azt a programrészletet, amely meghívja a szubrutint a HL=8000h, DE=8800h és BC=9000h paraméterekkel, majd ellenőrzi, hogy a 9000h címtől kezdődő 3 byte összege valóban 64.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    RUTIN:  PUSH B      ;kimentjük BC-t,mert a számlálónak a B-t használjuk fel&lt;br /&gt;
        PUSH H      ;a későbbi vizsgálat során az eredeti címtől indulunk, így ezt is kimentjük&lt;br /&gt;
        MVI B,64        &lt;br /&gt;
        XCHG        ;HL és DE felcserélése&lt;br /&gt;
    KIVON:  LDAX D      ;az A-ba betölti a DE (eredetileg HL) által mutatott címen lévő adatot&lt;br /&gt;
        SUB M       ;így DE-ből kivonjuk a HL-t&lt;br /&gt;
        STAX D      ;DE által mutatott címre visszahelyezzük az eredményt&lt;br /&gt;
        INX D       &lt;br /&gt;
        INX H&lt;br /&gt;
        DCR B       &lt;br /&gt;
        JNZ KIVON   ;ha végigértünk a 64 byte-on, akkor Z=1 lesz&lt;br /&gt;
        XCHG        ;HL és DE visszacserélése&lt;br /&gt;
        &lt;br /&gt;
        POP B&lt;br /&gt;
        POP H&lt;br /&gt;
        PUSH H      &lt;br /&gt;
        MVI D,0     &lt;br /&gt;
        MVI E,64&lt;br /&gt;
    POZ:    MOV A,M     ;A-ban a HL által mutatott címen lévő byte&lt;br /&gt;
        ANI 80H     ;maszkolás az előjel bitre&lt;br /&gt;
        JNZ PT      ;ha az előjel bit=1, akkor Z=0 és akkor negatív, így kihagyjuk a D növelését&lt;br /&gt;
        INR D       ;ha Z=1, akkor a szám pozitív és növeljük D-t&lt;br /&gt;
    PT: DCR E       &lt;br /&gt;
        JNZ POZ     ;amíg végig nem értünk Z=0&lt;br /&gt;
        MOV A,D     ;D-ben van a pozitív számok darabszáma&lt;br /&gt;
        STAX B      ;B címére elhelyezzük a darabszámot&lt;br /&gt;
        INX B       ;a B következő címére kerül a negatív számok darabszáma&lt;br /&gt;
&lt;br /&gt;
    ;pepita...&lt;br /&gt;
        POP H       &lt;br /&gt;
        PUSH H&lt;br /&gt;
        MVI D,0&lt;br /&gt;
        MVI E,64    &lt;br /&gt;
    NEG:    MOV A,M&lt;br /&gt;
        ANI 80H&lt;br /&gt;
        JZ NT&lt;br /&gt;
        INR D&lt;br /&gt;
    NT: DCR E&lt;br /&gt;
        JNZ NEG&lt;br /&gt;
        MOV A,D&lt;br /&gt;
        STAX B&lt;br /&gt;
        INX B       ;a B következő címére kerül a 0 értékű számok darabszáma&lt;br /&gt;
        &lt;br /&gt;
    ;0-k száma, pepita&lt;br /&gt;
        POP H&lt;br /&gt;
        MVI D,0&lt;br /&gt;
        MVI E,64&lt;br /&gt;
    NULL:   MOV A,M&lt;br /&gt;
        ORA 00H     ;egyedül itt van különbség, ha byte csupa 0, csak akkor lesz ORA 0H = 0-val és ezzel együtt Z=1&lt;br /&gt;
        JNZ NULT&lt;br /&gt;
        INR D&lt;br /&gt;
    NULT:   DCR E&lt;br /&gt;
        JNZ NEG&lt;br /&gt;
        MOV A,D&lt;br /&gt;
        STAX B&lt;br /&gt;
        RET&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Írja meg azt a programrészletet, amely meghívja a szubrutint a HL=8000h, DE=8800h és BC=9000h paraméterekkel, majd ellenőrzi, hogy a 9000h címtől kezdődő 3 byte összege valóban 64.  &lt;br /&gt;
        &lt;br /&gt;
        LXI H,8000H&lt;br /&gt;
        LXI D,8800H&lt;br /&gt;
        LXI B,9000H&lt;br /&gt;
        CALL RUTIN&lt;br /&gt;
        MOV C,0&lt;br /&gt;
        MOV D,3&lt;br /&gt;
        STC&lt;br /&gt;
        CMC&lt;br /&gt;
    ELL:    LDAX B&lt;br /&gt;
        ADC C&lt;br /&gt;
        MOV C,A&lt;br /&gt;
        DCR D&lt;br /&gt;
        JNZ ELL&lt;br /&gt;
        MOV A,64&lt;br /&gt;
        CMP C&lt;br /&gt;
        JZ JO&lt;br /&gt;
        STC     ;ezt itt a feladat nem kéri, de utólag vhogy el kell tudni dönteni, hogy az összeg valóban 64-e&lt;br /&gt;
        CMC     ;ezért ha nem jó akkor CY flag értéke 0 lesz, jó összeg esetén 1&lt;br /&gt;
        JMP VEGE        &lt;br /&gt;
    JO:     STC&lt;br /&gt;
    VEGE:   END&lt;br /&gt;
&lt;br /&gt;
Egy másik megoldás:&lt;br /&gt;
&lt;br /&gt;
        KISERED EQU 8000H&lt;br /&gt;
        KIVONANDO EQU 8800H&lt;br /&gt;
        ELOJEL EQU 9000H            &lt;br /&gt;
 &lt;br /&gt;
        LXI H,KISERED&lt;br /&gt;
        LXI D,KIVONANDO&lt;br /&gt;
                    ;LXI B,ELOJEL ;ELOJEL=POZITÍVAK, ELOJEL+1=negatívak, ELOJEL+2=nullák&lt;br /&gt;
        &lt;br /&gt;
    CIKLUS: MOV A,M&lt;br /&gt;
        PUSH PSW&lt;br /&gt;
        LDAX D&lt;br /&gt;
        MOV B,A&lt;br /&gt;
        POP PSW&lt;br /&gt;
        SUB B           ;AKKUMULÁTORBAN EREDMÉNY&lt;br /&gt;
        MOV M,A&lt;br /&gt;
        JZ NULL&lt;br /&gt;
        JP POZ&lt;br /&gt;
        PUSH H          ;(NEGATÍV ÁG)   &lt;br /&gt;
        LHLD ELOJEL+1&lt;br /&gt;
        INX H&lt;br /&gt;
        SHLD ELOJEL+1&lt;br /&gt;
        POP H&lt;br /&gt;
        JMP ELLEN&lt;br /&gt;
    NULL:   PUSH H          ;(0 ÁG) &lt;br /&gt;
        LHLD ELOJEL+2&lt;br /&gt;
        INX H&lt;br /&gt;
        SHLD ELOJEL+2&lt;br /&gt;
        POP H&lt;br /&gt;
        JMP ELLEN       &lt;br /&gt;
    POZ:    PUSH H          ;(POZITÍV ÁG)   &lt;br /&gt;
        LHLD ELOJEL&lt;br /&gt;
        INX H&lt;br /&gt;
        SHLD ELOJEL&lt;br /&gt;
        POP H&lt;br /&gt;
    ELLEN:  INX H&lt;br /&gt;
        INX D&lt;br /&gt;
        LXI B,KISERED+64&lt;br /&gt;
        MOV A,H&lt;br /&gt;
        CMP B&lt;br /&gt;
        JNZ CIKLUS&lt;br /&gt;
        MOV A,L&lt;br /&gt;
        CMP C&lt;br /&gt;
        JNZ CIKLUS&lt;br /&gt;
        LXI B,ELOJEL&lt;br /&gt;
 &lt;br /&gt;
        LXI H,ELOJEL&lt;br /&gt;
        MOV A,M&lt;br /&gt;
        INX H&lt;br /&gt;
        ADD M&lt;br /&gt;
        INX H&lt;br /&gt;
        ADD M&lt;br /&gt;
        CPI 64&lt;br /&gt;
        JZ JO&lt;br /&gt;
    NEMJO:  NOP         ;NEM JO!!!!!!!!!!&lt;br /&gt;
    JO: HALT&lt;br /&gt;
&lt;br /&gt;
=== 3. g.) ===&lt;br /&gt;
Írjon assembly szubrutint, amely a HL regiszterpárban kapott címen elhelyezkedő 00h végjelre végződő&lt;br /&gt;
karakterstringben megkeresi az első &#039;1&#039; számjegyet. (az ’1’ számjegy ASCII kódja 31h). Találat esetén a szubrutinból visszatéréskor a HL regiszterpár mutasson a megtalált karakter címére és CY = 0 legyen. Ha a keresett karakter nem található, akkor a szubrutin CY=1 értékkel térjen vissza. (Ilyenkor a HL regiszterpár a 00h végjelre mutasson.&lt;br /&gt;
&lt;br /&gt;
    RUTIN:  MVI B,00H&lt;br /&gt;
    KERES:  MVI A,31H&lt;br /&gt;
        CMP M       ;megnézzük, hogy a HL által mutatott címen lévő adat 31H-e&lt;br /&gt;
        JNZ TOV     &lt;br /&gt;
        JMP VEGT        ;ha megtaláltuk az &#039;1&#039; számjegyet, akkor Z=1 és ugrunk a VEGT (VÉGe és Találtunk)&lt;br /&gt;
 &lt;br /&gt;
    TOV:    MOV A,B     ;00 végjel figyelésére szolgál&lt;br /&gt;
        CMP M       ;ha HL által mutatott címen 00H található, akkor és csak akkor a kivonás eredménye 0 (Z=1)&lt;br /&gt;
        JZ VEGNT        ;ugrás a VÉGe és Nem Találtunk részre&lt;br /&gt;
        INX H       ;mutató növelése&lt;br /&gt;
        JMP KERES   &lt;br /&gt;
 &lt;br /&gt;
    VEGT:   STC     ;a HL címe ekkor automatikusan a keresett karakterre mutat, így csak a CY flaget kell állítani&lt;br /&gt;
        CMC     &lt;br /&gt;
        JMP VEGE&lt;br /&gt;
 &lt;br /&gt;
    VEGNT:  STC     ;itt is a megfelelő helyre mutat a HL, így csak CY:=1-t állítunk&lt;br /&gt;
         &lt;br /&gt;
    VEGE:   RET&lt;br /&gt;
&lt;br /&gt;
Egy másik megoldás:&lt;br /&gt;
        KC EQU 9100H        ;egyéni&lt;br /&gt;
        &lt;br /&gt;
    CIKLUS: MOV A,M&lt;br /&gt;
        CPI 31H&lt;br /&gt;
        JZ TALALT&lt;br /&gt;
        CPI 0&lt;br /&gt;
        JZ NULLTALALT           &lt;br /&gt;
        INX H&lt;br /&gt;
        JMP CIKLUS&lt;br /&gt;
    TALALT: STC&lt;br /&gt;
        CMC&lt;br /&gt;
        JMP VEGE&lt;br /&gt;
    NULLTALALT: STC&lt;br /&gt;
    VEGE:   HALT&lt;br /&gt;
&lt;br /&gt;
=== 3. h.) ===&lt;br /&gt;
Írjon assembly szubrutint, amely a HL regiszterpárban kapott címtől kezdődően átmásol 32 bájtot a DE regiszterpárban megadott kezdőcímen kezdődő memóriaterületre. A megoldás során ügyeljen arra, hogy a rutin ne változtassa meg a flag-ek állapotát és a BC regiszterpár értékét!&lt;br /&gt;
&lt;br /&gt;
Írjon assembly programrészletet, amely SID=1 esetén várakozzon SID=0-ra, majd SID=0 esetén a fenti szubrutin&lt;br /&gt;
meghívásával másoljon át 32 bájtot a 9000h memóriacímről a 9150h címre.&lt;br /&gt;
&lt;br /&gt;
    RUTIN:  PUSH PSW&lt;br /&gt;
        PUSH B&lt;br /&gt;
        &lt;br /&gt;
        MVI B,32&lt;br /&gt;
    MASOL:  XCHG        ;DE felcserélése HL-lel&lt;br /&gt;
        LDAX D      ;DE (=eredetileg HL) beírása az A-ba&lt;br /&gt;
        XCHG        ;visszacsere&lt;br /&gt;
        STAX D      ;beírjuk A-t az eredeti DE által mutatott címre&lt;br /&gt;
        INX H&lt;br /&gt;
        INX D&lt;br /&gt;
        DCR B   &lt;br /&gt;
        JNZ MASOL&lt;br /&gt;
        POP PSW&lt;br /&gt;
        POP B&lt;br /&gt;
        RET&lt;br /&gt;
&lt;br /&gt;
    ;programrészlet:&lt;br /&gt;
    VAR:    RIM&lt;br /&gt;
        ANI 80H&lt;br /&gt;
        JNZ VAR&lt;br /&gt;
        LXI H,9000H&lt;br /&gt;
        LXI D,9150H&lt;br /&gt;
        CALL RUTIN&lt;br /&gt;
        END&lt;br /&gt;
&lt;br /&gt;
Egy másik megoldás:&lt;br /&gt;
     VAR:    RIM&lt;br /&gt;
        ANI 80H     ;10000000B&lt;br /&gt;
        JNZ VAR&lt;br /&gt;
        LXI H,9000H&lt;br /&gt;
        LXI D,9150H&lt;br /&gt;
        CALL MASOL&lt;br /&gt;
        HALT&lt;br /&gt;
&lt;br /&gt;
            ;HL-ben és DE-ben már megvan a kezdõcímünk..&lt;br /&gt;
    &lt;br /&gt;
    MASOL:  PUSH PSW&lt;br /&gt;
        PUSH B&lt;br /&gt;
        LXI B,32&lt;br /&gt;
    CIKLUS: MOV A,M&lt;br /&gt;
        STAX D&lt;br /&gt;
        INX H&lt;br /&gt;
        INX D   &lt;br /&gt;
        DCX B&lt;br /&gt;
        MOV A,C&lt;br /&gt;
        ORA B&lt;br /&gt;
        JNZ CIKLUS&lt;br /&gt;
        POP B&lt;br /&gt;
        POP PSW&lt;br /&gt;
        RET&lt;br /&gt;
&lt;br /&gt;
=== 3. i.) ===&lt;br /&gt;
&lt;br /&gt;
Írjon assembly szubrutint, amely a DE regiszterpárban kapott címtől kezdődő 16 bájtot a blokk végétől kezdve visszafelé átmásol a HL regiszterpárban megadott címen kezdődő memóriaterületre (A forrás-blokk utolsó byte-ja van a cél-blokk első helyén). A megoldás során ügyeljen arra, hogy a rutin ne változtassa meg a flag-ek állapotát és a regiszterpárok értékét!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    RUTIN:  PUSH PSW&lt;br /&gt;
        PUSH B&lt;br /&gt;
        PUSH D&lt;br /&gt;
        PUSH H&lt;br /&gt;
        MVI B,16&lt;br /&gt;
    ;a DE-t megnöveljük 16-tal&lt;br /&gt;
    DENOV:  INX D&lt;br /&gt;
        DCR B&lt;br /&gt;
        JNZ DENOV   &lt;br /&gt;
        MVI B,16&lt;br /&gt;
    MASOL:  LDAX D&lt;br /&gt;
        XCHG&lt;br /&gt;
        STAX D&lt;br /&gt;
        XCHG&lt;br /&gt;
        INX H&lt;br /&gt;
        DCX D&lt;br /&gt;
        DCR B&lt;br /&gt;
        JNZ MASOL&lt;br /&gt;
        POP H&lt;br /&gt;
        POP D&lt;br /&gt;
        POP B&lt;br /&gt;
        POP PSW&lt;br /&gt;
        RET&lt;br /&gt;
&lt;br /&gt;
Egy másik megoldás:&lt;br /&gt;
        PUSH PSW&lt;br /&gt;
        PUSH B&lt;br /&gt;
        PUSH D&lt;br /&gt;
        PUSH H&lt;br /&gt;
        &lt;br /&gt;
        PUSH H&lt;br /&gt;
        LXI B,16&lt;br /&gt;
        DAD B&lt;br /&gt;
        MOV B,H&lt;br /&gt;
        MOV C,L&lt;br /&gt;
        XCHG&lt;br /&gt;
        LXI D,15&lt;br /&gt;
        DAD D&lt;br /&gt;
        XCHG&lt;br /&gt;
        POP H&lt;br /&gt;
        &lt;br /&gt;
    CIKLUS: LDAX D&lt;br /&gt;
        MOV M,A&lt;br /&gt;
        INX H&lt;br /&gt;
        DCX D&lt;br /&gt;
        MOV A,H&lt;br /&gt;
        CMP B&lt;br /&gt;
        JNZ CIKLUS&lt;br /&gt;
        MOV A,L&lt;br /&gt;
        CMP C&lt;br /&gt;
        JNZ CIKLUS&lt;br /&gt;
        &lt;br /&gt;
        POP H&lt;br /&gt;
        POP D&lt;br /&gt;
        POP B&lt;br /&gt;
        POP PSW&lt;br /&gt;
&lt;br /&gt;
=== 3. j.) ===&lt;br /&gt;
Írjon assembly szubrutint, amely a DE regiszterpárban kapott címtől kezdődő 16 bájtban megszámolja a negatív&lt;br /&gt;
számokat (feltételezve, hogy az adatok 8 bites kettes komplemensben ábrázolt előjeles számok), és a kapott eredményt elhelyezi a 8000h memória rekeszbe. A megoldás során ügyeljen arra, hogy a rutin ne változtassa meg a flag-ek állapotát és a regiszterpárok értékét!   &lt;br /&gt;
&lt;br /&gt;
    RUTIN:  PUSH PSW&lt;br /&gt;
        PUSH B&lt;br /&gt;
        PUSH D&lt;br /&gt;
        MVI B,16&lt;br /&gt;
        MVI C,0 &lt;br /&gt;
    SZAMOL: LDAX D&lt;br /&gt;
        ANI 80H&lt;br /&gt;
        JZ NEMNEG&lt;br /&gt;
        INR C       ;ha Z=0, akkor negatív a számunk, ekkor növelünk&lt;br /&gt;
    NEMNEG: DCR B&lt;br /&gt;
        JNZ SZAMOL&lt;br /&gt;
        MOV A,C&lt;br /&gt;
        STA 8000H&lt;br /&gt;
        POP D&lt;br /&gt;
        POP B&lt;br /&gt;
        POP PSW&lt;br /&gt;
        RET&lt;br /&gt;
&lt;br /&gt;
Egy másik megoldás:&lt;br /&gt;
&lt;br /&gt;
        PUSH PSW&lt;br /&gt;
        PUSH B&lt;br /&gt;
        PUSH D&lt;br /&gt;
        PUSH H&lt;br /&gt;
 &lt;br /&gt;
        LXI H,8000H&lt;br /&gt;
        MVI M,0&lt;br /&gt;
        MVI B,0&lt;br /&gt;
    CIKLUS: LDAX D&lt;br /&gt;
        ANI 80H&lt;br /&gt;
        CMP D       ;FELESLEGES&lt;br /&gt;
        JZ POZITIV&lt;br /&gt;
        INR M&lt;br /&gt;
    POZITIV:INX D&lt;br /&gt;
        INR B&lt;br /&gt;
        MOV A,B&lt;br /&gt;
        CPI 16&lt;br /&gt;
        JNZ CIKLUS&lt;br /&gt;
 &lt;br /&gt;
        POP H&lt;br /&gt;
        POP D&lt;br /&gt;
        POP B&lt;br /&gt;
        POP PSW&lt;br /&gt;
        HALT&lt;br /&gt;
&lt;br /&gt;
=== 3. k.) ===&lt;br /&gt;
Írjon assembly szubrutint, amely a HL regiszterpárban kapott címtől kezdődő 254 byte-os adatblokk végére kiszámít egy 2 byte-os ellenőrző szót (a blokk byte-jainak összeadásával), és elhelyezi az adatokat követően. A megoldás során ügyeljen arra, hogy a rutin ne változtassa meg a flag-ek állapotát és a regiszterpárok értékét!&lt;br /&gt;
&lt;br /&gt;
    RUTIN:  PUSH PSW&lt;br /&gt;
        PUSH B&lt;br /&gt;
        PUSH H&lt;br /&gt;
        PUSH D&lt;br /&gt;
        &lt;br /&gt;
        MVI B,254&lt;br /&gt;
        LXI D,0&lt;br /&gt;
        MVI A,0&lt;br /&gt;
    ELL:    PUSH H  &lt;br /&gt;
        MOV A,M     ;HL által mutatott címen lévő adat betöltése A-ba&lt;br /&gt;
        MOV L,A     ;a címen lévő adat, így már a címmutató regiszter alsó részén van (itt elfér nem kell hozzá a H reg)&lt;br /&gt;
        DAD D       ;HL+D -&amp;gt; HL&lt;br /&gt;
        XCHG        ;HL cseréje DE-vel (így DE-ben van az ellenőrző összeg)&lt;br /&gt;
        POP H       &lt;br /&gt;
        INX H       ;cím növelése&lt;br /&gt;
        DCR B&lt;br /&gt;
        JNZ ELL     ;amíg végig nem értünk&lt;br /&gt;
        MOV M,D     ;D betöltése a HL címre&lt;br /&gt;
        INX H&lt;br /&gt;
        MOV M,E     ;a következő byte-ra pedig az E kerül&lt;br /&gt;
            &lt;br /&gt;
        POP D&lt;br /&gt;
        POP H&lt;br /&gt;
        POP B&lt;br /&gt;
        POP PSW&lt;br /&gt;
        RET&lt;br /&gt;
&lt;br /&gt;
Egy másik megoldás:&lt;br /&gt;
&lt;br /&gt;
     PUSH PSW&lt;br /&gt;
     PUSH B&lt;br /&gt;
     PUSH D&lt;br /&gt;
     PUSH H&lt;br /&gt;
     &lt;br /&gt;
     XCHG            ;DE-ben kezdocim&lt;br /&gt;
     LXI H,0         ;reszosszeg HL-ben&lt;br /&gt;
     MVI A,0         ;itt számoljuk a 254 db-ot&lt;br /&gt;
 CIKLUS: PUSH PSW&lt;br /&gt;
     LDAX D&lt;br /&gt;
     MVI B,0&lt;br /&gt;
     MOV C,A&lt;br /&gt;
     DAD B&lt;br /&gt;
     INX D&lt;br /&gt;
     POP PSW&lt;br /&gt;
     INR A&lt;br /&gt;
     CPI 254&lt;br /&gt;
     JNZ CIKLUS&lt;br /&gt;
     MOV A,L&lt;br /&gt;
     STAX D&lt;br /&gt;
     INX D&lt;br /&gt;
     MOV A,H&lt;br /&gt;
     STAX D&lt;br /&gt;
     &lt;br /&gt;
     POP H&lt;br /&gt;
     POP D&lt;br /&gt;
     POP B&lt;br /&gt;
     POP PSW&lt;br /&gt;
&lt;br /&gt;
=== 3. l.) ===&lt;br /&gt;
Írjon assembly szubrutint, amely 15 byte adatot és egy byte ellenőrző karaktert tartalmazó üzenet átvitelét ellenőrzi. A szubrutin bemenete az üzenet kezdőcíme (HL-ben), kimenete legyen hibátlan átvitel esetén Z=1, hibás átvitelkor Z=0. A megoldás során ügyeljen arra, hogy a rutin ne változtassa meg a regiszterpárok (BC,DE,HL) értékét!&lt;br /&gt;
&lt;br /&gt;
    RUTIN:  PUSH B&lt;br /&gt;
        PUSH H&lt;br /&gt;
        PUSH D&lt;br /&gt;
        PUSH H&lt;br /&gt;
        XCHG        ;HL és DE cseréje&lt;br /&gt;
        MVI H,16        ;16 byte másolására fog sorra kerülni&lt;br /&gt;
        LXI B,0     ;ahova másolunk, az a 0-s címen található (feltesszük, hogy a HL címe és ez nem lapolódik össze)&lt;br /&gt;
        PUSH B&lt;br /&gt;
    MASOL:  LDAX D      ;DE által mutatot cím tartalma az A-ban lesz&lt;br /&gt;
        STAX B      ;az A tartalma a BC címre kiíródik&lt;br /&gt;
        INX D&lt;br /&gt;
        INX B&lt;br /&gt;
        DCR H&lt;br /&gt;
        JNZ MASOL&lt;br /&gt;
        &lt;br /&gt;
        POP B       ;a BC-t visszacsökkentjük az eredetire&lt;br /&gt;
        MVI D,16&lt;br /&gt;
    ELL:    LDAX B      ;a BC-n és HL-n található byte-okat kivonogatjuk egymásból&lt;br /&gt;
        SUB M&lt;br /&gt;
        JZ HIBA     ;ha a kivonás eredménye 1, akkor hiba van&lt;br /&gt;
        DCR D   &lt;br /&gt;
        JNZ ELL &lt;br /&gt;
    NOHIBA: XRA A       ;Z-t 1-be állítjuk&lt;br /&gt;
        JMP VEGE        ;és átugorjuk a HIBA részt&lt;br /&gt;
    HIBA:   MOV A,FFH&lt;br /&gt;
        ORA A       ;ezzel a Z-t 0-ba állítottuk&lt;br /&gt;
    VEGE:   POP D&lt;br /&gt;
        POP H&lt;br /&gt;
        POP B&lt;br /&gt;
        RET&lt;br /&gt;
&lt;br /&gt;
Egy másik megoldás:&lt;br /&gt;
&lt;br /&gt;
 RUTIN:&lt;br /&gt;
     PUSH B&lt;br /&gt;
     PUSH D&lt;br /&gt;
     PUSH H          &lt;br /&gt;
     &lt;br /&gt;
     XCHG&lt;br /&gt;
     LXI H,0&lt;br /&gt;
     MVI A,0&lt;br /&gt;
 CIKLUS: PUSH PSW&lt;br /&gt;
     LDAX D&lt;br /&gt;
     MVI B,0 &lt;br /&gt;
     MOV C,A&lt;br /&gt;
     DAD B&lt;br /&gt;
     INX D&lt;br /&gt;
     POP PSW&lt;br /&gt;
     INR A&lt;br /&gt;
     CPI 15&lt;br /&gt;
     JNZ CIKLUS&lt;br /&gt;
     LDAX D&lt;br /&gt;
     CMP L       ;BE VAN ALLITVA A Z FLAG&lt;br /&gt;
 &lt;br /&gt;
     POP H&lt;br /&gt;
     POP D&lt;br /&gt;
     POP B&lt;br /&gt;
 &lt;br /&gt;
     RET&lt;br /&gt;
&lt;br /&gt;
=== 3. m.) ===&lt;br /&gt;
&lt;br /&gt;
Írjon Intel 8085 mikroprocesszor assembly nyelvén a PORTOLV szubrutint, amely a a CPU SID jelének 0 -&amp;gt; 1 átmenetére beolvassa 64H I/O című portot és az adatot az akkumulátorban adja vissza a szubrutint meghívó&lt;br /&gt;
programrésznek.&lt;br /&gt;
&lt;br /&gt;
Írjon a OLV32 szubrutint, amely a PORTOLV szubrutin felhasználásával beolvas 32 byte-ot és elhelyezi a memória 2000H-201FH memóriatartományában. Az OLV32 szubrutin változatlan tartalommal adja vissza a meghívó&lt;br /&gt;
programnak a CPU regisztereket.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    PORTOLV:&lt;br /&gt;
    VAR1:   RIM&lt;br /&gt;
        ANI 80H&lt;br /&gt;
        JNZ VAR1        ;ha SID=0, akkor Z=1 lesz és akkor mehetünk tovább&lt;br /&gt;
    VAR2:   RIM&lt;br /&gt;
        ANI 80H&lt;br /&gt;
        JZ VAR2     ;megvárjuk, míg SID=1 lesz  &lt;br /&gt;
        IN 64H&lt;br /&gt;
        RET&lt;br /&gt;
&lt;br /&gt;
    OLV32:  PUSH PSW&lt;br /&gt;
        PUSH B&lt;br /&gt;
        PUSH D&lt;br /&gt;
        LXI B,2000H&lt;br /&gt;
        MVI D,32&lt;br /&gt;
    MASOL:  CALL PORTOLV&lt;br /&gt;
        STAX B&lt;br /&gt;
        INX B&lt;br /&gt;
        DCR D&lt;br /&gt;
        JNZ MASOL&lt;br /&gt;
        &lt;br /&gt;
        POP D&lt;br /&gt;
        POP B&lt;br /&gt;
        POP PSW&lt;br /&gt;
        RET&lt;br /&gt;
&lt;br /&gt;
Egy másik megoldás:&lt;br /&gt;
     &lt;br /&gt;
 PORTOLV:&lt;br /&gt;
     RIM&lt;br /&gt;
     ANI 80H&lt;br /&gt;
     JZ PORTOLV&lt;br /&gt;
     IN 64H&lt;br /&gt;
     RET&lt;br /&gt;
 &lt;br /&gt;
 OLV32:&lt;br /&gt;
     PUSH PSW&lt;br /&gt;
     PUSH B&lt;br /&gt;
     PUSH D&lt;br /&gt;
     PUSH H&lt;br /&gt;
     &lt;br /&gt;
     KC EQU 2000H&lt;br /&gt;
     VC EQU 201FH&lt;br /&gt;
     LXI H,KC&lt;br /&gt;
     LXI D,VC+1&lt;br /&gt;
 CIKLUS: &lt;br /&gt;
     CALL PORTOLV&lt;br /&gt;
     MOV M,A&lt;br /&gt;
     INX H&lt;br /&gt;
     MOV A,L&lt;br /&gt;
     CMP E&lt;br /&gt;
     JNZ CIKLUS&lt;br /&gt;
     MOV A,H&lt;br /&gt;
     CMP D&lt;br /&gt;
     JNZ CIKLUS&lt;br /&gt;
     &lt;br /&gt;
     POP H&lt;br /&gt;
     POP D&lt;br /&gt;
     POP B&lt;br /&gt;
     POP PSW&lt;br /&gt;
     RET&lt;br /&gt;
&lt;br /&gt;
=== 3. n.) ===&lt;br /&gt;
Írja meg a SENDBYTE 8085 assembly szubrutint, amely a következő specifikáció szerint működik:&lt;br /&gt;
A szubrutin feladata a mellékelt ábrán specifikált hand-shake szekvencia alapján a B regiszterben kapott adat byte továbbítása a 20H I/O címre. A megoldás során ügyeljen arra, hogy a szubrutin a flag-ek értékét ne változtassa meg! Rajzolja fel a szubrutin mellé a rutin folyamatábráját is!&lt;br /&gt;
&lt;br /&gt;
Hand-shake: rajz&lt;br /&gt;
* először megjelenik az érvényes adat a porton&lt;br /&gt;
* majd a SOD jel 0 -&amp;gt; 1 átmenete után (némi várakozás után min kb. 320 ns) a SID jel is 0 -&amp;gt; 1-be váltjuk&lt;br /&gt;
* utána a SOD 0-ba vált (ekkor a porton az adatvezeték nagyimpedanciás lesz/nem lesz adat), ezután a SID is 0-ba váltjuk&lt;br /&gt;
* a lényeg, hogy a SOD 1-be váltását követően de még a 0-ba váltását megelőzően ki kell olvasni az adatot és be kell állítani a megfelelő állapotba a SID-et&lt;br /&gt;
&lt;br /&gt;
Írjon 8085 assembly kódrészletet, mely a 2345h címtől kezdődő 34 byte adatot a SENDBYTE szubrutin segítségével továbbítja.&lt;br /&gt;
&lt;br /&gt;
    SENDBYTE:       ;ez túl sok karakternek tűnik :)&lt;br /&gt;
        PUSH PSW&lt;br /&gt;
    VAR:    RIM&lt;br /&gt;
        ANI 80H&lt;br /&gt;
        JNZ VAR&lt;br /&gt;
        MOV A,B&lt;br /&gt;
        OUT 20H&lt;br /&gt;
        RIM&lt;br /&gt;
        MVI A,0C0H  ;11000000B&lt;br /&gt;
        SIM&lt;br /&gt;
    WSID0:  RIM     &lt;br /&gt;
        ANI 80H&lt;br /&gt;
        JZ WSID0&lt;br /&gt;
        RET&lt;br /&gt;
&lt;br /&gt;
    ;programrészlet&lt;br /&gt;
        LXI D,2345H&lt;br /&gt;
        MVI H,34&lt;br /&gt;
    MASOL:  LDAX D&lt;br /&gt;
        MOV B,A&lt;br /&gt;
        CALL SENDBYTE&lt;br /&gt;
        DCR H&lt;br /&gt;
        JNZ MASOL&lt;br /&gt;
&lt;br /&gt;
Egy másik megoldás:&lt;br /&gt;
 SENDBYTE:&lt;br /&gt;
     RIM&lt;br /&gt;
     ANI 80H&lt;br /&gt;
     JNZ SENDBYTE&lt;br /&gt;
     MOV A,B&lt;br /&gt;
     OUT 20H&lt;br /&gt;
     RIM&lt;br /&gt;
     ORI C0H     ;11000000B&lt;br /&gt;
     SIM&lt;br /&gt;
 VARSID1:RIM&lt;br /&gt;
     ANI 80H&lt;br /&gt;
     JZ VARSID1&lt;br /&gt;
     RIM&lt;br /&gt;
     ANI 7FH     ;01111111B&lt;br /&gt;
     ORI 40H     ;01000000B&lt;br /&gt;
     RET&lt;br /&gt;
&lt;br /&gt;
=== 3. o.) ===&lt;br /&gt;
Írjon 8085 assembly szubrutint, amely a következő specifikáció szerint működik:&lt;br /&gt;
* A szubrutin (GETBLOCK) feladata a 80H I/O címen elhelyezkedő 8255 párhuzamos periféria illesztő A portján 1-es üzemmódban az RST 5.5 IT-vel érkező 32 byte-os adatblokk és a hozzá tartozó 1 byte-os ellenőrző összeg beolvasása. A rutin a beolvasott adatokat a 9000h címtől kezdődően helyezze el. Az ellenőrző összeg számítási algoritmusa:&lt;br /&gt;
* Ai mod 256  1=&amp;lt;i=&amp;lt;32&lt;br /&gt;
* A rutin Z=1-gyel jelezze, ha az ellenőrző összeg helyes, Z=0-val, ha hibás volt. Mindkét esetben az&lt;br /&gt;
akkumulátor a helyes (a számított) ellenőrző összeget tartalmazza! (A rutin bármely regiszter értékét elronthatja!)&lt;br /&gt;
&lt;br /&gt;
* Írja meg a 8255-öst felprogramozó szubrutint (A port: 1-es üzemmód, bemenet; B port: 0-ás üzemmód, kimenet; C port:&lt;br /&gt;
bemenet)&lt;br /&gt;
&lt;br /&gt;
    FELPROG:    &lt;br /&gt;
        MOV A,10111001B&lt;br /&gt;
        OUT 83H&lt;br /&gt;
        RET&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Írja meg azt az RST 5.5-ös IT rutint, amely a 8001h címen elhelyezkedő byte legmagasabb helyértékű bitjének&lt;br /&gt;
bebillentésével jelzi, ha beolvasott egy adatot. Az adat ilyenkor a 8000h memória címen található.  &lt;br /&gt;
&lt;br /&gt;
        ORG 2CH&lt;br /&gt;
    RST55:  LXI D,8001H&lt;br /&gt;
        LDAX D&lt;br /&gt;
        XRI 01H&lt;br /&gt;
        STAX D  &lt;br /&gt;
        RET&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Írja meg a GETBLK szubrutint, az RST 5.5-ös IT rutin használatával Feltételezheti, hogy a rutin hívásakor az RST5.5 IT már engedélyezve van, de ne feledkezzen meg arról, hogy inicializáláskor a megszakítást a 8255-ösben letiltottuk!&lt;br /&gt;
&lt;br /&gt;
    GETBLK: EI&lt;br /&gt;
        MVI B,32        ;32 byte beolvasása&lt;br /&gt;
        MVI C,0     ;az ellenőrző összeg számításához&lt;br /&gt;
        LXI D,9000H &lt;br /&gt;
    BEOLV:  IN 80H&lt;br /&gt;
        CALL RST55&lt;br /&gt;
        STAX D&lt;br /&gt;
        ADD C&lt;br /&gt;
        INX D&lt;br /&gt;
        DCR B&lt;br /&gt;
        JNZ BEOLV&lt;br /&gt;
        LDAX D      ;az ellenőrző összeg beolvasása, a 32 byte-os adatblokk után következik&lt;br /&gt;
        CMP C&lt;br /&gt;
        MOV A,C&lt;br /&gt;
        DI  &lt;br /&gt;
        RET&lt;br /&gt;
&lt;br /&gt;
Egy másik megoldás:&lt;br /&gt;
&lt;br /&gt;
 ORG 2CH:JMP 1000H&lt;br /&gt;
 ORG 1000H:&lt;br /&gt;
     IN 80H&lt;br /&gt;
     MOV M,A&lt;br /&gt;
     PUSH H&lt;br /&gt;
     XCHG        ;HL-ben RESZOSSZEG&lt;br /&gt;
     MOV E,A&lt;br /&gt;
     MVI D,0&lt;br /&gt;
     DAD D       ;HL-ben uj reszosszeg       &lt;br /&gt;
     XCHG        ;DE-ben .............&lt;br /&gt;
     POP H       ;HL-ben cim (9000H)&lt;br /&gt;
     INX H&lt;br /&gt;
     DCR C&lt;br /&gt;
     EI&lt;br /&gt;
     RET&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 RUTIN:  MVI A,B9H   ;10111001B&lt;br /&gt;
     OUT 83H&lt;br /&gt;
     LXI H,9000H&lt;br /&gt;
     LXI D,0&lt;br /&gt;
     MVI C,32&lt;br /&gt;
 KORBE:  MVI A,0&lt;br /&gt;
     CMP C&lt;br /&gt;
     JNZ KORBE&lt;br /&gt;
     MOV A,M&lt;br /&gt;
     CMP E&lt;br /&gt;
     MOV A,E         &lt;br /&gt;
     RET&lt;br /&gt;
&lt;br /&gt;
 ORG 2CH:JMP1000H&lt;br /&gt;
 ORG 1000H:&lt;br /&gt;
     LXI H,8001H&lt;br /&gt;
     MOV A,M&lt;br /&gt;
     ANI 01111111B&lt;br /&gt;
     MOV M,A&lt;br /&gt;
     IN 80H&lt;br /&gt;
     LXI H,8000H&lt;br /&gt;
     MOV M,A&lt;br /&gt;
     LXI H,8001H&lt;br /&gt;
     MOV A,M&lt;br /&gt;
     ORI 10000000B&lt;br /&gt;
     MOV M,A&lt;br /&gt;
     EI&lt;br /&gt;
     RET&lt;br /&gt;
&lt;br /&gt;
=== 3. p.) ===&lt;br /&gt;
&lt;br /&gt;
Készítse el egy 8251 típusú USART-ot tartalmazó soros adó/vevő áramkör terveit és az aszinkron vételi folyamatot megvalósító szubrutin programját.Az USART áramkör a 80h és 81h port címterületet foglalja el.&lt;br /&gt;
Írja meg az áramkört inicializáló és a vételi folyamatot engedélyező programrészt! Az átvitel paraméterei:&lt;br /&gt;
* aszinkron adás és vétel&lt;br /&gt;
* egyszeres Baud-rate&lt;br /&gt;
* 8 adatbit, páros paritás, 1 STOP bit&lt;br /&gt;
* adás letiltva, vétel engedélyezve&lt;br /&gt;
&lt;br /&gt;
    ;programrész&lt;br /&gt;
        MOV A,01111101B     ;119.o./ aszinkron átvitelre vonatkozó Mode Instruction&lt;br /&gt;
        OUT 80H&lt;br /&gt;
        MOV A,11100110B     ;121.o./ Command Instruciton&lt;br /&gt;
        OUT 80H         ;elvileg ugyanarra a címre kell küldeni, mint a Mode Instr.-t&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
Írja meg a 8251-es áramkörön keresztül 32 adatbyte-ot ciklikus lekérdezéssel beolvasó szubrutint, amely az adatot a memória 8000h - 801Fh tartományába írja be! A szubrutinban feltételezheti, hogy a vétel során nem lép fel hiba!&lt;br /&gt;
* a 116.o. alján találhatók szerint a 8251-esen keresztüli adatbeolvasáshoz a C/D(negált)-nak 0-nak kell lennie&lt;br /&gt;
* arra nem jöttem rá, hogy hogyan lehet ezt állítani, lehet, hogy a feladat szerint feltesszük azt, hogy a megfelelő állapotban van&lt;br /&gt;
&lt;br /&gt;
    BEOLV:  LXI D,8000H&lt;br /&gt;
        MVI C,32&lt;br /&gt;
    OLV:    IN 80H&lt;br /&gt;
        STAX D&lt;br /&gt;
        INX D&lt;br /&gt;
        DCR C&lt;br /&gt;
        JNZ OLV&lt;br /&gt;
&lt;br /&gt;
== 4. feladat ==&lt;br /&gt;
&lt;br /&gt;
=== 4. a.) ===&lt;br /&gt;
&lt;br /&gt;
    ;kód            ;PC    ;adatsín ;/RD v. /WR   ;megjegyzés&lt;br /&gt;
    -----------------------------------------------------------------------------------&lt;br /&gt;
    ORG 0000h                                  direktíva&lt;br /&gt;
    LXI SP,0h       0000   31H      /RD&lt;br /&gt;
                    0001   00       /RD&lt;br /&gt;
                    0002   00       /RD        SP=0000H&lt;br /&gt;
    RST 7           0003   FFH      /RD        itt ugrik a 0038H-ra    &lt;br /&gt;
                    FFFF   00       /WR&lt;br /&gt;
                    FFFD   04       /WR        ;SP=FFFD&lt;br /&gt;
    HLT                                        hát ez most kimarad!&lt;br /&gt;
    ORG 38h                                    direktíva&lt;br /&gt;
    XRA A           0038   AFH      /RD        kinullázza A-t, így Z flag=1 lesz&lt;br /&gt;
    LXI H,0F000h    0039   3AH      /RD&lt;br /&gt;
                    003A   00H      /RD&lt;br /&gt;
                    003B   F0H      /RD        HL=F000H&lt;br /&gt;
    MOV M,A         003C   77H      /RD        az F000H címre 0-t tölt be&lt;br /&gt;
    ORA M           003D   B6H      /RD        0 OR 0=0 -&amp;gt; Z=1&lt;br /&gt;
    JNZ 38h         003E   C2H      /RD        feltétel nem teljesül így csak 1 byte-os az ut.&lt;br /&gt;
    RET             003F   C9H      /RD        PC=0000 , SP=0002&lt;br /&gt;
&lt;br /&gt;
=== 4. f.) ===&lt;br /&gt;
&lt;br /&gt;
    ;kód            ;PC    ;adatsín ;/RD vagy /WR   ;megjegyzés&lt;br /&gt;
    --------------------------------------------------------------------&lt;br /&gt;
    ORG 0000h                             direktíva                                      &lt;br /&gt;
    LXI H,9000h     0000   21H     /RD&lt;br /&gt;
                    0001   00H     /RD&lt;br /&gt;
                    0002   90H     /RD    HL=9000H&lt;br /&gt;
    SPHL            0003   F9H     /RD    SP=HL=9000H&lt;br /&gt;
    LXI H,0100h     0004   21H     /RD    &lt;br /&gt;
                    0005   00H     /RD&lt;br /&gt;
                    0006   01H     /RD    HL=0100H&lt;br /&gt;
    PCHL            0007   E9H     /RD    PC=0100H&lt;br /&gt;
    HLT                                   ez most kimarad! (de később idejutunk)&lt;br /&gt;
    CALL 0102h                            ez is! (de ide később se jutunk el)&lt;br /&gt;
    ORG 0100h                             direktíva&lt;br /&gt;
    MVI A,45h       0100   3EH     /RD&lt;br /&gt;
                    0101   45H     /RD    A=45H&lt;br /&gt;
    LXI B,1234h     0102   01H     /RD    &lt;br /&gt;
                    0103   34H     /RD&lt;br /&gt;
                    0104   12H     /RD    BC=1234H&lt;br /&gt;
    XRA C           0105   A9H     /RD    A=34 XOR 45 =   00110100&lt;br /&gt;
                                                  XOR     01000101        &lt;br /&gt;
                                                          -----------&lt;br /&gt;
                                                          01110001= 71H =A, Z flag=0&lt;br /&gt;
    PUSH B          0106   C5H     /RD    &lt;br /&gt;
                    8FFF   34H     /WR&lt;br /&gt;
                    8FFE   12H     /WR    SP=8FFE&lt;br /&gt;
    XRA B           0107   A8H     /RD    A=01100010B= 62H ,  Z flag=0&lt;br /&gt;
    POP D           0108   D1H     /RD&lt;br /&gt;
                    8FFE   12H     /RD&lt;br /&gt;
                    8FFF   34H     /RD    D=1234H&lt;br /&gt;
    HLT             0109   76H     /RD    &lt;br /&gt;
    JMP 0008h       010A   C3H     /RD&lt;br /&gt;
                    010B   08H     /RD&lt;br /&gt;
                    010C   00H     /RD&lt;br /&gt;
    HLT:  ez kimarad mert előtte ugrunk az 1. HLT-re (PC=0008), ahol a progi befagy&lt;br /&gt;
&lt;br /&gt;
== 5. feladat ==&lt;br /&gt;
&lt;br /&gt;
=== 5. a.) ===&lt;br /&gt;
&lt;br /&gt;
Az alábbi kódrészlettel a 8000h címen elhelyezkedő 500 byte-os memóriaterület modulo 256-os ellenőrző&lt;br /&gt;
összegét szeretnénk kiszámolni, és a memória területet követő byte-ban eltárolni. A program hibásan működik.&lt;br /&gt;
Miért? &lt;br /&gt;
&lt;br /&gt;
        LXI H,8000h&lt;br /&gt;
        LXI D,500&lt;br /&gt;
        XRA A&lt;br /&gt;
    ciklus:     &lt;br /&gt;
        ADD M&lt;br /&gt;
        INX H&lt;br /&gt;
        DCX D&lt;br /&gt;
        JNZ ciklus&lt;br /&gt;
        MOV M,A&lt;br /&gt;
&lt;br /&gt;
Válasz: a DCX utasítás nem állítja a Z flaget, így a JNZ utasítás nem működik&lt;br /&gt;
&lt;br /&gt;
=== 5. b.) ===&lt;br /&gt;
Egy i8085-ös mikroszámítógép megszakítási rendszerének megvalósításakor i8259A megszakításvezérlőt&lt;br /&gt;
alkalmaztunk, amely báziscíme 20h. Az alábbi megszakítást úgy szeretnénk megvalósítani, hogy&lt;br /&gt;
bármelyik másik megszakítás-bemenetre érkező kérés azonnal érvényre juthasson mielőtt maga az IRUT rutin&lt;br /&gt;
befejeződik. A program hibásan van megírva. Miért? Mit kellene kijavítani?&lt;br /&gt;
&lt;br /&gt;
    IRUT:   PUSH PSW&lt;br /&gt;
        PUSH B&lt;br /&gt;
        EI&lt;br /&gt;
        OUT 41h&lt;br /&gt;
        IN 40h&lt;br /&gt;
        ADI 1&lt;br /&gt;
        OUT 40h&lt;br /&gt;
        MVI B,3&lt;br /&gt;
    CIKL:   IN 40h&lt;br /&gt;
        ACI 0&lt;br /&gt;
        OUT 40h&lt;br /&gt;
        DCR B&lt;br /&gt;
        JNZ CIKL&lt;br /&gt;
        POP B&lt;br /&gt;
        MVI A,20h&lt;br /&gt;
        OUT 20h&lt;br /&gt;
        POP PSW&lt;br /&gt;
        RET&lt;br /&gt;
&lt;br /&gt;
Az a hiba, hogy a megszakítás vezérlőben az IT nyugtázása (EOI) csak az IT rutin végén történik meg (MVI A,20h; OUT 20h), ezért az alacsonyabb prioritású interruptok csak ez után jutnának érvényre.&lt;br /&gt;
&lt;br /&gt;
=== 5. c.) ===&lt;br /&gt;
&lt;br /&gt;
Ugyanaz mint az [[#5. a.)]]&lt;br /&gt;
&lt;br /&gt;
=== 5. d.) ===&lt;br /&gt;
&lt;br /&gt;
Az alábbi kódrészlettel a 8000h címen elhelyezkedő szót (16bit) szeretnénk hozzáadni a 8150h címen&lt;br /&gt;
elhelyezkedő szóhoz úgy, hogy az eredmény a 8000h címre kerüljön (A szó alacsonyabb helyértékű bájtja&lt;br /&gt;
(LSB) mindig a kisebb címen helyezkedik el.). A program hibásan működik. Miért? Mit kellene kijavítani?&lt;br /&gt;
&lt;br /&gt;
    Osszead:    LXI H,8000h&lt;br /&gt;
        LDA 8150h&lt;br /&gt;
        ADD M       &lt;br /&gt;
        MOV M,A&lt;br /&gt;
        INX H&lt;br /&gt;
        LDA 8151h&lt;br /&gt;
        ADD M       ;itt ADC M kell, mert lehet átvitel a előző byte-ok összadása során&lt;br /&gt;
        MOV M,A&lt;br /&gt;
        RET&lt;br /&gt;
    &lt;br /&gt;
== 6. feladat ==&lt;br /&gt;
&lt;br /&gt;
Ehhez létezik egy javításokat tartalmazó PDF. [[Media:Digit2_ef_V2_megold_6-7-javitott.pdf|Megtekintés.]]&lt;br /&gt;
&lt;br /&gt;
=== 6. a.) ===&lt;br /&gt;
&lt;br /&gt;
;Egy kaszkádosított megszakításkezelő rendszerben, milyen esetben kell parancsbyte-ban megadni a SLAVE megszakításkezelőknek, hogy slave áramkörök? &lt;br /&gt;
:Kaszkádosítás esetén, bufferelt kapcsolás esetén (62.o./3.5. , 63.o./3.6.3.)&lt;br /&gt;
&lt;br /&gt;
;Ebben az esetben hány ICW parancsbyte-ot kell kiadni és miért? &lt;br /&gt;
:4, ICW1-4 (66.o./ 3.6.2. - 3.6.3.) ICW3 a kaszkádosítás miatt kell, az ICW4 pedig a bufferelt kapcsolás miatt (M/S bit)&lt;br /&gt;
&lt;br /&gt;
;Miért van szükség ICW3 parancsbyte-ra? &lt;br /&gt;
:Mert kaszkádosott megszakításkezelő rendszert használunk&lt;br /&gt;
&lt;br /&gt;
;Miért van szükség ICW4 parancsbyte-ra?&lt;br /&gt;
:A master-slave pozíciókat az ICW-4-el lehet beállítani (bufferelt üzemmód esetén szükséges) (M/S bit)&lt;br /&gt;
&lt;br /&gt;
=== 6. b.) === &lt;br /&gt;
Inicializáljon egy 90h báziscímű i8255-ös párhuzamos periféria áramkör: A portját 1-es üzemmódban kimenetre, B portját szintén 1 üzemmódban bemenetre, C port alsó és felső felét bemenetre kell állítani. Adja meg a vezérlő szó értékét! Állítsa be a 8255 INTE ff-jainak értékét is!&lt;br /&gt;
&lt;br /&gt;
    MOV A,10101111B     ;95.o./5.1 táblázat&lt;br /&gt;
    OUT 93H             ;94.o./működési tábla&lt;br /&gt;
    DI&lt;br /&gt;
&lt;br /&gt;
:gondolom az INTE ff-kat mind 0-ra kell állítani, mert ha 1 lenne, akkor az üzembe helyezést követően már kérne megszakítást&lt;br /&gt;
:de az üzemmód megváltoztatásakor a f/f-k törlődnek,így ehhez sztem külön parancs nem szükséges&lt;br /&gt;
&lt;br /&gt;
=== 6. c.) ===&lt;br /&gt;
Egy vegyesen kaszkádosított 8259-es megszakítási rendszerben a MASTER egység IR2 bemenetére SLAVE áramkör&lt;br /&gt;
kapcsolódik. A MASTER egység ugrási táblájának kezdőcíme 8000h, a SLAVE ugrási táblájának kezdőcíme 9000h,&lt;br /&gt;
mindkettő nyolcas osztásban.&lt;br /&gt;
&lt;br /&gt;
Adja meg, hogy milyen ICW3 parancsot kell küldeni a MASTER illetve a SLAVE egységeknek!&lt;br /&gt;
&lt;br /&gt;
    LXI D,8000H ;MASTER&lt;br /&gt;
    MOV A,0000100B&lt;br /&gt;
    INX D&lt;br /&gt;
    STAX D&lt;br /&gt;
&lt;br /&gt;
    LXI H,9001H ;SLAVE, másik módszerrel&lt;br /&gt;
    MOV A,0000010B&lt;br /&gt;
    MOV M,A&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
; Adja meg, mennyi lesz a MASTER IR6 bemenetére érkező megszakítás szubrutinjának kezdőcíme!&lt;br /&gt;
: 802CH (65.o. ADI=0 esetén táblázat)&lt;br /&gt;
&lt;br /&gt;
Adja meg, mennyi lesz a SLAVE IR6 bemenetére érkező megszakítás szubrutinjának kezdőcíme!&lt;br /&gt;
-902CH (65.o. ADI=0 esetén táblázat)&lt;br /&gt;
&lt;br /&gt;
=== 6. d.)===&lt;br /&gt;
Egy aszinkron üzemmódba felprogramozott 8251-es soros áramkör hibásan működik. A program státusz beolvasáskor olyan hibákat olvas, amelyek adat fogadásakor lépnek fel. Melyek lehetnek ezek, mi lehet a hibák oka ?&lt;br /&gt;
&lt;br /&gt;
# OVERRUN ERROR (=túlfutási hiba), akkor ha a puffer-regiszter megelőző tartalmát a CPU még nem olvasta ki és ezt a 8251 felülírja&lt;br /&gt;
# FRAMING ERROR (=kerethiba): 0 színtű STOP bitek érkeznek&lt;br /&gt;
# PARITY ERROR (=paritás hiba): rossz paritás&lt;br /&gt;
&lt;br /&gt;
===6. e.)===&lt;br /&gt;
Mit jelent a BREAK üzemmód a 8251-es áramkörnél? &lt;br /&gt;
* aszinkron üzemmódban folyamatos kiküldhetők a vonalra, ha nincs folyamatban adatkivitel, állapotjelzésre is szolgálhat&lt;br /&gt;
&lt;br /&gt;
Mire alkalmazható? &lt;br /&gt;
* felhasználható megszakításkérés jelzésére&lt;br /&gt;
&lt;br /&gt;
Hogyan lehet beállítani?&lt;br /&gt;
* beállítása: a Command Instruction 3. bitje, a SBRK =1 esetén a TXD=0 lesz (Break karakter)&lt;br /&gt;
&lt;br /&gt;
=== 6. f.)===&lt;br /&gt;
Rajzolja fel egy aszinkron üzemmódban felprogramozott USART kimeneti jelalakját (TxD) 8 bites, 0Fh értékű adat elküldésekor, ha páros paritást és 1 stop bitet alkalmazunk.&lt;br /&gt;
&lt;br /&gt;
     0   1   1   1   1   0   0   1&lt;br /&gt;
        ___ ___ ___ ___         ___&lt;br /&gt;
   |___|               |___ ___|&lt;br /&gt;
&lt;br /&gt;
=== 6. g.)===&lt;br /&gt;
Egy i8085-ös mikroprocesszoros rendszerben az A, B, C jelek külön kártyákon állnak elő, változásuk egymástól független, de mindannyian szeretnének időszakosan megszakítást kérni a processzor RST5.5 vonalán. Milyen kimenetű kapukat kell a szaggatottal jelölt dobozokba tervezni, hogy a rendszer helyesen működjön, miért?&lt;br /&gt;
* Open collector, mivel a kimeneteket összekötöttük, és a rendszer tartalmazott közvetlen felhúzó ellenállást&lt;br /&gt;
&lt;br /&gt;
=== 6. h.) ===&lt;br /&gt;
Egy i8085-ös mikroprocesszoros rendszerben az A, B, C jelek külön kártyákon állnak elő, változásuk egymástól független, de mindegyiket szeretnénk időszakosan címezhetően külön-külön beolvasni a processzor D0 adatvonalán. Milyen kimenetű kapukat kell a szaggatottal jelölt dobozokba tervezni, hogy a rendszer helyesen működjön, miért?&lt;br /&gt;
* Tristate,  mivel a kimenetek összekötöttük és a rendszer nem tartalmazott közvetlen felhúzó ellenállást&lt;br /&gt;
&lt;br /&gt;
===6. i.)===&lt;br /&gt;
Egy 8085 mikroprocesszoros rendszerben 1 master és 4 slave 8259-es IT vezérlőt használunk. Hány megszakítást tudunk összesen lekezelni a 8259-esekkel?&lt;br /&gt;
* 4*8+(8-4)=36&lt;br /&gt;
* A 4 Slave 8 megszakítást tud kezelni + a Master maradék IR bemenetei felhasználhatók megszakításkérés céljára (60.o./3.4.)&lt;br /&gt;
&lt;br /&gt;
A fenti konfigurációt úgy kötötték be, hogy a slave egységek a master 0,2,4 és 6 sorszámú bemenetére kapcsolódnak. A rendszer hibásan működik. Miért? Indokolja a választ!&lt;br /&gt;
* ha a Masternek egyedi megszakításkérő vezetékei is vannak, akkor a IR0 bemenetre nem szabadna az egyik Slave-t sem rákötni, ugyanis a CAS vezetékek 0 állapota egyszerre jelentené a Master és az egyik Slave megszakításkérését (62.o./3.4.)&lt;br /&gt;
&lt;br /&gt;
A fenti konfigurációban az összes vezérlő egy közös meghajtón (74LS245) keresztül csatlakozik a rendszersínre. Hogyan lehet ilyen esetben az egyes vezérlőknek megmondani, hogy master vagy slave szerepet játszanak?&lt;br /&gt;
* az ICW 4 parancsbyte 2. bitjével (=M/S) (66.o./3.6.3.)&lt;br /&gt;
&lt;br /&gt;
=== 6. j.)===&lt;br /&gt;
Egy DMA vezérlő mind a 4 csatornájára egy-egy periféria csatlakozik. Használható-e ilyenkor az 1-es csatorna&lt;br /&gt;
AUTOLOAD üzemmódban? Indokolja a választ!&lt;br /&gt;
*Nem, csak a CH2 és CH3 használható (81.o./4.6.4.)&lt;br /&gt;
&lt;br /&gt;
Programozza fel a DMA vezérlőt AUTOLOAD üzemmódba úgy, hogy a 9000h memóriacímtől kezdődő címre&lt;br /&gt;
periódikusan 128 byte adatot legyen képes betölteni a perifériából. A 8257-es báziscíme: 70H.&lt;br /&gt;
&lt;br /&gt;
        LXI D,9000H&lt;br /&gt;
        MVI B,128&lt;br /&gt;
        MOV A,10101111B&lt;br /&gt;
        OUT 78H         ;beírás A3=1, A2=A1=A0=0&lt;br /&gt;
    TOLT:   IN 78H      ;kiolvasás is A3=1, A2=A1=A0=0&lt;br /&gt;
        STAX D&lt;br /&gt;
        INX D&lt;br /&gt;
        DCR B&lt;br /&gt;
        JNZ TOLT&lt;br /&gt;
        END&lt;br /&gt;
&lt;br /&gt;
=== 6. k.) ===&lt;br /&gt;
Mi különbség adatátvitel szinkronizálása szempontjából a 8251-es soros áramkör aszinkron és szinkron soros adatátvitele között?&lt;br /&gt;
* az aszinkron átvitel esetén a start és stop bitek segítségével szinkronizájla az átvitelt, a start bit megérkezésést az RXD 1 -&amp;gt; 0 átmenet jelzi&lt;br /&gt;
* a szinkron átvitel esetén a szinkronizálást külső, vagy belső eljárással kell megoldani, SYNC karakter érkezésére várunk (belső) vagy a SYNDET-et bemenetként programozzuk fel&lt;br /&gt;
&lt;br /&gt;
=== 6. l.) ===&lt;br /&gt;
Programozzon fel egy 8253-as timer áramkört, amely 3,072MHz-ről 4800Hz frekvenciára osztja le jelet, 50-50%-os kitöltésűre! A 8253-as áramkör binárisan számol, és 90h báziscíme van. Használja a 0-s számlálót!&lt;br /&gt;
&lt;br /&gt;
    ;3,072 Mhz=4800*640&lt;br /&gt;
    ;640= 0000 0001 | 0100 0000&lt;br /&gt;
&lt;br /&gt;
    MOV A,00111110B&lt;br /&gt;
    OUT 93H&lt;br /&gt;
    MOV A,01H&lt;br /&gt;
    OUT 90H&lt;br /&gt;
    MOV A,80H&lt;br /&gt;
    OUT 91H&lt;br /&gt;
&lt;br /&gt;
=== 6. m.) === &lt;br /&gt;
Egy kaszkádosított 8259-es rendszerben a MASTER egység IR7 és IR6 bemenetére SLAVE áramkörök kapcsolódnak.&lt;br /&gt;
Adja meg, hogy milyen ICW3 parancsot kell küldeni a Master egységnek!&lt;br /&gt;
* 11000000 (66.o./3.6.2.)&lt;br /&gt;
&lt;br /&gt;
Adja meg, hogy milyen ICW3 parancsot kell küldeni Az IR6-ra csatlakozó SLAVE egységnek&lt;br /&gt;
* 00000110 (66.o./3.6.2.)&lt;br /&gt;
&lt;br /&gt;
Hogyan tudjuk kijelölni, hogy lesz ICW3 parancs?&lt;br /&gt;
*az ICW1 SNGL bitjének 0 állapotba állításával, az ICW1 1. bitje (D1)  (63.o. táblázat, 64.o. ICW1 - SNGL)&lt;br /&gt;
&lt;br /&gt;
== 7. feladat ==&lt;br /&gt;
&lt;br /&gt;
Ehhez létezik egy javításokat tartalmazó PDF. [[Media:Digit2_ef_V2_megold_6-7-javitott.pdf|Megtekintés.]]&lt;br /&gt;
&lt;br /&gt;
===7. a.)===&lt;br /&gt;
Sorolja fel az i8085 állapotait!&lt;br /&gt;
* RUN, WAIT, HALT, HOLD&lt;br /&gt;
&lt;br /&gt;
===7. b.)===&lt;br /&gt;
Szerkesszen gráfot, amely az i8085-ös állapotainak kapcsolatát ábrázolja! A nyilazott ágakra az állapot-változások okait kell felírni.&lt;br /&gt;
&lt;br /&gt;
* RUN -&amp;gt; WAIT:  Ready jel 0 szintre vált&lt;br /&gt;
* WAIT -&amp;gt; RUN:  Ready jel 1-re vált&lt;br /&gt;
* RUN -&amp;gt; HALT:  HLT parancs kiadásakor&lt;br /&gt;
* HALT -&amp;gt; RUN: megszakításkérés érkezésekor&lt;br /&gt;
* RUN -&amp;gt; HOLD: HOLD 1-be vált&lt;br /&gt;
* HOLD -&amp;gt; RUN:  a HOLD jel megszűnése után&lt;br /&gt;
* HALT -&amp;gt; HOLD: HOLD igény érkezésekor (HOLD=1)&lt;br /&gt;
* HOLD -&amp;gt; HALT: HOLD megszűnése (HOLD=0)&lt;br /&gt;
&lt;br /&gt;
=== 7. c.) ===&lt;br /&gt;
Milyen esetekben kerül a 8085-ös mikroprocesszor HALT állapotból RUN állapotba?&lt;br /&gt;
* HALT -&amp;gt; RUN: megszakításkérés érkezésekor, illetve reset hatására&lt;br /&gt;
&lt;br /&gt;
===7. d.)===&lt;br /&gt;
Sorolja fel azokat az eseteket, amikor az INTE FF = 0 értékű lesz!&lt;br /&gt;
* DI parancs kiadásakor, reset, megszakítás érvényre jutása után&lt;br /&gt;
&lt;br /&gt;
===7. e.) ===&lt;br /&gt;
Sorolja fel azokat az eseteket, amikor az RST7.5 FF = 0 értékű lesz!&lt;br /&gt;
* SIM utasítás esetén,ha a 4. bittel töröljük az RST7.5-t (A4=1), illetve RESET után&lt;br /&gt;
&lt;br /&gt;
===7. f.)===&lt;br /&gt;
Az i8085-ös processzor reszetelésekor milyen értékű lesz az INTEFF, és mi lesz a PC tartalma?&lt;br /&gt;
* az INTEFF-kat törli, tehát 0 lesz , PC:0000H&lt;br /&gt;
&lt;br /&gt;
===7. g.)===&lt;br /&gt;
Milyen kezdőcímeken kezdődnek az RST 2 és RST 5 utasításokkal meghívott szubrutinok, illetve az RST 5.5 és az RST 7.5 megszakítási szubrutinok?&lt;br /&gt;
* RST 2: 10H&lt;br /&gt;
* RST 5: 28H&lt;br /&gt;
* RST 5.5: 2CH&lt;br /&gt;
* RST 7.5: 3CH&lt;br /&gt;
&lt;br /&gt;
=== 7. h.)===&lt;br /&gt;
Mit kell kezdőértéknek az SP-be betölteni ha a programozó úgy kívánja beállítani a STACK tárat, hogy az első értékes beírt bájt 8FFFh-ra íródjon? Miért?&lt;br /&gt;
* 9000H, mert &#039;&#039;először&#039;&#039; csökkenti az SP értékét a processzor, és csak utána ír a stackre.&lt;br /&gt;
&lt;br /&gt;
===7. i.)===&lt;br /&gt;
Hogyan jelezzük a fordítóprogramnak, hogy a generált kódot az 1698h címtől kezdődően helyezze el?&lt;br /&gt;
* ORG 1698H&lt;br /&gt;
&lt;br /&gt;
===7. j.)===&lt;br /&gt;
Hogyan jelezzük a fordítóprogramnak, hogy az 1712h címtől kezdődően helyezze el a „digit” stringet?&lt;br /&gt;
&lt;br /&gt;
    ORG 1712H&lt;br /&gt;
    KAR DB &amp;quot;digit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===7. k.)===&lt;br /&gt;
Hogyan jelezzük a fordítóprogramnak, hogy inicializált vagy inicializálatlan helyfoglalás történik?&lt;br /&gt;
* inicializált: DB vagy DW,&lt;br /&gt;
* inicializálatlan: DS direktívát használunk&lt;br /&gt;
&lt;br /&gt;
===7. l.)===&lt;br /&gt;
Mi a különbség az EQU 1200h és a DW 1200h direktívák között?&lt;br /&gt;
* CIMKE EQU 1200H: értékadás, hivatkozás a CIMKE-vel&lt;br /&gt;
* DW 1200H:  inicializált helyfoglalás&lt;br /&gt;
&lt;br /&gt;
===7. m.)===&lt;br /&gt;
Sorolja fel az i8085 mikroprocesszor megszakítással kapcsolatos jeleit!&lt;br /&gt;
* TRAP, RST 5.5,6.5,7.5, INTR&lt;br /&gt;
&lt;br /&gt;
===7. n.)===&lt;br /&gt;
Milyen típusú kimenettel rendelkező áramkörökkel lehet busz rendszerű vezetékeket meghajtani? Húzza alá, hogy melyik típusú kimenet alkalmas arra, hogy egy vezetéket (busz) több kimenet egyidejűleg is meghajthasson?&lt;br /&gt;
* tristate, &amp;lt;u&amp;gt;open collector&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===7. o.)===&lt;br /&gt;
Miért nem lehet két totem-pole kimenetű áramkör kimeneteit összekötni? Indokolja a választ? (sztem érdemes indokolni:))&lt;br /&gt;
* mert az ellenáláskon túl nagy teljesítmény disszipálódna, és ennek eredménye a tönkremenetel&lt;br /&gt;
&lt;br /&gt;
===7. p.)===&lt;br /&gt;
i8255-ös párhuzamos periféria áramkör A portját 1-es üzemmódban kimenetre, B-portját 0 üzemmódban bemenetre, C port alsó felét bemenetre, felső felét kimenetre kell állítani. Adja meg a vezérlő szó értékét!&lt;br /&gt;
* 10100011&lt;br /&gt;
&lt;br /&gt;
Adja meg, melyik regiszterbe és milyen értéket kell írni, hogy a fenti üzemmód esetén a PC4 portbit 0 , illetve 1 értékű legyen!&lt;br /&gt;
* Bit Set/Reset művelettel: (a 8255-ös címe+3) címre kell kiküldeni a 00001000 byte-ot a 0-ba állításhoz, 00001001 byte-ot az 1-be állításhoz&lt;br /&gt;
&lt;br /&gt;
===7. q.)===&lt;br /&gt;
Egy 3 gépi ciklusból álló utasítás (pl.: IN 83h) végrehajtása során az első gépi ciklus T1 fázisában egyidőben High (1) értékűek lesznek az INT és a HOLD bemenetek.&lt;br /&gt;
&lt;br /&gt;
;Mikor adja át a DMA vezérlőnek a 8085-ös a busz vezérlési jogot? Indokolja a válaszát!&lt;br /&gt;
:a HOLD bemenet 1-be váltásakor&lt;br /&gt;
&lt;br /&gt;
;Mikor jut érvényre a megszakítás (megszakításkérés engedélyezett állapotban van és nincs más kérés) Indokolja a válaszát!&lt;br /&gt;
:a HOLD jel megszűnését követően, hiszen a 7. b.) feladatban leírtak szerint működik a 8085, HOLD állapotból HALT-ba a HOLD=0-t követően, a HALT-ból a RUN-ba a megszakításkérést követően jut&lt;br /&gt;
&lt;br /&gt;
[[Kategória:Villamosmérnök]]&lt;/div&gt;</summary>
		<author><name>Bede Fülöp</name></author>
	</entry>
</feed>