Má někdo tip na jednoduchý assembler s přehledným IDE vhodným pro výuku? Zkouším pro tento účel použít PicoBlaze IDE (http://www.mediatronix.com/Screenshot.htm), což je hodně blízké tomu, co si představuji, a jediné, co mi na něm trochu vadí, je harvardská architektura, absence push/pop a fakt, že standardní dokumentace k PicoBlaze používá jiné názvy instrukcí.
Nějak jsem nepochopil, jaký assembler chcete učit. Snad všechna DSP mají harvardskou architekturu a instrukce push/pop nepotřebují, nebo mají zásobníky implementované trochu jinak, než to má Intel (z důvodů rychlosti). Mikrořadiče, co se týče harvardské architektury, taky vedou nad Svobodou. A řekl bych, že v dnešní době člověk přijde do styku spíše s Assemblerem pro nějaké DSP nebo mikrořadič, než že by v něm kutil nějaké věci pro x86. Jinak solidní IDE má dle mého názoru i AVRStudio nebo Keil, který podporuje i ARMy.
Nejde ani tak o výuku nějakého konkrétního assembleru jako spíš o seznámení se s tím, co programování v Assembleru/strojovém kódu obnáší. Pro to je něco jako PicoBlaze ideální – malá množina instrukcí, RAM menší než město v Karlovi ;-), indexované registry. PUSH/POP lze samozřejmě snadno nahradit. Osobně to vidím jako vhodnou průpravu pro C/C++, protože je na tom snadno demonstrují ukazatele (vč. ukazatelů na funkce), problematika předávání parametrů atd.
Ahoj Pavle,
nestacilo by nakonec neco takoveho:
http://www.6502asm.com/
?
Ja jsem se s tim docela dobre pobavil a vzpomel si na stare dobre casy osmibitu :-) Ma to i video RAM, takze nejenom Karel ale i Logo is possible, pokud si tedy zvladnete se studentem implementovat FP nebo FX operace :-)
Tak tohle určitě ještě zvážím :-) Bohužel jsem ho neměl k dispozici tak dlouho, jak by bylo potřeba, a konec prázdnin se kvapem blíží. Takže možná se nakonec za Karla nedostaneme. Ale jestli zvládne samostatně to násobení čtyřbitových čísel v Karlovi, co jsem mu dal za domácí úkol, tak bych byl s výsledkem toho rychlokurzu spokojen :-)
Posledně jsem s ním dělal sčítání dvou binárních čísel (reprezentovaných značkami) a to dvěma způsoby – jeden, kdy se zpracuje najednou jeden sloupeček a případně provede přenos doleva, a druhý složitější, kdy se nejdříve sečtou sloupečky a pak se postupně přenesou přenosy. Karel je na výuku opravdu vynikající záležitost.
To je pravda, vetsina mikroradicu ma ROM a RAM oddelene (a v teto oblasti to ma vyznam). Pokud Pavle potrebujes nejaky MCU s jednotnym adresnim prostorem, tj. von Neumanna, tak je tady jeste porad 68HC08 a 68HC11, i kdyz na tom bych popravde asi assembler (pokud se ma jednat o prvni seznameni s nim) neucil, ta instrukcni sada je zpocatku trosku zmatena :-)