Welcome, Guest. Please login or register.


Author Topic: Assembly programozás (Read 254770 times)

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: Assembly programozás
« Reply #315 on: 2012.March.21. 08:02:12 »
Quote
Mi ebben a nehéz?

Hat ha nem is nehez, torodni kell vele, az pedig az (ha jol ertem), hogy

a rendszerbovitok irasakor ( ha tudjuk hogy rombol es rambol is futtatni akarjuk ) mar elore gondolni kell erre, es az irhato memoriateruleteket (valtozoteruleteket) akkor kulon kell valasztani a kod tobbi reszetol (kod+csak olvashato memoriateruletek), es egymas melle, egy folytonos memoriablokkba kell szervezni oket ( nem lehetnek osszekeveredve a kod tobbi reszevel ),
es akkor a blokk meretenek megfelelo memoriateruletet leallokalni a rom bovito futtatasakor a rom allokalo akciokodjanal, es ezt majd IY tartalmazni fogja, mikor a romhivasok megtortennek az exos reszerol akkor ha rombol futunk,
ha nem rombol futunk, akkor minden egyes akciokod megerkezesekor az IY- t fel kell tolteni valami ram terulet cimevel, ami mondjuk abszolut ram bovito eseten lehet a kod+adat terulet utanra mutato pointer,
relativ bovito eseten meg most hirtelen nem is tudom, honnan szedjuk majd a memoriat hogy ne egy egesz szegmens lefoglalasaval jarjon, de ez nem is anynira fontos mert ilyet nem is nagyon szandekszok egyenlore.

Namost fentihez ket dolog is kell akkor:

Valtozo teruleten belul ( tehat barmi, amit irni is akarok ) nem szabad semmit sem forditasi idoben eloallt abszolut cimen elerni, hanem mindent a valtozo terulet blokk elejehez kepesti relativ cimmel kell elerni az IY regiszter felhasznalasaval,
masreszt valahogy az assembler forditoban kepezni kell tudnom a valtozoim ( valtozoterulet elejehez kepesti ) offsetjet ugy, hogy maguk a valtozok ne keruljenek bele az object kodba, hisz azok majd vagy itt lesznek, vagy ott lesznek, attol fuggoen, hogy rom vagy ram verzio fut, es mondjuk rom eseteben minek legyen a valtozoterulet a bovito kodjaban, ha ugyis kulon allokaljuk le, tehat ehhez a tenyleges kodba fordulas nelkuli valtozo offset kepzeshez kene valami assembler ficsor, amit en valszeg nem ismerhetek, mert ugye egy db, vagy dw ugyan noveli a cimszamlalot, de a targykodot is noveli, belefordul, nekem meg az kene hogy a cimkek ertekei ugyen kepzodjenek, de a targykodba ne forduljon bele a valtozom. Es jo lenne ha az offseteket nem kene nekem ilyen EQU- kkal kepeznem, mondjuk oly modon hogy szep sorban adogatom a valtozok meretet egymas utan EQU- kkal ossze.

A masik hogy egy rendszerbovito ahhoz hogy az IY erteket felulbiralja akciokod erkezesekor ( leven ha nem rom a rendszerbovito akkor IY erteke undefined ) meg kene tudnom, hogy en most rom rendszerbovito vagyok vagy ram. Ha mondjuk nem rom eseten IY- ban mondjuk specialis ertek lenne vagy ilyesmi akkor nem lenne gaz, de mivel undefined, ezert valahonnan mashonnan kell kitalalni.

Lehetne hogy ketszeri memoria irassal/olvasassal eldontom hogy ram vagy rom vagyok- e, vagy ha csak abszolut rendszerbovitok kozott kell donteni, akkor EXOS_ROM feliratbol lehetne talan donteni ( mert ha jol emlexem ram bovitonel az EXOS_ROM felirat helye fixen ki van nullazva exos altal ), de egyiket sem erzem igazan elegans modszernek, raadasul meg mindig nem tudom hogy ha ramban vagyok, akkor most abszolut vagy relativ vagyok- e ( nezegessem a PC tartalmat, es ha c00ah akkor abszolut, egyebkent meg relativ ? ), marpedig IY feltoltese fugg attol hogy abszolut vagy relativ rendzserbovito vagyok- e, meg akkor is, ha mar legalabb azt tudom, hogy nem rom.

« Last Edit: 2012.March.21. 08:10:15 by Z80System »
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: Assembly programozás
« Reply #316 on: 2012.March.21. 09:21:21 »

Heass -ban szeretnem az auto CAPS -ot is kikapcsolni, de a konfigja azt nem menti el, erre van valami ?

Heass -ban szeretnem a border color- t, es a fejlec color- t allitani. van ra lehetoseg, akar hekkelos modszer ?

Es ez mar eleg off, de van valami tool, ami kiirja az ep szinek kodjait ? Tehat hogy 0-255 szin kozul melyik meylik ? grafikusan ertem, hogy mittomen rajzol egy kockat es beleirja h az a 38- as szin.

« Last Edit: 2012.March.21. 09:25:18 by Z80System »
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: Assembly programozás
« Reply #317 on: 2012.March.21. 09:28:21 »

Meg meg az sem volna rossz, ha allitodna a cursor soranak szine ... tudja valaki hogy az vajon miert nem lett belerakva, vagy nezte mar valaki, van esetleg belole olyan verzio, csak nem pont az ami a romomban van, stb. ?
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: Assembly programozás
« Reply #318 on: 2012.March.21. 09:40:34 »
Ha emulatorbol inditok heass- t akkor angol a menum, ha a bovitett gepemrol, akkor magyar. a setupjaban nem latok nyelvi opciot, ez valami ket kulon heass verzio lehet ?
Z80 System

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #319 on: 2012.March.21. 09:54:18 »
Ha emulatorbol inditok heass- t akkor angol a menum, ha a bovitett gepemrol, akkor magyar. a setupjaban nem latok nyelvi opciot, ez valami ket kulon heass verzio lehet ?
Igen, külön ROM fájlok.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #320 on: 2012.March.21. 09:56:38 »
Es ez mar eleg off, de van valami tool, ami kiirja az ep szinek kodjait ? Tehat hogy 0-255 szin kozul melyik meylik ? grafikusan ertem, hogy mittomen rajzol egy kockat es beleirja h az a 38- as szin.
Van SZCLXCHR.ROM-ban benne van a színkódkeresõ.

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: Assembly programozás
« Reply #321 on: 2012.March.21. 10:25:30 »
Quote
Van SZCLXCHR.ROM-ban benne van a színkódkeresõ.

Es ilyen rom hol van ? :) Emuban nincs, kersesre nem talal ...

Z80 System

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #322 on: 2012.March.21. 10:38:57 »
Es ilyen rom hol van ? :) Emuban nincs, kersesre nem talal ...
ep28.hu Util programcsokor :-)

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: Assembly programozás
« Reply #323 on: 2012.March.21. 12:58:22 »
Z80 System!

Tetszik ez az elgondolásod, amit kitaláltál, hogy a NAP ne vegye át teljesen az uralmat a gép fölött, hanem csak RET szerűen visszatérjen a hívó (pl. IS-BASIC) alkalmazáshoz, mint pl. PC-n a Norton Commander-hez.

Viszont miért rendszerbővítőben gondolkozol?

Én biztos úgy csinálnám, hogy magát az EXOS-t írnám át úgy, hogy lekezelje ezt az egész dolgot. Ha nincs elég memória, akkor simán, EXOS 2.1 kompatibilis módon futtatná az 5-ös fejlécű programokat, ha viszont van elég memória, akkor pedig a te elgondolásod szerint, CALL-RET szerűen. Persze lehet, hogy bonyolultabb belenyúlni az EXOS-ba, nem tudom, de nekem ez szimpatikusabb. :-)

*** Speicherplatz zu klein

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: Assembly programozás
« Reply #324 on: 2012.March.21. 13:40:24 »
Quote
Viszont miért rendszerbővítőben gondolkozol?

Hat egyreszt eleg tapasztalatlan vagyok exosilag, masreszt az exos az ugye egy rom, technikailag is nehezebb ezert berhelni a belet, de megha nem is lenne ( hanem mittomen az egesz exos rendelkezesemre allna forras szinten ), akkor se ertek en ahhoz elegge, hog nekialljak ilyet bele hekkelni, a kerdeseimbol lathatod, hogy egy csomo dolog nincs meg bennem letisztulva, es nekunk csak annyi kell, hogy az adott CAP tudjon kiadni egy call hivast egy NAP- ra. Az meg az exos rendszerbovito interfeszen keresztul teljesen megoldhato, kenyelmesen forrasbol programozhato.

Az ilyen visszateros, nem feltetlen onallo CAP- pa valni akaro programok szama ugyis elenyeszo lesz, ha az exosba integralnank csupan annyi lenne a tobblet, hogy barhonnan kiadott exos load_module hivas ily modon mukodne. Tehat nem kene begepelgetni egy rendszerbovito parancsot ott, ahol van menupont modul betoltesehez ( epdos,wp,basic,stb. programokban ugye van betolto menupont, billentyufunkcio ).

A rendszerbovitos megvalositas kb. egyetlen hatranya az lesz, hogy ezekben a programokban is be kell majd gepelni a rendszerbovito parancsot. Az elonye ennek meg az, hogy el lesz kulonitve a rendszertol, explicit lehet a normalisat vagy ezt az uj funkciot hasznalni. Tehat ha mondjuk egy programban meg akartak irni a visszateros mukodest, de az mondjuk egy masik konfiguracion nem mukodik, akkor ha exos babralassal lenne megcsinalva, akkor azon a konfigon az a visszaterosre modositott exe mehetne a kukaba, mert az exos mindig felismerne hogy van benne visszateros belepesi pont, es akkor azon probalna futtatni, pedig ezen a msik konfigon ugye rosszul mukodik a visszatereses verzioja a programnak. Szal ilyenkor a rendszerbovitos verzioban egyszeruen nem a rendszerbovitovel toltik majd be, hanem a sima modositatlan exos loaderrel.

Szal az exosba epitett funkcioval valoban frankobb lenne, es egyetlen program felhasznaloi interfeszet sem kellene modositani hogy legyen menupont a visszatereses inditasra, vagy egyetlen programban sem kene kezzel gepelgetni be a rendszerbovito parancsot, viszon egy visszateros exe igy forszolva lenne visszateros inditasra, amelyek pedig igen bizonytalanok teszteletlenek lesznek eloszor, nem beszelve hogy csak elenyeszo szamu lesz beloluk.

Z80 System

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: Assembly programozás
« Reply #325 on: 2012.March.21. 13:54:01 »
EXOS visszafejtés nincs meg? Könyvben is megjelent. Bár az is lehet, nem a 0. szegmensen van az 5-ös fejlécű program betöltésének kódja... És lehet, hogy nem is férne bele 32kB-ba az új EXOS...

*** Speicherplatz zu klein

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: Assembly programozás
« Reply #326 on: 2012.March.21. 14:02:58 »

De megvan, epp eligertem valakinek, hogy ha hazamegyek elhozom es odaadom neki. Megvan a neten is.

De ha a technikai kerdeseket nem nezzuk, akkor is ott van az elvi kerdes, hogy amint igy modositottuk az exost, nem lehet valsztani hogy milyen modon futtassunk egy programot, amit mindket modon lehet inditani.
Z80 System

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #327 on: 2012.March.21. 14:13:44 »
Ha majd rendben mûködni fog a rendszerbõvítõs verzió, akkor majd belebütykölöm az EXOS 2.4,5,6... valamibe :-)

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: Assembly programozás
« Reply #328 on: 2012.March.21. 14:28:02 »
Hat tolem igy is lehet, csak akkor ha kompatibilitasi problema lep fel, akkor kell szerezzen az urge egy olyan verziot is, aminek a headerebol ki van torolve a visszateros belepesi pont.
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: Assembly programozás
« Reply #329 on: 2012.March.21. 15:08:41 »
Valaki dobjon mar meg egy peldaval, hogy kell az "alapertelmezett csatornara kiirni egy sor szoveget" ...
Z80 System