off, annak idején egy rövid ideig programoztam amigát asm-ban, írtam rá egy kis demót (sajnos elveszett)
de egyvalamit nem értettem az amigában. attól lefagyott, hogy memóriát olvastam. miért lehetett ez?
Bar igazan nem vagyok Amiga guru, es inkabb tippelek, valamint a konkret problemat se ismerem, azert megprobalok belepofazni, ha kell ha nem
Szoval, Amiga nem igazan 8 bites, es van egy sajatossag, hogy nagyobb adatmeretnel (azt nem tudom, hogy 16/32 bit eseten ugyanugy vagy csak pl 32 bitnel) ha az nem "aligned" hozzaferes, az biza problema. Marmint pl 16 bites szo olvasasa paratlan memoriacimrol. Egy Z80 eseten ez kevesbe gond: az is tud ugyan olvasni 16 bitet ugye, de valojaban - mivel 8 bites az adatbusz - "ket darabban" olvassa be (szoval tok mind1, hogy paros v paratlan cimen van pl). Amiga eseten a CPU adatbusz (legalabbis 68000-es CPU-knal, kesobb talan volt mar 32 bites is) 16 bites, igy a 16 bitet egyben akarna. Bocsanat, jobban kevesbe tudom elmagyarazni, de nem is igazan ertek hozza
Gyakrolatban sose code-oltam Amigra ugyanis.
http://en.wikipedia.org/wiki/Guru_MeditationKeress ra az unaligned szora az oldalon.
Ez az unaligned access amugy x86-oson is gond, de ott a CPU lekezeli talan, es max annyi a kovetkezmenye, hogy lassabb lesz a vegrehajtasa (plusz orajelciklus stb). Ez viszont remekul ramutat arra, hogy ott is erdemes aligned hozzaferest csinalni, meg ha nem is okoz feltetlen "fagyast", akkor sem optimalis! ...
Z80 eseten viszont total mind1, mivel 8 bitenkent csinalja, tehat ott kb lenyegtelen szerintem. Ezek a gondok ott merulnek fel, ha 8 bitnel nagyobb az elerni kivant adatmennyiseg, es a CPU "nativ" (adatbusz, miegymas) szohossza is nagyobb ennel. IMHO.
Illetve pl:
http://en.wikipedia.org/wiki/Bus_error#Unaligned_access