Welcome, Guest. Please login or register.


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

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux 64 bit Linux 64 bit
  • Browser:
  • Firefox 5.0 Firefox 5.0
    • View Profile
Re: Assembly programozás
« Reply #255 on: 2011.November.07. 15:30:28 »
Ezek a trükkök a disassemblerek rémálmai  :ds_icon_cheesygrin:

Én elég gyakran használom :oops:

Offline Z80System

  • EP addict
  • *
  • Posts: 3842
  • Country: hu
  • OS:
  • Windows 7 Windows 7
  • Browser:
  • Safari Safari
    • View Profile
Re: Assembly programozás
« Reply #256 on: 2011.November.07. 15:40:28 »
Fu sosem szerettem oket ... en meg a xor a -t is utaltam. Mindig ugy ereztem hogy olyan igazi boostot ( sebessegben, meretben ) nem tesznek hozza a dolgokhoz, hacsak nem obfuszkalni akar az ember. Persze lehet hogy valami rendes koder le tudna vezezni, hogy ezek a sebesseg es meret megtakaritasok mit tudnak jelenteni egy olyan komplex assembly rendszernel mint az exos ( pld. ), es ha 1X bizonyitva latnam, akkor meg tudnam oket bocsajtani, de sztm ezek csak ilyen egyeni firnyaksagok, affele bitbabralas, jatek annak, aki tudja mi az. ( Vagy esetleg olyan kepessegekkel van megaldva, amivel a tobbseg nincs, es jon neki zsigerbol. ) Tipikusan olyan embereknek valok, akik szeretik a fejtoroket. Ertelmuk semmi, de elvezetes megfejteni oket.

Marakinek az.
Z80 System

Offline Mayer Gábor

  • EP fan
  • *
  • Posts: 208
  • Country: hu
  • OS:
  • Windows 7 Windows 7
  • Browser:
  • Firefox 3.6.23 Firefox 3.6.23
    • View Profile
Re: Assembly programozás
« Reply #257 on: 2011.November.07. 15:47:10 »
Tudtok spektrum vagy ep játék forrásokat? Nem visszafejtett kódra gondolok hanem eredetire. Kiváncsi lennék milyen stílusban programoztak a hivatalos gyártók, akár egy codemasters.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13376
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 7.0.1 Firefox 7.0.1
    • View Profile
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #258 on: 2011.November.07. 16:27:30 »
Tudtok spektrum vagy ep játék forrásokat? Nem visszafejtett kódra gondolok hanem eredetire. Kiváncsi lennék milyen stílusban programoztak a hivatalos gyártók, akár egy codemasters.
Ilyenre én is kíváncsi lennék, de nem túl valószínû hogy lehet ilyet találni. Codemasters-tõl biztosan nem, az még 20+ éves játékaik közreadását is letiltotta a WOS-ról.

Offline Mayer Gábor

  • EP fan
  • *
  • Posts: 208
  • Country: hu
  • OS:
  • Windows 7 Windows 7
  • Browser:
  • Firefox 3.6.23 Firefox 3.6.23
    • View Profile
Re: Assembly programozás
« Reply #259 on: 2011.November.07. 16:46:24 »
Csodálom hogy az eredeti exos/exdos forrás nem lett meg.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13376
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 7.0.1 Firefox 7.0.1
    • View Profile
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #260 on: 2011.November.07. 16:46:38 »
Persze lehet hogy valami rendes koder le tudna vezezni, hogy ezek a sebesseg es meret megtakaritasok mit tudnak jelenteni egy olyan komplex assembly rendszernel mint az exos ( pld. )
Akkoriban még nem úgy ment a programozás, hogy semmi nem számít majd max rak még 2 giga ramot a felhasználó gépbe, meg 4 magos procit, és plusz 1 tera vinyót  :lol:
Különösen igaz ez ROM programokra, ahol IC kapacitása külön extra korlátot szab a programozó fantáziájának. És vagy kevesebbet fog tudni a program, mint amit szeretne, vagy ügyesebb lesz, és addig faragja amíg befér. És ilyenkor minden egyes bájtocska számít.
Majd a végén összeszámolom, hogy mennyit spóroltak meg különbözõ trükkökkel az EXDOS-ban, de úgy kb 150 bájtra tippelek. Ez kb két DOS parancs, amit még ki kellett volna hagyni, ha kevésbé ügyesek. Így is látható, hogy a 0.3-as verzió ami már csurig kitöltötte a 16K-t, több parancsot tartalmazott, amik az 1.0-ra már kiszorultak a ROM-ból.

Offline geco

  • EP addict
  • *
  • Posts: 5347
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 7.0.1 Firefox 7.0.1
    • View Profile
Re: Assembly programozás
« Reply #261 on: 2011.November.07. 18:34:09 »
Én elég gyakran használom :oops:

Láttam is :), néztem jó nagyokat amikor először találkoztam vele ;)
Ha jól emléxem az ay utánzó rutinodban is van egy helyen.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13376
  • Country: hu
  • OS:
  • Windows 7 Windows 7
  • Browser:
  • Firefox 7.0.1 Firefox 7.0.1
    • View Profile
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #262 on: 2011.November.07. 20:05:19 »
néztem jó nagyokat amikor elõször találkoztam vele ;)
Ezzel szerintem mindenki így van, amikor elõször látja, aztán csap a homlokára, hogy "ez nekem miért nem jutott eszembe" :-)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux 64 bit Linux 64 bit
  • Browser:
  • Firefox 5.0 Firefox 5.0
    • View Profile
Re: Assembly programozás
« Reply #263 on: 2011.November.07. 21:12:22 »
en meg a xor a -t is utaltam

Az SBC A, A érdekesebb :)

Offline lgb

  • EP addict
  • *
  • Posts: 3496
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux Linux
  • Browser:
  • Safari Safari
    • View Profile
    • http://lgb.hu/
Re: Assembly programozás
« Reply #264 on: 2011.November.09. 09:54:34 »
Fu sosem szerettem oket ... en meg a xor a -t is utaltam.

Ezt vitatnam. Pont a "van egy 3GHz-es quad core CPU-m, fene fog sporolni" dologgal ellentetben az a szep ezekben a regi computerkben, hogy az ember orajelciklusokat sporolgat, es akar egy ejszakat ul a kod felett, hogy vacak par byte-nyi machine code cuccost hogy lehet rovidebb ido alatt futtatni. Itt nagyon jol jonnek az ilyen trukkok, es szerintem pont ez a szepsege a dolognak, ellentetben a mai vilaggal, amikor ugye "nem fut gyorsan? bovitsel gepet, ember! olyan olcso a RAM, meg a CPU is ma mar". Na nem: a regi szep idokben pont ahhoz kellett a tehetseg, hogy a hw adott volt: azon KELL megoldani. Ha meg tudod, oke, ha nem, akkor az ember inkabb ne programozzon :) Sajna manapsag nem igy van.

Az ilyen trukk mint a "xor a" meg egyszeru is, akar lehetne neki uj nevet is adni, hogy vilagosabb legyen, hogy mit csinal pl "RESA" :) vagy tudomisen. Elvegre ne felejtsuk, hogy ami pl "LD" azok kozott telejsen mas jellegu utasitasok vannak (pl register-register transfer, regiser-memory transfer, stb), az csak egy szokas, hogy hogy jeloljuk, sok architekturan nem is mossak ezt egybe, hanem teljesen kulon kezelik (pl: LOAD, STORE, illetve meg valami a register-register transferre). Ez csupan szokas kerdese.

Offline Povi

  • EP addict
  • *
  • Posts: 1847
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 7.0 Firefox 7.0
    • View Profile
    • http://povi.fw.hu
Re: Assembly programozás
« Reply #265 on: 2011.November.09. 10:58:09 »
Különösen igaz ez ROM programokra, ahol IC kapacitása külön extra korlátot szab a programozó fantáziájának. És vagy kevesebbet fog tudni a program, mint amit szeretne, vagy ügyesebb lesz, és addig faragja amíg befér.
És jön az örökös dilemma: gyors kód legyen, vagy rövid?  :) A kettő nem mindig megy egyszerre, a gyorsabb sokszor hosszabb kódot eredményez (kicsit ellentmondásos a dolog, de igaz).
*** Speicherplatz zu klein

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13376
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 8.0 Firefox 8.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #266 on: 2011.November.09. 11:36:16 »
És jön az örökös dilemma: gyors kód legyen, vagy rövid?  :) A kettõ nem mindig megy egyszerre, a gyorsabb sokszor hosszabb kódot eredményez (kicsit ellentmondásos a dolog, de igaz).
Ez így van! De mondjuk a XOR A az gyors és rövid is :-)

Offline Ferro73

  • EP lover
  • *
  • Posts: 531
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 8.0 Firefox 8.0
    • View Profile
Re: Assembly programozás
« Reply #267 on: 2011.November.14. 18:25:53 »
a DAVE programozása ?
Code: ASM
  1. 0038h push af
  2.    in a,(0B4h)
  3.    bit x,a
  4.    jp z,idõzített megszakítás
  5.    .
  6.    .
  7.    .
  8.    ld a,XX
  9.    Out (0B4h),a
  10.    push af
  11.    ei
  12.    reti
  13.  
  14. idõzített megszakítás
  15.   push de
  16.   push hl
  17.   ld hl,(skálaindex)
  18.   ld de,(hl)      ; idõhossz
  19.   ld a,e                   ?
  20.   or d
  21.   jp z,nincs több
  22.   ld a,1 hang csatorna leállítása
  23.   out (0A7h),a
  24.   ld a,d
  25.   out (0a0h),a
  26.   ld a,e
  27.   out (0A1h),a
  28.   inc hl
  29.   inc hl
  30.   ld de,(hl)      ;hang HZ
  31.   ld a,e
  32.   out (0A2h),a
  33.   ld a,d
  34.   out (0A3h),a
  35.   inc hl
  36.   inc hl
  37.   ld (skálaindex),hl
  38.   ld a,x      ; megszakítás 0-ás csatorna 1-es fúttatása
  39.   out (0A7h),a
  40.    .
  41. nincs több
  42.    pop hl
  43.    pop de
  44.    ld a,XX
  45.    Out (0B4h),a
  46.    push af
  47.    ei
  48.    reti
  49. skálaindex  dw kotta
  50. kotta   dw xx,yy ; xx=a hang hossza (s) yy=hang magasság (herz)
  51.    .
  52.    .
  53.    dw 00            ;vége
  54.  
valami ilyesmire gondoltam
« Last Edit: 2011.November.14. 19:04:54 by Ferro73 »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux 64 bit Linux 64 bit
  • Browser:
  • Firefox 5.0 Firefox 5.0
    • View Profile
Re: Assembly programozás
« Reply #268 on: 2011.November.14. 19:54:18 »
a DAVE programozása ?

valami ilyesmire gondoltam

Igen, az ötlet alapvetően működik, de így elég rövid (pár század másodperces) hangokat lehet előállítani ha egy hang csak egy megszakítás, a 12 bites számláló korlátai miatt.

Offline Ferro73

  • EP lover
  • *
  • Posts: 531
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 8.0 Firefox 8.0
    • View Profile
Re: Assembly programozás
« Reply #269 on: 2011.November.14. 20:23:07 »
kár
zenében nem vagy jártas de mennyi lehet a legrövidebb hang hossz egység (xx milisec)?