Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

IRQ abfangen

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Nides



Anmeldungsdatum: 27.02.2005
Beiträge: 2

BeitragVerfasst am: 27.02.2005, 09:32    Titel: IRQ abfangen Antworten mit Zitat

Hallo!

Ich suche eine Möglichkeit, einen IRQ von der Hardware im Basic zu erkennen. In der FAQ hab ich nur gefunden, wie man Interrupts auslösen kann, aber nicht wie man sie abfängt.

Ich muss keine Service-Routine schreiben sonder muss nur erkennen, ob und wann ein bestimmter IRQ von der Hardware ausgelöst wird.
Das ganze ist für eine Zeitmessung.
Vielen Dank für eure Hilfe,

Ich arbeite mit DOS 6.2 und einer 1,44MB-Diskette auf einem Embedded-PC. Daher bin ich auch nach 15 Jahren wieder zu Basic zurückgekehrt lächeln

Nides
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Paul
aka ICC, HV-Freak


Anmeldungsdatum: 11.09.2004
Beiträge: 588
Wohnort: Uelzen

BeitragVerfasst am: 28.02.2005, 21:58    Titel: Antworten mit Zitat

Hi !
Also die IRQs und INTs sind standardmäßig so verknüpft:

Code:

PIC    IRQ   INT   
0      0      8   
0      1      9   
0      2      A   
0      3      B   
0      4      C   
0      5      D   
0      6      E   
0      7      F   
1      8      70   
1      9      71   
1      A      72   
1      B      73   
1      C      74   
1      D      75   
1      E      76   
1      F      77


Soll heißen, wenn du den IRQ Nr. 4 abfangen willst, installierst du dir eine kleine Assemblerroutine am INT 0Ch. Dazu schreibst du einfach das Offset deiner Routine an die Speicherstelle 0000h:0030h (0Ch*4=30h) und das Segment deiner Routine an 0000h:0032h (0Ch*4+2=32h).
Evtl die vorigen Werte dieser Speicherstellen merken und später wieder zurückschreiben lächeln

Ok ist ein wenig kompliziert, aber ich brauch sowas für mein eigenes Betriebssystem grinsen

Erklär doch mal genauer was du vorhast, vielleicht gibt es auch eine einfachere Lösung
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Nides



Anmeldungsdatum: 27.02.2005
Beiträge: 2

BeitragVerfasst am: 28.02.2005, 23:02    Titel: Antworten mit Zitat

Ich hab eine Interfacekarte ab ISA-Bus (embedded-PC) die ich testen muss. Software für die Karte existiert noch nicht.
Ich muss ein Programm zum Testen der Hardware schreiben, die Software für das Ding mach aber nicht ich. Hab schon fast alle Tests erfolgreich absolviert, weil ich einfach eine Warteschleife laufen hab, die so lange ist, dass der Interrupt sicher ausgelöst wurde. Ich möchte aber noch messen, wie lange es unter bestimmten Bedingungen dauert, *bis* der Interrupt kommt. Daher brauch ich auch nur zu wissen, dass/wann er kommt, muss aber keine ISR schreiben.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Quark48



Anmeldungsdatum: 16.10.2004
Beiträge: 559
Wohnort: Saltendorf a.d. Naab bzw. Teublitz i.d. Oberpfalz / Bayern

BeitragVerfasst am: 05.03.2005, 15:55    Titel: Antworten mit Zitat

Hallo!

@ICC:
Klasse, das werd ich mir mal aufschreiben... Gleich mal den PC abwüürgen zwinkern
Wirklich klasse Info, sonst wär ich wieder stundenlang bei Google und hätt mich totgesucht. Ist ja blos ne SuchMASCHINE. lachen
_________________
Grüßle, Stefan lächeln
***
Wenn ein Programm auf nem alten Rechner gut läuft, dann läuft´s auf nem neuen erst recht! happy
Ich habe/hatte keine feste Spange und auch keine Schwester. Der Rest stimmt. Es tut mir leid... :-/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz