Welcome, Guest. Please login or register.


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

Offline endi

  • EP addict
  • *
  • Posts: 7014
  • 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:
  • Chrome 50.0.2661.94 Chrome 50.0.2661.94
    • View Profile
    • Honlapom
Re: Assembly programozás
« Reply #1050 on: 2016.May.30. 19:42:31 »
:shock: 60? Hogyan?

ja bocs 50 :D
hozzászoktam már a mobilokhoz :D
A diplomás magyar programozó megcsinált egy pacmant egy év alatt, majd lefikázta a világ legjobb játékait. :D

Offline Povi

  • EP addict
  • *
  • Posts: 1847
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 50.0.2661.102 Chrome 50.0.2661.102
    • View Profile
    • http://povi.fw.hu
Re: Assembly programozás
« Reply #1051 on: 2016.May.31. 19:39:46 »
van valakinek ötlete osztó rutinra?
32 bites előjeles egészt kell oszatni 16 bites előjeles egésszel

az eredmény 16 bites előjeles (ha nem fér bele, az nem baj)
meg persze kéne a maradék is 16 bites előjelesként
*** Speicherplatz zu klein

Offline ergoGnomik

  • EP lover
  • *
  • Posts: 768
  • Country: hu
  • Stray cat from Commodore alley
  • OS:
  • Windows NT 6.2 Windows NT 6.2
  • Browser:
  • Firefox 46.0 Firefox 46.0
    • View Profile
Re: Assembly programozás
« Reply #1052 on: 2016.May.31. 22:12:18 »
van valakinek ötlete osztó rutinra?
32 bites előjeles egészt kell oszatni 16 bites előjeles egésszel

az eredmény 16 bites előjeles (ha nem fér bele, az nem baj)
meg persze kéne a maradék is 16 bites előjelesként
Úgy kell csinálni mint ahogyan mindig. Az előjelek alapján meghatározod az eredmény előjelét, veszed a számok abszolút értékét, az osztót fellépteted addig amíg még kisebb az osztandónál, aztán összehasonlítgatod és szükség szerint kivonogatod a visszaléptetgetett osztót, az elvégzett kivonásokat a hányadosban 1-es bittel jelzed, és minden léptetésnél lépteted a hányados bitjeit is. Amikor visszaállt az eredeti osztó és azzal is elvégezted a kivonást (ha kell), megkaptad a maradékot is. Annyi a kihívás, hogy nem tudod úgy tárolni, hogy a CPU egy utasítással tudja kezelni a 32 bites számodat, ezért az összehasonlításokat az alsó és felső szóra is el kell végezni az eredményük összegzésével, illetve a léptetéseknél a kicsúszó biteket át kell vinni az osztó kiterjesztett dupla szavának alsó és felső fele között.

Szerk.: Annyi jutott még eszembe, hogy nem szokás "felléptetni" az osztót, hanem rögtön a 16 bittel feltolt pozícióból indítanak, így egyszerűbb lesz a kód.
« Last Edit: 2016.June.01. 11:32:12 by ergoGnomik »

Offline Povi

  • EP addict
  • *
  • Posts: 1847
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 51.0.2704.103 Chrome 51.0.2704.103
    • View Profile
    • http://povi.fw.hu
Re: Assembly programozás
« Reply #1053 on: 2016.August.01. 22:09:28 »
hogy működik a DAA?
hogyan tudok BCD-ben számolni (összeadni) Z80-on?

ld a, 0x79
add a, 0x88    ; A = 1, Carry = 1
daa

ekkor A=0x67 lesz? (79+88 = 167)

és a Carry meg gondolom beállítva

vagy teljesen máshogy működik?

*** Speicherplatz zu klein

Offline geco

  • EP addict
  • *
  • Posts: 5341
  • Country: hu
  • OS:
  • Linux / Sony Ericsson SK17iv Linux / Sony Ericsson SK17iv
  • Browser:
  • Safari 4.0 Safari 4.0
    • View Profile
Re: Assembly programozás
« Reply #1054 on: 2016.August.01. 22:17:35 »
Ugy emlexem igy muxik, hasznaltam ma r parszor, de csak 99%-ra mondom.

Offline lgb

  • EP addict
  • *
  • Posts: 3496
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 47.0 Firefox 47.0
    • View Profile
    • http://lgb.hu/
Re: Assembly programozás
« Reply #1055 on: 2016.August.01. 23:28:40 »
Nekem a DAA "trukkos" felhasznalasa kapcsan ez tetszett (0-15 konvertalasa hex ertekre ami kirakhato mint ascii karakter):

Code: ZiLOG Z80 Assembler
  1. AND  $0F
  2. ADD  $90
  3. DAA
  4. ADC  $40
  5. DAA
  6.  

Remelem jol emlekeztem ra fejbol :)

Offline Povi

  • EP addict
  • *
  • Posts: 1847
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 47.0 Firefox 47.0
    • View Profile
    • http://povi.fw.hu
Re: Assembly programozás
« Reply #1056 on: 2016.August.02. 00:04:43 »
Ugy emlexem igy muxik, hasznaltam ma r parszor, de csak 99%-ra mondom.
ja, úgy tűnik, működik, kipróbáltam... :-)
*** Speicherplatz zu klein

Offline Povi

  • EP addict
  • *
  • Posts: 1847
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 47.0 Firefox 47.0
    • View Profile
    • http://povi.fw.hu
Re: Assembly programozás
« Reply #1057 on: 2016.August.02. 00:05:13 »
Nekem a DAA "trukkos" felhasznalasa kapcsan ez tetszett (0-15 konvertalasa hex ertekre ami kirakhato mint ascii karakter):

Code: ZiLOG Z80 Assembler
  1. AND  $0F
  2. ADD  $90
  3. DAA
  4. ADC  $40
  5. DAA
  6.  

Remelem jol emlekeztem ra fejbol :)

ilyesmi, de egy DAA elég hozzá:
http://zxm.speccy.cz/data/Z80%20Bits.html#5.2
*** Speicherplatz zu klein

Offline Povi

  • EP addict
  • *
  • Posts: 1847
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 72.0.3626.121 Chrome 72.0.3626.121
    • View Profile
    • http://povi.fw.hu
Re: Assembly programozás
« Reply #1058 on: 2019.March.23. 11:10:15 »
Sakk program 377 byte-on! http://chesskelet.x10host.com/

Spectrumra, forráskóddal együtt! Lacika! figyelj! :-)

Monjduk pl. sáncolni nem lehet benne, és az en-passant-ot se ismeri (de ez utóbbit a Cyrus se)
*** Speicherplatz zu klein

Offline endi

  • EP addict
  • *
  • Posts: 7014
  • 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:
  • Chrome 73.0.3683.103 Chrome 73.0.3683.103
    • View Profile
    • Honlapom
Re: Assembly programozás
« Reply #1059 on: 2019.May.29. 20:42:16 »
online z80 fordító
http://clrhome.org/asm/
A diplomás magyar programozó megcsinált egy pacmant egy év alatt, majd lefikázta a világ legjobb játékait. :D

Offline Spidermans Friend

  • EP fan
  • *
  • Posts: 127
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 66.0 Firefox 66.0
    • View Profile
Re: Assembly programozás
« Reply #1060 on: Yesterday at 11:38 »
Nemrég belenézegettem a Cyclone-ba és az Exolon-ba, és megtaláltam, hol vannak bennük a sprite-ok, illetve a pályák eltárolva. Ezen sikeremen felbuzdulva szeretném az Exolon-t felderíteni, hogy is működik az egész játék, esetleg módosítgatni ezt-azt. Z80 gépi kódban elég alap szinten vagyok, de nagyon érdekelni kezdett. Milyen segédprogikat ajánlotok ilyesmihez? Spekihez van a Skoolkit, de azzal nem sikerült még boldogulnom. Egyáltalán a Speki vagy az EP változatokat érdemesebb piszkálni?