Emulßtor procesoru ARM8



Zadßnφ
Cφlem mΘho roΦnφkovΘho projektu bylo naprogramovat emulßtor procesoru ARM8 firmy Advanced Risc Machines pro PC. SouΦasn∞ Ji°ina HruÜovß programovala assembler pro tento procesor. Zdrojem informacφ nßm byla dokumentace voln∞ dostupnß na www.arm.com.

Omezenφ
Emulßtor pracuje v²hradn∞ v tzv. u₧ivatelskΘm m≤du. Neumφ zpracovßvat koprocesorovΘ instrukce. Instrukce SWI (Software Interrupt) je interpretovßna jako ukonΦenφ Φinnosti programu. Programoval jsem v jazyce Pascal pro p°ekladaΦ firmy Borland verze 7.0 z Φeho₧ vyplynulo omezenφ na dostupnou pam∞¥. V emulßtoru je tedy mo₧nΘ adresovat jen prvnφch 64kb pam∞ti (jeden PC segment). Pokud se v programu vyskytne vyÜÜφ adresa, je hornφch 16 bit∙ emulßtorem ignorovßno.

Verze
Aktußln∞ je k dispozici verze 1.0. K dokonalosti jφ chybφ sprßvnΘ emulovßnφ 32-bitovΘho sΦφtßnφ. Tak₧e aritmetickΘ instrukce a dlouhΘ bezznamΘnkovΘ nßsobenφ (UMULL/UMLAL) fungujφ sprßvn∞ jen pro malß Φφsla. Doufßm, ₧e se mi brzy poda°φ odstranit i tento problΘm. Pokud objevφte jin² bug, budu rßd, kdy₧ se ozvete.

Soubory
arm8p.pas - Zdrojov² text emulßtoru
arm8p.exe - P°elo₧en² emulßtor
arm8p.txt - Syntaxe spouÜt∞nφ emulßtoru
arm8c.pas - Zdrojov² text compileru
arm8c.exe - P°elo₧en² compiler
arm8c.txt - Dokumentace ke compileru
arm8.src - Vzorov² program v assembleru ARM8
arm8.zip - VÜechny p°edchozφ soubory zazipovanΘ


Zadßnφ je od Martina MareÜe. P°ipomφnky posφlejte mailem na adresu egg@atlas.cz.
M∙₧ete se vrßtit zp∞t na homepage anebo tam, odkud jste p°iÜli.