Kun asm:ssa on cli sti if lippu
Onko quickbasic 4.5:ssa mitään vastaavaa jolla voisi estää keskeytykset?
OUT &H21,&HFF ' näppäimistö,keskeytyskello,lpt,com, jne. ?
OUT &HA1, &HFF 'orja
noilla taitaa estyä laitekeskeytykset, mutta pitäis päästä
ajamaan ohjelmaa win98 alla että sais tarkan laskurin arvon.
--------------------------------------------------
esim.
OUT &H61,(INP(&H61) and &HFE)' sammuttaa timer 2
OUT &H43, &hBA ' pitäis olla kerta-ajo?
OUT &H42,0 ' nollaa ylä ja alatavun
OUT &H42,0
OUT &H21,&HFF 'estää laitekeskeytykset
OUT &HA1, &HFF ' orja
tähän väliin pitäisi saada kaikkien keskeytyksien esto
että ajo onnistui win98 alla
OUT &H61,(INP(&H61) or 1), timer 2 päälle
tässä pyöritään luupissa ja otetaan aikaa
OUT &H61,(INP(&H61) and &HFE)' sammuttaa timer 2
OUT &H21,0 ' salli laitekeskeytykset
OUT &HA1,0 ' orja
tässä keskeytyksiä saisi tulla
INP (&H42),tavu1 ' luetaan laskurin arvo
INP (&H42),tavu2
----------------------------------------------
Tuota kun ajaa dos:sin alla heittoa ei tule, mutta jos yrittää win98 alla niin jopas alkoi laskuri antaa mitä sattuu.
Tähän sekavaan selostukseen kun joku osaisi vääntää rautalangasta malli esimerkin keskeytyksestä olisin kiitollinen.
Keskeytyksiä voi enabloida / disabloida nimenomaan noilla cli ja sti-käskyillä. QB:stä niiden kutsuminen onnistuu (ei tosin kovinkaan kätevästi) CALL ABSOLUTE:lla, tai ulkoisen asm-objektin linkkaamalla. Tähän hätään en uskalla päästä heittää koodia mutta voin tuollaisen viritellä.
Pitänee vielä huomauttaa että Win98:n alla ajettaessa et välttämättä saa tarkkaa arvoa vaikka disabloisitkin keskeytykset virtuaalikoneessa. Tarkempaa tietoa aiheesta ei ole.
jos viittisit viritellä se ois enemmän kuin tuhat jänistä.
Koitin tosta CALL ABSOLUTE hommasta etsiä tietoa, mutta näyttää olevan enimmäkseen lontoon murteella ja sehän ei meikäläisellä taivu, on kuin purkka tukassa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.