Welcome, Guest. Please login or register.


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

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14776
  • Country: hu
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #45 on: 2007.April.07. 13:24:10 »
INI,INIR,IND,INDR,OUTI,OTIR,OUTD,OTDR

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Assembly programozás
« Reply #46 on: 2007.April.07. 13:31:59 »
ugy emlékszam van olyan utasitás ami a port tartalmát közvetlenül a memoriába tölti vagy olvassa
valahogy igy   IN (HL),(C)   OUT (C),(HL)  ?

Dokumentált utasítás biztosan nincs ilyen (bár az OUTI/OUTD hasonló, csak változtatja a B és HL értékét). Elvileg az ED 70 és ED 71 lehetne az in (hl), (c) és out (c), (hl), de ezek nem működnek.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14776
  • Country: hu
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #47 on: 2007.April.07. 13:59:55 »
Elvileg az ED 70 és ED 71 lehetne az in (hl), (c) és out (c), (hl), de ezek nem mûködnek.
Azok az IN F,(C) OUT (C),F, mûködnek csak sok értelme nincs :-) (pl az IN-nél a két nem használt flag biten marad meg a beolvasott érték)
Megjegyzem találkoztam már olyan Spectrum játékkal, ami használta az IN F,(C)-t billentyûfigyelésre... (gondolom a visszafejtés megnehezítésére) ezért az Spectrum emu programjába ezt is beletettem.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Assembly programozás
« Reply #48 on: 2007.April.07. 14:09:31 »
Elvileg az ED 70 és ED 71 lehetne az in (hl), (c) és out (c), (hl), de ezek nem mûködnek.
Azok az IN F,(C) OUT (C),F, mûködnek csak sok értelme nincs :-) (pl az IN-nél a két nem használt flag biten marad meg a beolvasott érték)
Megjegyzem találkoztam már olyan Spectrum játékkal, ami használta az IN F,(C)-t billentyûfigyelésre... (gondolom a visszafejtés megnehezítésére) ezért az Spectrum emu programjába ezt is beletettem.

Akkor az emulátorban ez a rész valószínűleg hibás:

Code: [Select]
    case 0x070:
      {
        _IN(R.TempByte);
        ADD_PC(2);
        R.Flags |= Z80_CHECK_INTERRUPT_FLAG;
      }
      break;
    case 0x071:
      {
        _OUT(0);
        ADD_PC(2);
        R.Flags |= Z80_CHECK_INTERRUPT_FLAG;
      }
      break;

Az in f, (c) csak a nem használt biteket változtatja meg ?

Offline Ferro73

  • EP addict
  • *
  • Posts: 1015
  • Country: hu
Re: Assembly programozás
« Reply #49 on: 2007.April.07. 17:09:27 »
Mi lenne a legrövidebb kulcs és idö zx attrib atírására
én valami ilyesmire
push
push
  :
  :    X SZÁMU ismétlés
LD A,(DE)        ; DE=EREDETI ZX ATTRIB
" IN (HL),(C) "  ; HL=EP ATRIB
  :
  :
POP
POP
valami olyasmi ez amit használtak zx átiratokhoz de itt nem szoftveresen számolja hanem hardverszinten az attributokat

Offline Mayer Gábor

  • EP fan
  • *
  • Posts: 216
  • Country: hu
Re: Assembly programozás
« Reply #50 on: 2007.May.26. 10:28:06 »
Szerintetek a jp (hl) helyett nem lenne helyesebb a jp hl jelölés? miért alakulhatott ez így?

Offline Povi

  • EP addict
  • *
  • Posts: 2307
  • Country: hu
    • http://povi.fw.hu
Re: Assembly programozás
« Reply #51 on: 2007.May.29. 18:41:47 »
A zárójellel azt jelölik, hogy memóriacímre ugrik. Szerintem így helyes.
*** Speicherplatz zu klein

Offline Mayer Gábor

  • EP fan
  • *
  • Posts: 216
  • Country: hu
Re: Assembly programozás
« Reply #52 on: 2007.May.29. 19:03:32 »
de minden más utasításnál, hl a regiszter értékét használja, (hl) pedig a regiszter által mutatott cím értékét.

Offline MrPrise

  • Administrator
  • EP addict
  • *
  • Posts: 2764
  • Country: hu
    • Enterprise Forever
Re: Assembly programozás
« Reply #53 on: 2007.May.29. 21:00:07 »
Itt jelölésbeli furcsaságként beszélnek róla.
« Last Edit: 2007.May.29. 21:03:55 by MrPrise »

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: Assembly programozás
« Reply #54 on: 2007.October.23. 21:13:05 »
Nem emlexik veletlen valaki, hogy hogyan is lehetett a mar meglevo szoveges csatornakat 80 karakteresre allitani ?

Volt valami hogy "var", vagy "set" meg meg szamok, es akkor pld. meg lehetett csinalni azt hogy az 1.3 -mas asmonban 80 karakteres legyen a kep felso resze, ahol listaz...

Tom hogy a nagyobb verziojuak olyanok, de en 1.3- mat akarok ... :) Regen azzal nyomtam... :)

Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: Assembly programozás
« Reply #55 on: 2007.October.23. 21:58:44 »
Azert majd olvassatok el az elozo postot is, de ez is erdekelne:

Anno mikor mi programoztunk, egy csipetnyit sem erdekelt bennunket a rendszer, se infonk sem kedvunk nem volt rendszert hivogatni,
ugyhofgy en most ismerkedek az exos- szal, es meglepodve latom (ha jol ertem), hogy igazabol nem letezik olyan hogy "rendszerhez visszateres", tehat ha egy alkalmazas (5-os fejlecu exos modul a fileformatumban) mar atvette a vezerlest, akkor mar nincs visszaut az ot hivo alkalmazashoz, maximum ujraindithatja azt.

Tehat igazabol engem nem erdekel hogy WP- bol vagy BASIC- bol, vagy honnan irtak be a load- ot ami engem betoltott, ha en vigyazok a rendszerre, memoriara stb., szeretnek visszaterni oda, ahonnan engem hivtak. Tehat ha valaki beirt 10 BASIC sort, es meghiv engem, ha vigyazok kapja vissza a basicjet, ugyanaz WP- nel ...

De mintha ez hianyozna az exos- bol, az ember lehet rendszerbovito, azokat meg nem nezegettem, de en nem szeretnek rendszerbovito lenni, ne kelljen kulon :appname parancsokat irkalni.

Szal a kerdes az hogy jol olvasom, ha 5-os alkalmazas vagyok, akkor legfeljebb nullarol indithatom ujra a WP-t BASIC-et, vagy nem gondolom jol, es vissza lehet terni a hivohoz ?


Z80 System

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14776
  • Country: hu
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #56 on: 2007.October.24. 10:27:27 »
Miután az 5-ös fejlécû "Új Felhasználói Program" már betöltödése során felülírja 100h-tól a nullás lapot, innentõl kezdve már nem lehet vissztérni a hívó programhoz.
Rendszerbõvítõként fordított programmal lehet megcsinálni azt amire gondolsz, és nem is kell :parancs hozzá. Betöltés után meghívja a rendszerbõvítõ inicializálási rutinját az EXOS, így ide akár a programod indulását is be lehet rakni.
Így mûködik pl a Cyrus Chess is.

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: Assembly programozás
« Reply #57 on: 2007.October.24. 23:18:22 »

De akkor az a rendszerbovito ki is tud lepni teljesen? Tehat miutan lefutottam (akar ennel az inicializalasnal, amit mondasz ...) es ugy gondolom kesz vagyok, akkor az a 2-es fejlecu bovito ki is tud ugy takarodni a memoriabol, mintha ott sem lett volna ? Memoria felszabadul, :help listabol eltunik, stb. ? Mintha be sem toltottem volna ?

Z80 System

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14776
  • Country: hu
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #58 on: 2007.October.25. 18:55:35 »
a 2-es fejlecu bovito ki is tud ugy takarodni a memoriabol, mintha ott sem lett volna ? Memoria felszabadul, :help listabol eltunik, stb. ? Mintha be sem toltottem volna ?
A 2-es fejlécû igen, de az nem bõvítõ :-) Az áthelyezhetõ felhasználói program, igazából pont ez való arra amit te szeretnél.
Viszont ezt nem az EXOS kezeli teljesen, kell a "LOAD"-ot kiadó program közremûködése is, ami biztosítja a memória területet a program betöltéséhez.
Ezt viszont szerintem csak az IS-BASIC kezeli, igazából nincs is túl sok ilyen fejlécû program, csak 1-2 BASIC bõvítõ.

Visszatérve a rendszerbõvítõkhöz, a bõvítõlistába való belepiszkálással meg lehet csinálni.

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: Assembly programozás
« Reply #59 on: 2007.October.28. 16:07:10 »

Sziasztok !

Emlexem regrol, hogy lehetett exos hivas nelkul (port olvasassal valoszinuleg) billentyuzetet es joyt olvasni. Melyik doksiban vannak leirva ezek ??? Nem talalom. A Nick,Dave hardveres cuccairol van leiras az exos konyvben, key/joy csak exos alapon van leirva ...


Z80 System