Hollosi Information eXchange /HIX/
HIX CODER 819
Copyright (C) HIX
2000-05-12
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 Datum (mind)  7 sor     (cikkei)
2 Windows hatter frissites (mind)  11 sor     (cikkei)
3 Re: megszakitas kezeles... (mind)  73 sor     (cikkei)
4 Re: Megszakitas kezeles (mind)  10 sor     (cikkei)
5 virtual ~ & Windows utemezo (mind)  11 sor     (cikkei)
6 Re: Szovegeditor, paralel port (mind)  21 sor     (cikkei)
7 Re: megszakitas kezeles... (mind)  81 sor     (cikkei)
8 perl (mind)  18 sor     (cikkei)
9 MS DOS megszakitasok (mind)  12 sor     (cikkei)
10 Jacson pszeudo nyelv (mind)  7 sor     (cikkei)

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

Sziasztok Koderek!
Egy DOS alatti C programban kellene a datum ellenorzese, hogy egy megadott
idopontig hany nap van meg hatra. Gondolom van ra valamilyan fuggveny,
amellyel ez megoldhato. En nem talaltam.

Csaba

+ - Windows hatter frissites (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok!

Hogyan lehet ravenni a Windowst (NT4+Active desktop SP6a),
hogy az asztal hatteret frissitse?
A registry-be beirom a megfelelo helyre a kivant hatteret,
mar csak az kene, hogy meg is valtozzon :))
(mondjuk ugy, ahogy az explorerrel lehet egy oldalrol kepet betenni
hatternek)

Koszi
KXN
+ - Re: megszakitas kezeles... (mind) VÁLASZ  Feladó: (cikkei)

hi HIX CODER!

>Egy  program  naplozasat  szeretnem felugyelni egy ujonnan keszitendo
>rezidens  programbol.  Az  elkepzeles szerint a DOS 21h megszakitasat
>iranyitom  at  a  sajat programra, es az AH=40 funkciokod erkezesekor
>(iras)  megvizsgalom  az  irni  kivant  adatokat ([DS:DX] buffer), es
>bizonyos  feltetelek teljesulese eseten ki szeretnem rakni a kepernyo
>bizonyos helyere.
>Tanacsokat  szeretnek  kerni,  hogy  a  mire  kell nagyon figyelni? A
>programot  DOS  6.x  alatt  hasznalnank,  es  BP7-el  probalkoztam, a
>beepitett  help  szerinti  megszakitaskezelo beiktatasaval, de sajnos
>nem sok sikerrel.
HC> Nos,  de a Pascal interrupt direktivajaval ne is probalkozzal, mert ez
HC> tokeletesen alkalmatlan barmilyen komoly megszakitaskezelo megirasahoz
HC> (a max. az INT1C atrianyitas, ami a peldaban is van). E helyett inkabb
HC> irjal  assembler; direktivaval megszakitaskezelo rutint. Amire erdemes
HC> figyelni:
HC> - a szoban forgo eljarasnak se parameter se lokalis valtozoi ne
HC> legyenek, mert akkor a Pascal belemocskol a rutinba az elejen
HC> - az eljarast iret-tel zard (ret helyett)
haaat... ez azert nem teljesen igy van mondjuk egy dos hook eseten...
en valahogy igy gondolom el a megszakitast:
  push regs
  pop regs
  jmp far ptr cs:[oldintvec]
ahol az oldintvec a regi megszakitas vektor....

HC> - minden modositott regiszter tartalmat el kell menteni belepeskor,
HC> majd kilepeskor visszaallitani a megszakitaskezeloben
HC> - a belepeskor a regiszterek tartalma definialatlan, igy pl. ha Pascal
HC> rutint hivsz, akkor elotte allitsd be a DS regisztert a sajat (a
HC> programbeli) adatszegmensre
HC> - ha komolyan mennyisegu adatot nyomsz le a veremre (pl. Pascal
HC> eljarasokat hivsz), akkor a megszakitaskezelobe belepes utan erdemes
HC> atvaltani egy sajat stackre az SS, SP regiszterek atirasaval
HC> (lehetoleg egy CLI-STI blokkon belul ird at oket, mert egyebkent
haat... legjobb tudomasom szerint is a megszakitaba cli
allapotban lep be a proci akar int xx akar irq volt a
kivalto ok, azaz a cli/sti blokk folosleges...

HC> csunya meglepetesek erhetnek) Ja, es DOS eseteben arra is figyelj,
HC> hogy a DOS nem re-entrans, tehat egy DOS funkciohivasbol nem lehet
HC> ujabb hivast kezdemenyezni (magyarul az INT21 kezelodbol max.
HC> BIOS-szal - int10h - tudsz a kepernyore irni).
HC> Megszakitaskezelobol  egyebkent  is  illik  megvizsgalni az InDos flag
HC> (INT21/AH=34h)   erteket,   es   ennek  megfeleloen  eljarani  az  I/O
haatt... ezzel sem ertek _teljesen_ egyet.... gondolj csak bele...
ott van a dos hook.... amikor az fut, akkor meg az indos flag igen
erosen 0 leszen, mivelhogy majd csak a rutin vegen levo far jump tol
lesz az 'igazi' dosban... amig a dos hook fut, addig meg kivul van
doson, tehat nyugodtan hasznalhatja az int21h-t.. /lasd pl a virusok,
amik pl file megnyitaskor fertoznek... stb... ha belegondolsz, rajossz,
hogy igazat beszelek;))))/... es mivel a dos nem reentrans, ezert
pl a dos hooknak nem kell figyelnie, hogy indos-e a jatek, vagy sem,
mert amikor indos, akkor ugyse fogjak meghivni... /vagy ha igen,
az mar nem a hook hibaja lesz.....;)))), stbstb../
amugy amint a te peldad is mutatja, a dosnak bizonyos funkcioi
reentransok... ilyen pl az int21h/ah=34h... ha nem lenne az,
akkor pl nem is lenne ertelme ennek az alfunkcionak....;))))))))

HC> muvelteket  illetoen.  Ha  eppen  nem  lehet DOS megszakitasokat hivni
HC> (mint  nalad  mindig),  akkor az adatokat egy kozbulso pufferteruletre
HC> kell  irni  ahonnan  majd egy masik alkalommal, esetlegesen egy masik,
es ugyebar ha az indos flag allandoan 0, akkor ez a resz mar teljesen
ervenyet is vesztette, mivel akkor nem kell masolgatni, stb....;)) hogy
maradjunk a virus peldanal, altalaban nem a file megnyitasat koveto
otodik napon fertoz, hanem azonnal... /eleg nagy kar;)))))))

HC> periodikusan   vegrehajtodo  megszakitaskezelobol  (pl.  INT1C)  lehet
HC> kiirni oket. Persze ott is csak az InDos flag megvizsgalasa utan...
HC> Hat, egyelore kb. ennyi...

Mc
+ - Re: Megszakitas kezeles (mind) VÁLASZ  Feladó: (cikkei)

> legyen (mivel az INDOS 0, pl. int1c -bol barmikor johet egy int21 hivas

Hopp, hulyeseget irtam, termeszetesen int1c -bol nem johet, mivel az int
utasitas letiltja a megszakitasokat. Azert en mindig reentransra irtam
az int21 rutinokat. Arra is kell figyelni, hogy neked int21 helyett az
eltarolt int21 cimet kell hasznalnod (pushf, call). Ezert is jobb
assemblyt hasznalni, mivel a pascal fuggvenyek nyilvan az
int21 -et hivjak.

bLn
+ - virtual ~ & Windows utemezo (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok!

Azt szeretnem megkerdezni, hogy szerintetek milyen
alkalmazasi terulete lehet a virtualis destruktoroknak, vagyis
 mire hasznalja'tok?

Valaki feltudna vilagositani a Windows 3.1, 95, 98, NT
utemezojerol. En ugy tudom, hogy az NT az preemptiv, mig
a tobbi cooperativ. Erositsetek meg vagy cafoljatok. Ha valaki
tud tobbet megoszthatna velem. 
bye...
+ - Re: Szovegeditor, paralel port (mind) VÁLASZ  Feladó: (cikkei)

> Szovegeditor  (a  dos  edit -jenel nem kell tobb tudas), es parhuzamos
> port vezerlesere keresnek forrasokat. Kellene ez pascalban.
> Elore is koszi!
> Bye!

> '73 es mni DX de HG7WGD
>   Op.: David  QTH: Cegled
>     Tel.: +36-53-312-904

> Ui.: Ja! Nem lenne nagy baj, ha linux alatt is menne...

Csak nem TNC-hez irsz terminal programot? Ha linux alatt kell a dolog, akkor
nezd meg a HAM csomagot, es egyebkent szinte az osszes szovegszerkesztonek
megtalalod a forrasat a neten (talan a WordPerfect es a StarOffice kivetelevel
mindegyiket). De pl. Debian vagy SuSE disztribucioban ott van a CD-n is.

73, Tamas

Tamas Rudnai / Sophos Plc
mailto:
http://www.sophos.com
+ - Re: megszakitas kezeles... (mind) VÁLASZ  Feladó: (cikkei)

>HC> - az eljarast iret-tel zard (ret helyett)
>haaat... ez azert nem teljesen igy van mondjuk egy dos hook eseten...
>en valahogy igy gondolom el a megszakitast:
>  push regs
>  pop regs
>  jmp far ptr cs:[oldintvec]
>ahol az oldintvec a regi megszakitas vektor....
En meg ugy, hogy
push regs
pop regs
pushf
call far ptr cs:[oldintvec]
iret

Na, akkor most mi van? (Az, hogy nincs igazad, mert mindket megoldas
egyenerteku bizonyos esetekben, es neha - amikor a hivas utan is akarsz
valamit meg "matatni" - meg bizony csakis a masodik hasznalhato...)

>HC> - ha komolyan mennyisegu adatot nyomsz le a veremre (pl. Pascal
>HC> eljarasokat hivsz), akkor a megszakitaskezelobe belepes utan erdemes
>HC> atvaltani egy sajat stackre az SS, SP regiszterek atirasaval
>HC> (lehetoleg egy CLI-STI blokkon belul ird at oket, mert egyebkent
>haat... legjobb tudomasom szerint is a megszakitaba cli
>allapotban lep be a proci akar int xx akar irq volt a
>kivalto ok, azaz a cli/sti blokk folosleges...
Megszakitasok eseten valoban folosleges - csak altalanossagban irtam a
verem-valtasrol...

>HC> csunya meglepetesek erhetnek) Ja, es DOS eseteben arra is figyelj,
>HC> hogy a DOS nem re-entrans, tehat egy DOS funkciohivasbol nem lehet
>HC> ujabb hivast kezdemenyezni (magyarul az INT21 kezelodbol max.
>HC> BIOS-szal - int10h - tudsz a kepernyore irni).
>HC> Megszakitaskezelobol  egyebkent  is  illik  megvizsgalni az InDos flag
>HC> (INT21/AH=34h)   erteket,   es   ennek  megfeleloen  eljarani  az  I/O
>haatt... ezzel sem ertek _teljesen_ egyet.... gondolj csak bele...
>ott van a dos hook.... amikor az fut, akkor meg az indos flag igen
>erosen 0 leszen, mivelhogy majd csak a rutin vegen levo far jump tol
>lesz az 'igazi' dosban... amig a dos hook fut, addig meg kivul van
>doson, tehat nyugodtan hasznalhatja az int21h-t.. /lasd pl a virusok,
>amik pl file megnyitaskor fertoznek... stb... ha belegondolsz, rajossz,
>hogy igazat beszelek;))))/... es mivel a dos nem reentrans, ezert
>pl a dos hooknak nem kell figyelnie, hogy indos-e a jatek, vagy sem,
>mert amikor indos, akkor ugyse fogjak meghivni... /vagy ha igen,
>az mar nem a hook hibaja lesz.....;)))), stbstb../
>amugy amint a te peldad is mutatja, a dosnak bizonyos funkcioi
>reentransok... ilyen pl az int21h/ah=34h... ha nem lenne az,
>akkor pl nem is lenne ertelme ennek az alfunkcionak....;))))))))
ad 1. bizony-bizony az INT21h _definicio szerint_ nem re-entrans, tehat ha
egyes funkciok mukod(ne)nek is igy egy-egy konkret verzio eseteben, akkor
sem szabad(na) erre epiteni, mert semmi garancia nincs arra, hogy a
kovetkezo verzioban, Win alatt DOS boxban, stb. nem okoz ez majd problemat
(mert ott mar tok veletlenul nem lesz hasznalhato az a funkcio sem DOS
hivasbol)
ad 2. a kozhiedelemmel ellentetben INT21h-et nem csak az alkalmazas hivhat,
hanem a DOS sajat maga belulrol (egy folyamatban levo INT21h-bol is).
Nyilvan nem barmelyik, hanem nagyon is jol meghatarozott funkciokat (pl.
AX=3302h) hiv meg, amiket azert nem kozvetlenul CALL-lal er el, hogy a DOS
opcionalisan betoltesre kerulo komponensei (pl. SHARE, FASTOPEN, SMARTDRV,
stb.) a DOS kernel kodjaban torteno "matatas" nelkul, egyszeruen a megfelelo
INT21 funkciok hookolasaval szervesen be tudjanak epulni belso DOS funkciok
vegrehajtasaba is. A lenyeg: az INT21 kezeloben az InDOS flag erteke nem
feltetlenlul 0.
ad 3. az altalad irtakkal ellentetben az AH=34 egyaltalan  _nem_ re-entrans
funkcio. Egyebkent is csak egy amator oldana meg ugy az InDOS flag
vizsgalatat (aminek cime ugye nem valtozik kikapcsolasig) a
megszakitaskezelobol, hogy minden alkalommal meghivja az AH=34 funkciot es
megnezi a visszakapott cimen talalhato byte erteket. A helyes - es mivel nem
re-entrans a hivas, igy kotelezoen alkalmazando - eljaras az, hogy az
InDOS-flag cimet csakis egyszer, meg a rezidensse valas elott (tehat DOS
megszakitason kivul) kerdezi le a program, es a kesobbiekben csak ezt az
eltarolt cimet szedi elo es vizsgalja meg a flag erteket.

>HC> muvelteket  illetoen.  Ha  eppen  nem  lehet DOS megszakitasokat hivni
>HC> (mint  nalad  mindig),  akkor az adatokat egy kozbulso pufferteruletre
>HC> kell  irni  ahonnan  majd egy masik alkalommal, esetlegesen egy masik,
>es ugyebar ha az indos flag allandoan 0, akkor ez a resz mar teljesen
>ervenyet is vesztette, mivel akkor nem kell masolgatni, stb....
Mivel az InDOS-flag bizony _nem_ feltetlenul 0 az INT21h-ban, igy ugye nem
az veszti ervenyet amit en mondtam, hanem amit te...

Gabor
+ - perl (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok !

Egy perl cgi scriptben talaltam a kovetkezoket :

print <<HTML_HEADER;

html kodok
javascript fuggvenyek
perl fuggvenyek

HTML_HEADER

Mas hasonlo blokkok is voltak.
Ha megmondana valaki, hogy mit jelent, vagy forrast tudna
szolgaltatni hozza, nagy halam ovezne.

Koszi
	Szambi
+ - MS DOS megszakitasok (mind) VÁLASZ  Feladó: (cikkei)

Sziasztok!

Mindenkinek nagyon koszonom a megszakitaskezeles targyban 
irt kerdesemmel kapcsolatos valaszait.
Ujabb kerdesem: tudnatok-e olyan webcimet javasolni, 
ahonnan letoltheto a DOS megszakitasok jegyzeke, reszletes
(?) leirassal egyutt? Vagy ha nincs ilyen, hasznalhato es 
megvasarolhato konyv cimet ajanlani?
A segitsegeket ismet nagyon koszonom.

Udv:
Peter
+ - Jacson pszeudo nyelv (mind) VÁLASZ  Feladó: (cikkei)

Ave All!

Ha van a targybelivel kapcsolatban doksija
valakinek,kerem ossza meg velem.Sajnos surgos lenne,
nem tudtam magamtol felhajtani !
Elore is koszonok minden segitokesz valaszt!
Csaba

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