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
|
|