Autor ::Libor L.A. Poslaná :: 07.08.2013 16:14:48 Predmet ::Jak funguje příkaz ROM v BASICu v2.A
Po dekódování příkazu ROM v BASICu verze 2A se volá procedura načtení parametru. Vyčíslený parametr je odmaskován instrukcí ANI 07 (zůstanou jen 3 LSB, jinými slovy se jedná o zbytek po dělení parametru číslem 8). Tento výsledek nám tedy určí zdrojový "blok" v ROMPACKu. Protože má smysl zadávat parametr příkazu ROM jen v intervalu 0..7 (viz výše), určuje tento parametr adresu v ROMPACKu, odkud se natáhne 0500h dlouhý blok do operační paměti PMD-85 na adresu 7000h, kde se ihned spustí instrukcí JMP 7000h. Pro parametry 0..7 příkazu ROM jsou zdrojové adresy v ROMPACKu postupně 2400h, 2800h, 2C00h, 3000h atd. s kroky po 400h. Zaráží mě nesoulad mezi délkou přenášeného bloku (500h) a roztečí zdrojových bloků v ROMAPCKu (400h). Ale na funkci to vliv nemá :)
PS: Zamlada jsme na PMD-85 v1 metodou "..kamarád mi to poradil.." psali (a fungovalo to!!!) ROMO5555. Už ani nevím, kdo s tou kravinou přišel.
Správa
Autor ::Libor L.A. Poslaná :: 07.08.2013 16:18:51 Predmet ::Re: Jak funguje příkaz ROM v BASICu v2.A
A ještě jedna: víte, kde jsem to zjistil? V komentovaném výpisu Altair BASICu. Příkaz ROM tam samozřejmě není a nemůže být ale struktura této předlohy našeho BASIC-G/V2.A mě navedla úplně přesně tam, kde jsem se podíval (obsluha příkazu ROM je na adrese 2324h).