Welcome, Guest. Please login or register.


Author Topic: ASM EP-n - hogyan kezdjem? (Read 31933 times)

Offline Attus

  • EP addict
  • *
  • Posts: 1230
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 10.0 Firefox 10.0
    • View Profile
Re: ASM EP-n - hogyan kezdjem?
« Reply #45 on: 2012.February.12. 17:44:34 »
Csodálkozom.
Ezt nem tudja az asmon?

Én a gen -t használtam általában, azzal nincs ilyen gond. Kopasz magnós rendszerrel is anno. Majd floppyssal is.
Áthelyezhetõ cuccost is csináltam vele, én a komolyabb dolgokhoz azt használtam, Spectrum átíráshoz és egyszerûbb nyúlfarknyi dolgokhoz használtam csak az asmon assemblerét. (A HoH négyszínûsítéséhez is a gen -hez nyúltam)
Debuggolni meg mindig a mon -t, az asmont sose.
 

Online Zozosoft

  • EP addict
  • *
  • Posts: 13519
  • Country: hu
  • OS:
  • Windows 7 Windows 7
  • Browser:
  • Firefox 9.0.1 Firefox 9.0.1
    • View Profile
    • http://enterprise.iko.hu/
Re: ASM EP-n - hogyan kezdjem?
« Reply #46 on: 2012.February.12. 18:08:31 »
Ezt nem tudja az asmon?
Tudja, csak közvetlenül a RAM-ba nem enged olyan alacsonyan, hogy tönkre ne vágd a rendszert.

Offline Tuby128

  • EP lover
  • *
  • Posts: 955
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.6.25 Firefox 3.6.25
    • View Profile
Re: ASM EP-n - hogyan kezdjem?
« Reply #47 on: 2012.February.13. 02:25:53 »
Akkor hogyan tudom megoldani, hogy a cimkék arra a területre szóljanak?

Online geco

  • EP addict
  • *
  • Posts: 5430
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 10.0 Firefox 10.0
    • View Profile
Re: ASM EP-n - hogyan kezdjem?
« Reply #48 on: 2012.February.13. 09:27:33 »
Memory assembly NO-val próbáld, szerintem úgy befordítja a kódot.

Offline Tuby128

  • EP lover
  • *
  • Posts: 955
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.6.25 Firefox 3.6.25
    • View Profile
Re: ASM EP-n - hogyan kezdjem?
« Reply #49 on: 2012.February.13. 10:13:58 »
Persze, akkor lefordítja, de hova kerül a gépi kód?

Online geco

  • EP addict
  • *
  • Posts: 5430
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 10.0 Firefox 10.0
    • View Profile
Re: ASM EP-n - hogyan kezdjem?
« Reply #50 on: 2012.February.13. 11:37:54 »
Persze, akkor lefordítja, de hova kerül a gépi kód?
Ha nem állítottál be file-nevet, akkor sztem a DUMMY-ba :D

Online geco

  • EP addict
  • *
  • Posts: 5430
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 10.0 Firefox 10.0
    • View Profile
Re: ASM EP-n - hogyan kezdjem?
« Reply #51 on: 2012.February.13. 11:48:54 »
fordítsd le így, egy file-ba, utána az EP128emu debuggerébe be is töltheted, és tesztelheted:
l "file név" 0 hová
;cím                      ahonnan szeretnéd futtatni a programot

Offline lgb

  • EP addict
  • *
  • Posts: 3496
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 22.0.1229.91 Chrome 22.0.1229.91
    • View Profile
    • http://lgb.hu/
Re: ASM EP-n - hogyan kezdjem?
« Reply #52 on: 2012.October.01. 12:29:23 »
Eloszor is koszi Zozo-nak a masik topic-ban az 5-os fejlecben a meret ertelmezese problemat elharitottam :)

Az ujabb - megintcsak eleg amator - kerdesem (amit inkabb ebbe a topic-ba irok, jobban ide illik szerintem): hogyan tudok egy karaktert es vagy stringet megjeleniteni a kepernyon? Jelen esetben maradnek az EXOS-on at valo mukodesnel, semmi direkt videoram iras, meg hasonlo, ha lehetseges. A doksikbol ezt tudtam kiollozni:

LD A, 0x66 ; 0x66 csatorna
LD B, ... ; a karakter
EXOS 7

Ezzel az a baj, hogy semmi nem jelenik meg ... Ehhez kene elotte vmi csatorna nyitas, vagy barmi? En azt vettem ki a leirasokbol, hogy a 0x66-os csatorna az "standard", a peldaban is hasznaljak, semmifele megnyitas stb nincs elotte.

http://ep128.hu/Ep_Konyv/Gepi_kod.htm

Az infot innen banyasztami ki, EXOS 7-es funkciorol szolo ertekezes.

Gondolom egy string pl ertelmesebben megjelenitheto a 8-as funkcioval, hasonloan ha karaktert akarok beolvasni, akkor 5-os funkcio (csak itt a 0x69 csatorna kell)? Lehet, nagy a zavar a fejemben, hogy kell hasznalni ezeket a csatornakat, de a leirasokban szerepel az "alapertelmezetten nyitott csatorna" ezert gondoltam ez eleg. Amde semmi nem jelenik meg kiirasnal megse, az idezett muben levo peldakra sem (igaz en nem BASIC-bol hivom ugye ...).

Online Zozosoft

  • EP addict
  • *
  • Posts: 13519
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 15.0.1 Firefox 15.0.1
    • View Profile
    • http://enterprise.iko.hu/
Re: ASM EP-n - hogyan kezdjem?
« Reply #53 on: 2012.October.01. 12:52:47 »
Ehhez kene elotte vmi csatorna nyitas, vagy barmi? En azt vettem ki a leirasokbol, hogy a 0x66-os csatorna az "standard", a peldaban is hasznaljak, semmifele megnyitas stb nincs elotte.
Igen, kell megnyitás. Ott a példákban azért standard, mert BASIC alatt futnak a példák, ahol a BASIC alatt már eleve meg van nyitva.

Offline endi

  • EP addict
  • *
  • Posts: 7305
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Opera 9.80 Opera 9.80
    • View Profile
    • Honlapom
Re: ASM EP-n - hogyan kezdjem?
« Reply #54 on: 2012.October.01. 19:09:52 »
ismét tanácsolnám az EP Plusz használatát asm tanuláshoz...
Vigyázat! Szektás vagyok! :)

Offline lgb

  • EP addict
  • *
  • Posts: 3496
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 22.0.1229.91 Chrome 22.0.1229.91
    • View Profile
    • http://lgb.hu/
Re: ASM EP-n - hogyan kezdjem?
« Reply #55 on: 2012.October.01. 22:21:26 »
ismét tanácsolnám az EP Plusz használatát asm tanuláshoz...

Elnezest a tudatlansagomert, de mi az az EP Plusz? :) Amugy itt kulon kene valasztani, hogy maga a Z80 assembly, EP specifikus hw ismeretek, vagy EP specifikus sw. Nekem ez utobbival van gondom.

Olyat csinaltam mar hogy kvazi az EXOS ROM0-t lecserelem emulatorban, enyem az egesz hw, hurra. Csak ugye ez nem tul realisztikus egy valodi EP-ben meg nem is tul user friendly :) Ezert szertnek nemileg normalisabb dolgokat alkotni.

Azonban meg mindig tanacstalan vagyok, allati bonyolultnak tunik szamomra hogy egy sima karakteres kepernyot akarok, es kiirni ra szoveget. Sehogy nem jon ossze, pedig napok ota szenvedek vele, a doksik/konyvek meg semmit nem ernek, mert kb az EXOS visszafejteseig mindenbe belemennek csak egyetlen normalis "Hello world" programot nem mellekelnek, ami siman csak annyi, hogy 5-os fejlecu  program karakteres kepernyore kipakol vmit. Azert en ezt nagy hianyossagnak erzem, hiszen a "Hello world" tipusu program mindenhol az elso szokott lenni amit leirnak, es amibol az ember ugye kiindul. Ilyet meg sehol nem talaltam viszont.

Amit eddig probaltam: EXOS valtozok beallit, video: csatorna megnyitasa, 11-es exos funkcio/func=1, aztan exos 7, karakterkiiras a csatornara. Az eredmeny vagy fekete kepernyo, vagy kb 2-3 percenkent valtozo fekete/kek csik kombinacio az emulatorbol nezve.

Asszem' inkabb maradok a hw kozeli programozasnal, nekem ez az EXOS felfoghatatlannak tunik :) Max letiltom az interrupt-otkat ele pakolok nemi 5-os fejlecet stb, igy legalabb betoltheto, csak ugye agyonvagja az exos-ot, ramdisk-et miegymast: nem tul szep :(

Online Zozosoft

  • EP addict
  • *
  • Posts: 13519
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 15.0.1 Firefox 15.0.1
    • View Profile
    • http://enterprise.iko.hu/
Re: ASM EP-n - hogyan kezdjem?
« Reply #56 on: 2012.October.01. 22:52:03 »
Amit eddig probaltam: EXOS valtozok beallit, video: csatorna megnyitasa, 11-es exos funkcio/func=1, aztan exos 7, karakterkiiras a csatornara. Az eredmeny vagy fekete kepernyo, vagy kb 2-3 percenkent valtozo fekete/kek csik kombinacio az emulatorbol nezve.
Hmmm, stack pointert beállítottad a program elején? (Általában LD SP,100H-val szokás kezdeni.)

De ha akarod összerakok neked Hello Word-ot :-)

Online Zozosoft

  • EP addict
  • *
  • Posts: 13519
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 15.0.1 Firefox 15.0.1
    • View Profile
    • http://enterprise.iko.hu/
Re: ASM EP-n - hogyan kezdjem?
« Reply #57 on: 2012.October.01. 22:58:43 »

Offline lgb

  • EP addict
  • *
  • Posts: 3496
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 22.0.1229.91 Chrome 22.0.1229.91
    • View Profile
    • http://lgb.hu/
Re: ASM EP-n - hogyan kezdjem?
« Reply #58 on: 2012.October.01. 22:59:10 »
Hmmm, stack pointert beállítottad a program elején? (Általában LD SP,100H-val szokás kezdeni.)

De ha akarod összerakok neked Hello Word-ot :-)

Beallitottam, igen. Pont azzel is kezdtem :) Igaz nem 100h, hanem a program altal hasznalt memoriaterulet felett hagytam +512byte-ot es oda, de az egesz program belefer 16K (-100h)-ba, tehat gondolom ez nem gond (amugy azert kiprobaltam 100h-val is, uaz, azert akartam nem oda tenni, mivel ott kevesebb hely van azert, es mivel ugye sdcc-t akartam volna rabirni h lehessen C-ben irogatni, kicsit intenzivebb stack hasznalat varhato). Btw jelen esetben  meg a crt0-t simogatom, hogy a C runtime-nak legyen mar megnyitott kepernyoje amivel egy szem EXOS call-al irhatna pl.

Jo, hat ha van kedved ilyet irni, nem tartalak vissza :) A lenyeg annyi, hogy most tenyleg szeretnek EXOS-osan csinalni mindent szepen. Nyilvan letrehozhatnek sajat LPT-t, talalomra kivalaszthatnek barmi memoriat, hogy az az enyem stb, csak ez ugye .... nem szep :)

Offline lgb

  • EP addict
  • *
  • Posts: 3496
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 22.0.1229.91 Chrome 22.0.1229.91
    • View Profile
    • http://lgb.hu/
Re: ASM EP-n - hogyan kezdjem?
« Reply #59 on: 2012.October.01. 23:56:40 »
Hmmm, stack pointert beállítottad a program elején? (Általában LD SP,100H-val szokás kezdeni.)

De ha akarod összerakok neked Hello Word-ot :-)

Nah, asszem megvan: az exos 11-nel hulye ertekeket adtam, es/vagy exos 1-es es nem 2-es funkcioval nyitottam a csatit a video:-hoz. Nem tudom melyik volt a gond, esetleg mindketto, de most mux! A c-ben irt kodom sdcc-vel forditva a kore irt "loaderemmel" mukodni latszik!

Csattolom a crt0.s-t ("loader") ha valakit erdekel, es/vagy esetleg van valami megjegyzese, amivel jobba teheto. A fura syntax azert, mert az sdcc assemblernek ez kell. Ha a _main (az a C main() fuggveny) visszater idiota keret "effektet" jatszok h latszodjon, vege a program futasanak.
« Last Edit: 2012.October.02. 00:01:38 by lgb »