Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Mr.Qb.4.5
Anmeldungsdatum: 10.11.2004 Beiträge: 110 Wohnort: in Bayern
|
Verfasst am: 27.11.2004, 17:24 Titel: Wie kann ich mit Qbasic auf den DOS Hauptspeicher zugreifen? |
|
|
Hallo,
wie geht es denn? kann man das mit peek und poke machen?
wie viel speicherplatz habe ich da ungefähr? kann das system dann abstürzen wenn ich was falsches eintrag? oder kann das system dann mir meine daten dann überschreiben?
kann mir jemand vielleicht ein kleines Beispiel dazu schreiben und mir vielleich auch noch sagen von welcher bis zu welcher Adresse der Bereich geht?
VIELEN DANK SCHON MAL!
MFG
Mr.Qb.4.5 |
|
Nach oben |
|
|
MisterD
Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 27.11.2004, 17:46 Titel: |
|
|
Also das System kann man anhalten. ja. Du musst nur in irgendnem Sektor einfach von index 0 bis 1000 überall 0 reinpeeken (oder poken, kenn mich damit ned aus)
Mehr weiß ich aber auch ned. Hab mir is nur grad bissl langweilig... _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2507 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 27.11.2004, 21:16 Titel: |
|
|
Der Zugriff auf den konventionellen Arbeitsspeicher (=das erste Megabyte Adressraum, wie beim Intel 8088/8086 typisch) ist kein Problem: Mit DEF SEG zuerst das Segment setzen und dann mit PEEK()/POKE aus der entsprechenden Offset-Adresse etwas lesen bzw. hineinschreiben.
Für den Zugriff auf den darüberliegenden Speicher muss man den Prozessor in den Protected Mode umschalten können (80286: bis 16 MB adressierbar; 80386 und höher bis 4 GB adressierbar). In diesem Zusammenhang bietet DOS mit HIMEM.SYS und EMM386.EXE entsprechende Speichermanager für Real-Mode-DOS-Programme. Wie weit man auf diese API-Schnittstellen von HIMEM und EMM386 mit CALL INTERRUPT zugreifen kann, habe ich bisher auch noch nie getestet. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
Charly2
Anmeldungsdatum: 28.11.2004 Beiträge: 29 Wohnort: Mittelfranken
|
Verfasst am: 28.11.2004, 14:14 Titel: |
|
|
Mehr konventioneller Speicher als 1 MB geht unter DOS nicht.
Der Zugriff auf EMS und XMS-Speicher ist schon etwas umständlich.
Aber dafür gibt es ja Bibliotheken.
Für mich als Power-Basic Programmierer ist es etwas einfacher.
Bei PowerBasic 3.5 kann man bis zu 16 MB EMS-Speicher mit
DIM Virtual als ganz normales Array ansprechen.
Für einen einfachen Zugriff auf den kompletten Arbeitsspeicher benötigt man eine Programmiersprache, die unter einem 32Bit-Betriebssystem läuft (wie Windows, Linux). |
|
Nach oben |
|
|
|