Welcome, Guest. Please login or register.


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

Offline lgb

  • EP addict
  • *
  • Posts: 3497
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 31.0.1650.34 Chrome 31.0.1650.34
    • View Profile
    • http://lgb.hu/
Re: Assembly programozás
« Reply #495 on: 2013.October.26. 20:31:27 »
Quote from: Z80System
Hát a kérdésem alig assembly jellegű, de azért ide írom.

Én ugye most PC -n fejlesztek (imitálom), és egy PC fordítóval fordítok EP binárist, majd azt az emulátorba töltve tesztelem.

Namost a fordítóm egy C fordító, ami tud inline assebly -t ugyan, és a kód nagyja abban fog készülni, de a C -t is használnám, a nem sebesség kritikus részekhez.

Csakhogy mintha valami baromi nagy lenne a fordított kód méretet tekintve.

Tud esetleg valaki valami jó kis C->z80 tárgykód fordítót ?

Te mit hasznaltal amivel "tul nagy" lett a kod merete? En tudok az sdcc-rol ami Z80-ra tud forditani, meg volt az a z88dk vagy ilyen nevu, de az nem tud mindent, amit elvileg a C nyelvnek kene. Amugy altalanossagban elmondhato, hogy a nagy meretu kod oka altalaban az, hogy hasznalod pl a printf, scanf vagy egyeb hasonlo fuggvenyeket. Ezek altalaban legalabb 4K kod, mivel ugye azok tudnak minden hulyseget, formazast, stb. Probalj ki egy minimalis programot pl egy tok ures main fuggvenyt, minden nelkul, hogy akkor milyen meretu lesz az eredmeny.

Offline Z80System

  • EP addict
  • *
  • Posts: 3926
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 30.0.1599.101 Chrome 30.0.1599.101
    • View Profile
Re: Assembly programozás
« Reply #496 on: 2013.October.26. 20:40:31 »
Ja sdcc -vel tolom, de tudni tudok még a z88dk -ról is (bár valamiért az sdcc -t tudtam összelőni, a másikat meg hagytam, pedig abban sokkal jobban hasonlít az assembly mnemonik -ok formája az eredetihez), és igen, ha lehagyom a float -os számításokat (mást nem használok a könyvtár kódjából), akkor nem linkel hozzá egy vagon kódot, de azután sem tetszik a méret ... ahogy a síma kódot írom, pár forciklust bedobok és 100H -kkal nő a kód ... most nem emlékszem a konkrétumokra, de valahogy úgy emlékszem, hogy attól kellett tartsak, hogy írok kis kódot és kicsúszok a 16K -s lapomról ...
Z80 System

Offline lgb

  • EP addict
  • *
  • Posts: 3497
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 31.0.1650.34 Chrome 31.0.1650.34
    • View Profile
    • http://lgb.hu/
Re: Assembly programozás
« Reply #497 on: 2013.October.26. 22:03:20 »
Quote from: Z80System
Ja sdcc -vel tolom, de tudni tudok még a z88dk -ról is (bár valamiért az sdcc -t tudtam összelőni, a másikat meg hagytam, pedig abban sokkal jobban hasonlít az assembly mnemonik -ok formája az eredetihez), és igen, ha lehagyom a float -os számításokat (mást nem használok a könyvtár kódjából), akkor nem linkel hozzá egy vagon kódot, de azután sem tetszik a méret ... ahogy a síma kódot írom, pár forciklust bedobok és 100H -kkal nő a kód ... most nem emlékszem a konkrétumokra, de valahogy úgy emlékszem, hogy attól kellett tartsak, hogy írok kis kódot és kicsúszok a 16K -s lapomról ...

Hat nem tudom ... Esetleg nezd meg amit assembly-be lenyom (vagy -S kapcsoloval, akarmi), es hasonlitsd ossze egy ilyen "novekedes" utan hogy mi valtozott az asm file-ban az elozohoz kepest. Amikor en jatszottam sdcc/EP ugyben akkor belefutottam egy sdcc bug-ba, amit jelentettem is nekik (ez is meretnovekedest okoz).


Offline endi

  • EP addict
  • *
  • Posts: 7305
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Opera 9.80 Opera 9.80
    • View Profile
    • Honlapom
Re: Assembly programozás
« Reply #498 on: 2013.October.26. 22:04:31 »
az ilyen méretnövekedésekre a memóriabővítés a megoldás :)
tanulhatnátok a billgatestől :)
Vigyázat! Szektás vagyok! :)

Offline Z80System

  • EP addict
  • *
  • Posts: 3926
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 30.0.1599.101 Chrome 30.0.1599.101
    • View Profile
Re: Assembly programozás
« Reply #499 on: 2013.October.26. 22:10:27 »
Quote
Hat nem tudom ... Esetleg nezd meg amit assembly-be lenyom (vagy -S kapcsoloval, akarmi), es hasonlitsd ossze egy ilyen "novekedes" utan hogy mi valtozott az asm file-ban az elozohoz kepest. Amikor en jatszottam sdcc/EP ugyben akkor belefutottam egy sdcc bug-ba, amit jelentettem is nekik (ez is meretnovekedest okoz).

Hát köszi, de elég gáz nekem az EP is, nem akarnék most fordítót analizálgatni PC -n ...

Inkább valami kompakt "megoldásra" gondoltam, hogy "na akkor használd ezt meg ezt, ez működik és ennél sokkal tömörebbet nem lehet".

Most inkább "EP -zek" ...
Z80 System

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13534
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 24.0 Firefox 24.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #500 on: 2013.October.26. 22:26:49 »
Van egy olyan gyanúm, hogy ami témában te nyomulni szeretnél ott el kell felejteni a magas szintű nyelveket, méret és sebesség okán. Assembly és kész :oops:

Offline Z80System

  • EP addict
  • *
  • Posts: 3926
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 30.0.1599.101 Chrome 30.0.1599.101
    • View Profile
Re: Assembly programozás
« Reply #501 on: 2013.October.26. 22:33:27 »
Quote
Van egy olyan gyanúm, hogy ami témában te nyomulni szeretnél ott el kell felejteni a magas szintű nyelveket, méret és sebesség okán. Assembly és kész 

Hát ja, és ennek okán akkor simán el lehetne felejteni a PC -t is akár (bár elég barátságtalannak éltem meg még a HEASS -t is a múltkor, miker ezzel próbálkoztam, pedig mennyivel jobb mint egy sima ASMON), hiszen ha csak assembly, akkor mér ne lehetne egyből EP -n,

de az az igazság, hogy olyan jó lenne az inicializáló részeket, mint LPT legenerálása, betöltés utáni memóriába eltolva letárolások, színtáblák, színusztáblák, objekt mozgatási adatok, ilyesmiket gyorsan C -ben írni meg, és majd a legvégén vagy soha nem optimalizálni le, hogy próbálok vergődni a C - vel ...
Z80 System

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13534
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 24.0 Firefox 24.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #502 on: 2013.October.26. 22:47:04 »
A mindenféle táblákat adatokat lehetne esetleg úgy, hogy a C program adatfájlba írja ki, amit majd betölt a program.

Offline Z80System

  • EP addict
  • *
  • Posts: 3926
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 30.0.1599.101 Chrome 30.0.1599.101
    • View Profile
Re: Assembly programozás
« Reply #503 on: 2013.October.26. 22:48:04 »
A legjobb az lenne, ha valahogy rá lehetne bírni a C fordítót, hogy tudjon lapozni futás közben ... és akkor emuban fel lehetne tolni a memória csúszkát akármeddig, és mehetne az ereszdelahajam C -ben ... De hát álmodozással nem megyünk semmire ugye, akárcsak a nyafogással ...
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3926
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 30.0.1599.101 Chrome 30.0.1599.101
    • View Profile
Re: Assembly programozás
« Reply #504 on: 2013.October.26. 22:51:31 »
Quote
A mindenféle táblákat adatokat lehetne esetleg úgy, hogy a C program adatfájlba írja ki, amit majd betölt a program.
Hát persze ... és akkor már nem is kellene EP -re fordítani, hanem futhatna PC -n az adat file kimentő ...

Csak akkor kell annak is egy külön projekt és mindíg végig kell gondoljam mit kell kimentsek/töltsek, így meg lefut ugye az EP program futtatásakor ...

Mondjuk lehet jobban járok vele ha mentek töltök már az elejétől, mert eszetlen lassan számol színuszt az EP ... :) Nem ilyenre van ez kitalálva ...
Z80 System

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13534
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 24.0 Firefox 24.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #505 on: 2013.October.26. 22:59:47 »
Quote from: Z80System
A legjobb az lenne, ha valahogy rá lehetne bírni a C fordítót, hogy tudjon lapozni futás közben ...
Elvileg létezik ilyen. Csak sok pénzért adják :-(

Offline lgb

  • EP addict
  • *
  • Posts: 3497
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 31.0.1650.34 Chrome 31.0.1650.34
    • View Profile
    • http://lgb.hu/
Re: Assembly programozás
« Reply #506 on: 2013.October.26. 23:07:19 »
Quote from: Z80System
Hát persze ... és akkor már nem is kellene EP -re fordítani, hanem futhatna PC -n az adat file kimentő ...

Csak akkor kell annak is egy külön projekt és mindíg végig kell gondoljam mit kell kimentsek/töltsek, így meg lefut ugye az EP program futtatásakor ...

Mondjuk lehet jobban járok vele ha mentek töltök már az elejétől, mert eszetlen lassan számol színuszt az EP ... :) Nem ilyenre van ez kitalálva ...

Ja, hat nem ... Azt is lehet, ami demokban is szokasos technika: amig valami egyszeru dolog van kinn (kezdokepernyo, mittomen') addig kozben kiszamolja (kozben lehet int-bol zene stb), de tarolja is a tablat, aztan kesobb mar csak felhasznalja, amikor tenyleg kell neki. Sinus-ra meg rengeteg optimalizalt megoldas is van (kozelitessel viszonylag kis hiba nelkul minden float/akarmi hasznalata nelkul is - igaz erre 65xx-re tudok hirtelen csak linket, z80-ra nem), vagy esetleg nem tudom mennyi valosagalapja van annak (Bruce is beszelt errol) hogy BASIC rutinjait meghivni asm-bol pl a sin()-re. Az se lesz gyorsabb persze (sot ...) de ha van ido vmikor kiszamolni akkor imho jo, es a kodmeret verhetetlen lesz majdnem (csakhat kell hozza basic, ami ep-n nem 100% h mindig van, bar altalaban szerintem azert szokott megiscsak - hacsak nem cserlenek cartridge-t, es nincs 64k rom az alaplapon).
« Last Edit: 2013.October.26. 23:11:10 by lgb »

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13534
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 24.0 Firefox 24.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #507 on: 2013.October.26. 23:26:49 »
Quote from: lgb
csakhat kell hozza basic, ami ep-n nem 100% h mindig van
A matekrutinok ha minden igaz pont az 1-es szegmensben maradtak.

Offline Z80System

  • EP addict
  • *
  • Posts: 3926
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 30.0.1599.101 Chrome 30.0.1599.101
    • View Profile
Re: Assembly programozás
« Reply #508 on: 2013.October.26. 23:40:42 »

Quote
Elvileg létezik ilyen. Csak sok pénzért adják 

Próbaverziójának nekiugrottam anno, mikor mondtad, de már nem emlékszem hogyan, de rosszabb eredményeket sikerült elérnem vele mint az SDCC -vel.

Inkább hagytam ...
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3926
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 30.0.1599.101 Chrome 30.0.1599.101
    • View Profile
Re: Assembly programozás
« Reply #509 on: 2013.October.26. 23:41:32 »
Quote
Sinus-ra meg rengeteg optimalizalt megoldas is van (kozelitessel viszonylag kis hiba nelkul minden float/akarmi hasznalata nelkul is - igaz erre 65xx-re tudok hirtelen csak linket, z80-ra nem), v
Hát ez marha jó ... Ilyeneket miért most kell megtudjak ...
Z80 System