Hollosi Information eXchange /HIX/
HIX CODER 83
Copyright (C) HIX
1998-04-20
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 Re: Varakozas (mind)  26 sor     (cikkei)
2 Re: Memcopy (mind)  43 sor     (cikkei)
3 Re: TSR PROBLEM ? (mind)  42 sor     (cikkei)
4 Re: Clipper, Varakozas (mind)  12 sor     (cikkei)
5 Re: jobb vagy bal? (mind)  37 sor     (cikkei)

+ - Re: Varakozas (mind) VÁLASZ  Feladó: (cikkei)

> Felado :  [Hungary]
> Tegnap a vegere elfelejtettem egy _csak_ Pentiumokon alkalmazhato
> modszert irni:
> 
> A Pentiumnak van egy 64 bites szamlaloja, amit minden orajelnel
> eggyel novel. Az rdtsc (read time stamp counter: 0x0F 0x31)
> utasitassal lehet leolvasni, az edx::eax regiszterekbe rakja az
> aktualis allast.

Ez jo! Mire nem vezet, ha az ember ismeri a processzort, amin dolgozik
 ... :-)

Egyebkent az NT-n van olyan fuggveny (KeQuerySystemTime(), DDK), ami
100nsec-os felbontasban adja meg az idot (es a visszaadott ertek egy
LARGE_INTEGER):

"System time is a count of 100-nanosecond intervals since January 1,
1601."

Valoszinuleg a fentiek alapjan mukodik - maskeppen nehez elkepzelni.

Win32-bol (user modebol) nem elerheto, bar a FILETIME struktura hasonlo,
de csak a fajlok pontos idejet lehet megtudni es Win95 alatt csak 2sec
a felbontas - ahogy az regen is szokasos volt.
-- 
Tibor
+ - Re: Memcopy (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok!

 Bocs, hogy csak ugy kutyafuttaban irok:

Ez a szoveg a SAC/TEXT/Pentopt.zip file-ban van:
> -------------------------------------------------------------------------
19.1 Moving data
----------------
Floating point instructions can be used to move 8 bytes at a time:
FILD QWORD PTR [ESI] / FISTP QWORD PTR [EDI]
This is only an advantage if the destination is not in the cache. The
optimal way to move a block of data to uncached memory on the Pentium is:

TopOfLoop:
FILD QWORD PTR [ESI]
FILD QWORD PTR [ESI+8]
FXCH
FISTP QWORD PTR [EDI]
FISTP QWORD PTR [EDI+8]
ADD ESI,16
ADD EDI,16
DEC ECX
JNZ TopOfLoop

The source and destination should of course be aligned by 8. The extra time
used by the slow FILD and FISTP instructions is compensated for by the fact
that you only have to do half as many write operations.  Note that this
method is only advantageous on the Pentium and only if the destination is
not in the cache. On all other processors the optimal way to move blocks of
data is REP MOVSD, or if you have a processor with MMX you may use the MMX
instructions instead to write 8 bytes at a time.
> -------------------------------------------------------------------------

Remelem mindenkinek ertheto. En egy kicsit onzonek erzem a megoldast. :)
Annyit tennek meg hozza, hogy az altalam ismert leggyorsabb x86 memcopy
a PREFETCH/unrolled MOVQ. No igen, PREFETCH csak K6-3D-ben es attol felfele
van, de hat ha szabad Pentiumra/PProra(??) optimalizelni, akkor erre miert ne
lehetne? :)

Balala 
Ui: Mi a frasznak talaltak ki a DMA-t? Hulye PC!...
Ui2: Ok, ez igy komolytalan, csak gyorsan helyesbiteni akartam, ha lesz idom 
(98 augusztus) visszaterek ra.
+ - Re: TSR PROBLEM ? (mind) VÁLASZ  Feladó: (cikkei)

On 18 Apr 98 at 15:11,  > 
wrote:

> Kellene nekem egy olan TSR ami tudja azt, hogyha a
> billentyuzeten megnyomok 1 adott billentyut (pl : Num
> Pad 5 -os ) akkor elinduljon egy program. A program

Az, hogy akkor induljon el, az eleg nehez dos-ban. Nem biztos, hogy 
van szabad memoria pl. Jobb, ha eleve bent van a memoriaban.

> maga nem csinalna mast, mint egy text filet-t meg-
> jelenitene.  Pl : egy ASM forraskodot editalgatva kell
> 1 kis info egy parancsrol, akkor az megjelenjen, es addig

Vannak tsr-ek, amik pont ezt csinaljak. Pl. a NortonGuide.

> PS: Peldaul az int 16h -ban ha magamra iranyitom,
>        tetszoleges ideig idozhetek ?

Igen. Pontosabban:

Ketfele dolgot erdemes csinalni: Be kell koltozni egyreszt az 
int16-ba, masreszt az int28-ba. Nemely program az int16-ot hivogatva 
varakozik esemenyre, masoknal meg billentyure varas kozben a dos az 
int28-at hivja meg.

Viszont csak akkor szabad dos fuggvenyeket (file nyitas, stb.)
meghivni, ha a dos eppen nem fut, mert a dos nem reentrans. Van egy
valtozo, amit a dos novel, amikor fut egy int21-es fuggveny: InDOS
flag-nek is nevezik. (a 34h-s int21-gyel lehet a cimet lekerdezni) 
Int16-ban csak akkor szabad dos-t hivni, ha ez a flag 0. Int28-ban 
csak akkor, ha 0 vagy 1.

Ha a kivant pillanatban (amikor a NumPad5-ost megnyomjak) eppen
rosszul all az InDOS flag, akkor egy valtozot erdemes beallitani,
hogy majd dolgozni kell, es a kovetkezo alkalmakkor (int16 vagy
int28 hivaskor) figyelni, hogy szabad-e mar dos-t hivni, es csak 
akkor dolgozni.

István
--  Istvan Marosi  --  http://www.sch.bme.hu/~marosi  --
--  Recosoft Ltd.  --  mailto:  --
+ - Re: Clipper, Varakozas (mind) VÁLASZ  Feladó: (cikkei)

On 18 Apr 98 at 8:07,  > wrote:

> Na bumm, a Clipperrel mellefogtam - az ungetch()-ra en is gondoltam,
> csak nem ertettem egeszen, hogy C-ben kellene a Keyboard fuggvenyt meg-
> irni... :-)

Az ungetch csak 1 melyseget tud visszanyomni tudtommal. De ha ez 
eleg, akkor persze OK.

István
--  Istvan Marosi  --  http://www.sch.bme.hu/~marosi  --
--  Recosoft Ltd.  --  mailto:  --
+ - Re: jobb vagy bal? (mind) VÁLASZ  Feladó: (cikkei)

On 18 Apr 98 at 10:36,  > wrote:

> szakmai artalom? szamomra (mint a fizikaban mindig) a pozitiv korbejarasi
> irany az oramutato jarasaval ellentetes irany (vagyis a pozitiv
> trigonometrikus irany). Megprobaltam de egyszeruen nem birok egy
> teglalapot jobbra fordulva korbejarni, olyan ez mint fejen allni :-]

:)))

Az egesz megegyezes kerdese :)) Ha viszont az a megegyezes, hogy egy 
elvektor (élvektor) jobb oldalan van a fekete pixel, bal oldalan a 
feher, akkor ez mar meghatarozza, hogy az oramutato jarasaval 
_azonos_ (tehat negativ) iranyba jarod korbe az alakot.

> >fordulunk; ha konkav, akkor ide-is, oda-is, de a "belso"
> >csucsoknal az ellenkezo iranyu fordulas mindig "kiejt" egy sima
> 
> valami azert nem volt tiszta, tomor alakzatokrol beszeltunk vagy sem?

Tomorrol, persze.

> Azt hiszem csak en gondoltam ugy...bar volt szo lyukrol de nem emlekszem
> karikara vagy gyurure.

Masrol volt fentebb szo:

    x   x
    x x x
    x x x

Felul a bemelyedesben, a kihagyott pixel helyen ilyen fordulasok
jonnek egymas utan: jobbra, balra, balra, jobbra. Minden balra 
fordulasnak van egy jobbra parja, ezek kiejtik egymast.

István
--  Istvan Marosi  --  http://www.sch.bme.hu/~marosi  --
--  Recosoft Ltd.  --  mailto:  --

AGYKONTROLL ALLAT AUTO AZSIA BUDAPEST CODER DOSZ FELVIDEK FILM FILOZOFIA FORUM GURU HANG HIPHOP HIRDETES HIRMONDO HIXDVD HUDOM HUNGARY JATEK KEP KONYHA KONYV KORNYESZ KUKKER KULTURA LINUX MAGELLAN MAHAL MOBIL MOKA MOZAIK NARANCS NARANCS1 NY NYELV OTTHON OTTHONKA PARA RANDI REJTVENY SCM SPORT SZABAD SZALON TANC TIPP TUDOMANY UK UTAZAS UTLEVEL VITA WEBMESTER WINDOWS