'-- portadr.bas ------------------------------------------------ >>fst'01<< - '- liest die die Basisadressen der I/O-Register von COM 1-4 ' und LPT 1-3 aus dem Speicher und zeigt sie an. '-- V 20010904 ------------------------------ http://home.arcor.de/steini63 - PRINT PRINT "Basisadressen der auf diesem Computer vorhandenen seriellen und" PRINT "parallelen Schnittstellen (0 = nicht vorhanden):" PRINT 'Die Basisadressen der Schnittstellen liegen im Bios-Datenbereich 'an den Adressen 400hex bis 40Fhex; Datenformat ist ein WORD (16 Bit): Schnittstelle$ = "COM1": LowByte% = &H400: HighByte% = &H401 GOSUB Anzeigen Schnittstelle$ = "COM2": LowByte% = &H402: HighByte% = &H403 GOSUB Anzeigen Schnittstelle$ = "COM3": LowByte% = &H404: HighByte% = &H405 GOSUB Anzeigen Schnittstelle$ = "COM4": LowByte% = &H406: HighByte% = &H407 GOSUB Anzeigen PRINT Schnittstelle$ = "LPT1": LowByte% = &H408: HighByte% = &H409 GOSUB Anzeigen Schnittstelle$ = "LPT2": LowByte% = &H40A: HighByte% = &H40B GOSUB Anzeigen Schnittstelle$ = "LPT3": LowByte% = &H40C: HighByte% = &H40D GOSUB Anzeigen END Anzeigen: 'Speichersegment ist der Bios-RAM Bereich: DEF SEG = 0 'Beide Bytes lesen und zu einem 16-Bit Wert ("Word") zusammenfuegen: BA% = PEEK(LowByte%) + PEEK(HighByte%) * 256 'hexadezimale Version der Basisadresse erzeugen: BAhex$ = HEX$(BA%) '... und den ganzen Schissmus anzeigen: PRINT Schnittstelle$; " = "; BAhex$; "hex", PRINT USING " (#### dezimal)"; BA% RETURN