|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Paul aka ICC, HV-Freak
Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
|
Verfasst am: 17.11.2004, 15:38 Titel: Assembler -> Protected Mode ! Hilfe ! |
|
|
Moin !
Ich weiß, eigentlich gehört diese Frage in ein Assemblerforum .. aber andere Foren können halt nicht mit www.qb-forum.de mithalten
Nur eine kleine Frage:
Wer kennt sich hier mit Assembler aus, besser gesagt mit Protected mode ?
Vielleicht hat ja jemand von euch schon mal was mit PMODE gemacht und könnte es mit erklären (braucht ja nicht unbedingt in diesem Thread sein)
Ich brauch den PMODE für ein kleines Betriebssystem. Mit ASM komme ich sehr gut klar, das OS läuft auch schon...bloß eben nur im Realmode !
Dankeschön.. _________________
|
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
Paul aka ICC, HV-Freak
Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
|
Verfasst am: 17.11.2004, 16:19 Titel: |
|
|
Ne, leider nicht...aber das wäre auch noch ne idee
Also wenns mit dem Protected Mode klappen sollte, bin ich bereit alles noch mehr zu erweitern mit nem eigenen Dateisystem und vielleicht auch eine GUI...dann kann ich ja nen QB-Interpreter in ASM coden und ICC Laos ausführen _________________
|
|
Nach oben |
|
|
marzec
Anmeldungsdatum: 13.10.2004 Beiträge: 267
|
Verfasst am: 17.11.2004, 20:39 Titel: |
|
|
ich hoffe dir ist klar das das mit dem pm nicht so leicht ist. bist du erst einmal im pm gibts keine bios interrupts mehr (oder sagen wir deren benutzung würde einen switch in den realmode bedeuten) d.h. du müsstest dir sämtliche device treiber auch die für die festplatte selbst schreiben.
eine andere möglichkeit wäre diesen flatmode zu verwenden, da bist du im realmode kannst aber trotzdem durch einen trick den gesamten ram verweden. einziger wehrmutstropfen die addressregister sind weiterhing auf 16 bit beschränkt d.h. 64kb pro segment
wenn du links brauchst, könnt ich was raussuchen... hab jetzt grad keine zeit _________________ Yagl - yet another gameprogramming library |
|
Nach oben |
|
|
Paul aka ICC, HV-Freak
Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
|
Verfasst am: 17.11.2004, 21:21 Titel: |
|
|
ja das mit den interrupts weiß ich..
vom flatmode hab ich auch schon gehört, aber wie bitteschön soll ich mit einem 16er segmentzeiger den ganzen möglichen ram von 4gb ansprechen können ?
naja ich google mal, aber weiterhin wäre über antworten in diesem thread dankbar _________________
|
|
Nach oben |
|
|
marzec
Anmeldungsdatum: 13.10.2004 Beiträge: 267
|
Verfasst am: 17.11.2004, 21:29 Titel: |
|
|
mich jetzt nicht falsch verstehen, aber das is ein qbasic forum ich glaub kaum das du hier brauchbare antworten erhalten wirst. googl einfach nach os developement etc. das bringt dich um einiges weiter.
würd mich sehr interessieren wie weit du kommst, hab das vor laaanger zeit auch einmal gemacht aber nur im realmode _________________ Yagl - yet another gameprogramming library |
|
Nach oben |
|
|
Paul aka ICC, HV-Freak
Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
|
Verfasst am: 17.11.2004, 21:36 Titel: |
|
|
Ich sag jetzt mal in Anführungsstrichen: "Ein OS im realmode ist simpel." - Bloß hat es Speichermäßig eine miese Performance.
Naja ich werd sehen obs geht oder nicht, erstmal ist Copy&Paste angesagt
Ich sag dir bescheid wenn mein OS fertig ist _________________
|
|
Nach oben |
|
|
Quark48
Anmeldungsdatum: 16.10.2004 Beiträge: 559 Wohnort: Saltendorf a.d. Naab bzw. Teublitz i.d. Oberpfalz / Bayern
|
Verfasst am: 25.11.2004, 21:03 Titel: |
|
|
Hallihallo!
Ich würde dir vom Protected Mode abraten. Ich würde den V86er-Mode (Wie von EMM386) nehmen, das ist eine Mischung aus 60% Real Mode und 39% Protected Mode und 1% Absturzgefahr.
MfG Quark48 _________________ Grüßle, Stefan
***
Wenn ein Programm auf nem alten Rechner gut läuft, dann läuft´s auf nem neuen erst recht!
Ich habe/hatte keine feste Spange und auch keine Schwester. Der Rest stimmt. Es tut mir leid... :-/ |
|
Nach oben |
|
|
Paul aka ICC, HV-Freak
Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
|
Verfasst am: 25.11.2004, 21:41 Titel: |
|
|
Nee, soll ja kein kack-DOS werden
wenn schon denn schon...ich werde weiter suchen... _________________
|
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2507 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 25.11.2004, 21:47 Titel: |
|
|
Mit Linux und FreeBSD gibt es ja zwei schöne Open Source-Betriebssysteme, bei welchen es sich durchaus lohnt, einen Blick in den Quellcode des Kernels zu werfen, denn beides läuft voll 32-Bit! Tipp: Ich hätte sonst noch ein altes 4.4er-SuSE-Linux zu Hause, wo der Kernel-Sourcecode noch nicht den Umfang von heute aufweist. Bei Interesse kann ich davon ein .ISO auf meinen Webserver stellen. Man kann beim Studium der dortigen Quelltexte übrigens extrem viel lernen! _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
|
Paul aka ICC, HV-Freak
Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
|
Verfasst am: 25.11.2004, 21:56 Titel: |
|
|
Danke für deine Hilfe, aber ich schätze mal, dass Linux nicht nur in ASM, sondern auch C(++) geschrieben ist...
Ich will einfach nur in den PMODE schalten und dort meinen Kram machen können. _________________
|
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2507 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 25.11.2004, 22:01 Titel: |
|
|
ICC hat Folgendes geschrieben: | aber ich schätze mal, dass Linux nicht nur in ASM, sondern auch C(++) geschrieben ist... |
Der grösste Teil des Quellcodes ist C, wie von Dir korrekt erkannt. Gewisse Lowlevel-Routinen und Funktionalitäten sind in Assembler geschrieben - einfach all dies, was sich mit einer Hochsprache nicht vernünftig oder überhaupt nicht lösen lässt. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
|
Dusky_Joe
Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 23.01.2005, 19:58 Titel: |
|
|
Hi Leute!
ganz im gegenteil, auch in diesem Forum gibts abhilfe für so was *g*
Ich hab irgendwann mal im Netz den Code hier gefunden:
Ich hab ihn mir bis jetzt noch nicht ganz durchgelesen, teils, weil ich schon ziemlich schnell aussteig, teils, weil mir momentan pmode gar ned so viel bringt. bis jetz bin ich immer noch mit den guten alten 640kb ausgekommen *g*
Naja, auf jeden fall sollte dir das hier weiter helfen.
Code: |
.MODEL SMALL,C
.286 ; Befehle der 80286-CPU zulassen
.STACK
GDT_SIZE = 9 ; Anzahl der Deskriptoren in der GDT
IDT_SIZE = 14 ; Anzahl der Deskriptoren in der IDT
CODE_DESCRIPT = 48 ; Deskriptor-Index f?r Codesegment
SCREEN = 64 ; Deskriptor-Index f?r Screensegment
IDT_DESCRIPT MACRO LIMIT,BASE_LOW,BASE_HIGH,ACCESS
DW LIMIT
DW BASE_LOW
DB BASE_HIGH
DB ACCESS
DW 0
ENDM
.DATA
MASK1_8259A DB ?
MASK2_8259A DB ?
GDT_ADR LABEL WORD
;
; Deskriptor Nr. 0 - Dummy-Deskriptor
;
DW 0
DW 0
DB 0
DB 0
DW 0
;
; Deskriptor Nr. 1 - Deskriptor f?r GDT
;
DW GDT_SIZE * 8
DW ?
DB ?
DB 092h
DW 0
;
; Deskriptor Nr. 2 - Deskriptor f?r IDT
;
DW IDT_SIZE * 8
DW ?
DB ?
DB 092h
DW 0
;
; Deskriptor Nr. 3 - Deskriptor f?r Datensegment
;
DW 0FFFFh
DW ?
DB ?
DB 092h
DW 0
;
; Deskriptor Nr. 4 - Deskriptor f?r Extrasegment
;
DW 0FFFFh
DW ?
DB ?
DB 092h
DW 0
;
; Deskriptor Nr. 5 - Deskriptor f?r Stacksegment
;
DW 0FFFFh
DW ?
DB ?
DB 092h
DW 0
;
; Deskriptor Nr. 6 - Deskriptor auf das Programmcodesegment
;
DW 0FFFFh
DW ?
DB ?
DB 09Ah
DW 0
;
; Deskriptor Nr. 7 - Deskriptor f?r BIOS-Segment
;
DW 0
DW 0
DB 0
DB 0
DW 0
;
; Deskriptor Nr. 8 - Deskriptor f?r BIOS-Segment
;
DW 2000h
DW 0
DB 0
DB 92h
DW 0
; ---------------------------------------------------------
; Vierzehn Interrupt Deskriptoren definieren
; ---------------------------------------------------------
IDT_ADR LABEL WORD
IDT_DESCRIPT FAULT00,CODE_DESCRIPT,0,86h
IDT_DESCRIPT FAULT01,CODE_DESCRIPT,0,86h
IDT_DESCRIPT FAULT02,CODE_DESCRIPT,0,86h
IDT_DESCRIPT FAULT03,CODE_DESCRIPT,0,86h
IDT_DESCRIPT FAULT04,CODE_DESCRIPT,0,86h
IDT_DESCRIPT FAULT05,CODE_DESCRIPT,0,86h
IDT_DESCRIPT FAULT06,CODE_DESCRIPT,0,86h
IDT_DESCRIPT FAULT07,CODE_DESCRIPT,0,86h
IDT_DESCRIPT FAULT08,CODE_DESCRIPT,0,86h
IDT_DESCRIPT FAULT09,CODE_DESCRIPT,0,86h
IDT_DESCRIPT FAULT10,CODE_DESCRIPT,0,86h
IDT_DESCRIPT FAULT11,CODE_DESCRIPT,0,86h
IDT_DESCRIPT FAULT12,CODE_DESCRIPT,0,86h
IDT_DESCRIPT FAULT13,CODE_DESCRIPT,0,86h
.CODE
DS_SAVE DW ?
ES_SAVE DW ?
SS_SAVE DW ?
STRING DB 'ICH BIN IM PROTECTED-MODUS!'
STRING_LEN = $ - STRING
BEEP PROC FREQUENZ:WORD
MOV DI,FREQUENZ ; Frequenz des Tones
MOV BX,10 ; Dauer des Tones in 0.2 Sek.
MOV AL,182 ; Timer initialisieren
OUT 43H,AL
MOV DX,12H ; Zeitschleife festlegen
MOV AX,34DCh ; Frequenz umrechnen
DIV DI
OUT 42H,AL ; Umgerechnete Frequenz an den
MOV AL,AH ; Timer schicken
OUT 42H,AL
IN AL,61H ; Inhalt des Ports 61h retten
MOV AH,AL
OR AL,3 ; Lautsprecher einschalten
OUT 61H,AL
WARTE:
MOV CX,0DAD4h ; Zeitschleife ca. 200 Millisekunden
l1:
LOOP l1
DEC BX ; Z„hler erniedrigen
JNZ WARTE ; Ausschalten ?
MOV AL,AH ; Port 61h wieder herstellen
OUT 61H,AL ; das heiát Lautsprecher aus
RET
BEEP ENDP
; ---------------------------------------------------------
; Rechnet eine Segment:Offset-Adresse in eine 24-Bit-Adresse
; um, die in der GDT abgelegt wird.
; ---------------------------------------------------------
SET_GDT_BASE PROC BASE_OFF:WORD,BASE_SEG:WORD,GDT_NR:WORD
PUSH AX
PUSH CX
PUSH DX
PUSH DI
MOV AX,BASE_SEG
MOV DX,16
MUL DX
ADD AX,BASE_OFF
ADC DL,0
MOV DI,GDT_NR
MOV CL,3
SHL DI,CL
ADD DI,2
MOV GDT_ADR[DI],AX
ADD DI,2
MOV BYTE PTR GDT_ADR[DI],DL
POP DI
POP DX
POP CX
POP AX
RET
SET_GDT_BASE ENDP
; ---------------------------------------------------------
; Hier beginnen die Interrupt-Routinen 1-14
; ---------------------------------------------------------
FAULT13:
PUSH 1000
CALL BEEP
MOV CX,0FFFFh
l2:
LOOP l2
FAULT12:
PUSH 1000
CALL BEEP
MOV CX,0FFFFh
l3:
LOOP l3
FAULT11:
PUSH 1000
CALL BEEP
MOV CX,0FFFFh
l4:
NOP
NOP
NOP
LOOP l4
FAULT10:
PUSH 1000
CALL BEEP
MOV CX,0FFFFh
l5:
NOP
NOP
NOP
LOOP l5
FAULT09:
PUSH 1000
CALL BEEP
MOV CX,0FFFFh
l6:
NOP
NOP
NOP
LOOP l6
FAULT08:
PUSH 1000
CALL BEEP
MOV CX,0FFFFh
l7:
NOP
NOP
NOP
LOOP l7
FAULT07:
PUSH 1000
CALL BEEP
MOV CX,0FFFFh
l8:
NOP
NOP
NOP
LOOP l8
FAULT06:
PUSH 1000
CALL BEEP
MOV CX,0FFFFh
l9:
NOP
NOP
NOP
LOOP l9
FAULT05:
PUSH 1000
CALL BEEP
MOV CX,0FFFFh
l10:
NOP
NOP
NOP
LOOP l10
FAULT04:
PUSH 1000
CALL BEEP
MOV CX,0FFFFh
l11:
NOP
NOP
NOP
LOOP l11
FAULT03:
PUSH 1000
CALL BEEP
MOV CX,0FFFFh
l12:
NOP
NOP
NOP
LOOP l12
FAULT02:
PUSH 1000
CALL BEEP
MOV CX,0FFFFh
l13:
NOP
NOP
NOP
LOOP l13
FAULT01:
PUSH 1000
CALL BEEP
MOV CX,0FFFFh
l14:
NOP
NOP
NOP
LOOP l14
FAULT00:
PUSH 1000
CALL BEEP
MOV CX,0FFFFh
l15:
NOP
NOP
NOP
LOOP l15
POP BX
POP BX
POP BX
POP BX
; ---------------------------------------------------------
; Durchf?hren eines Reset
; ---------------------------------------------------------
MOV AL,0FEh
OUT 64h,AL
HLT
; ---------------------------------------------------------
; Hier nach einem Reset der Real-Modus wieder eingeleitet.
; ---------------------------------------------------------
PROC_MODE_EXIT:
MOV AX,CS:DS_SAVE
MOV DS,AX
MOV AX,CS:ES_SAVE
MOV ES,AX
MOV AX,CS:SS_SAVE
MOV SS,AX
MOV AL,MASK1_8259A
OUT 021h,AL
MOV AL,MASK2_8259A
OUT 0A1h,AL
JMP ENDE
; ---------------------------------------------------------
; Gibt die Zeichenkette STRING an einer festen Position auf
; dem Bildschirm aus.
; ---------------------------------------------------------
DISP PROC
MOV DX,SCREEN ; Deskriptor f?r Screen laden
MOV ES,DX
MOV DI,5 ; Reihe
MOV CL,4
SHL DI,CL
MOV AX,DI
SHL DI,1
SHL DI,1
ADD DI,AX
ADD DI,20 ; Spalte
SHL DI,1
LEA SI,STRING
MOV CX,STRING_LEN
l16:
MOV AL,CS:[SI]
MOV ES:[DI],AL
ADD DI,2
INC SI
LOOP l16
RET
DISP ENDP
; ---------------------------------------------------------
; Hier beginnt das Programm
; ---------------------------------------------------------
START:
; ---------------------------------------------------------
; Initialisierung
; ---------------------------------------------------------
MOV DX,@DATA
MOV DS,DX
; ---------------------------------------------------------
; Die Basisadresse f?r die globalen Deskriptoren definieren
; ---------------------------------------------------------
PUSH 1
PUSH DS
PUSH OFFSET GDT_ADR
CALL SET_GDT_BASE
ADD SP,6
PUSH 2
PUSH DS
PUSH OFFSET IDT_ADR
CALL SET_GDT_BASE
ADD SP,6
PUSH 3
PUSH DS
PUSH 0
CALL SET_GDT_BASE
ADD SP,6
PUSH 4
PUSH DS
PUSH 0
CALL SET_GDT_BASE
ADD SP,6
PUSH 5
PUSH SS
PUSH 0
CALL SET_GDT_BASE
ADD SP,6
PUSH 6
PUSH CS
PUSH 0
CALL SET_GDT_BASE
ADD SP,6
; ---------------------------------------------------------
; Deskriptor 8 ist f?r das Screen-Segment zust„ndig, falls ein
; Monochromadapter verwendet wird, muá 0B000h eingesetzt werden.
; ---------------------------------------------------------
PUSH 8
PUSH 0B800h
PUSH 0
CALL SET_GDT_BASE
ADD SP,6
; ---------------------------------------------------------
; Segmentregister f?r den Real-Modus retten
; ---------------------------------------------------------
MOV AX,DS
MOV CS:DS_SAVE,AX
MOV AX,ES
MOV CS:ES_SAVE,AX
MOV AX,SS
MOV CS:SS_SAVE,AX
; ---------------------------------------------------------
; 8259A-Register retten
; ---------------------------------------------------------
IN AL,021h
MOV MASK1_8259A,AL
IN AL,0A1h
MOV MASK2_8259A,AL
; ---------------------------------------------------------
; CMOS f?r Neustart markieren, damit kein Warmstart erfolgt
; ---------------------------------------------------------
MOV AL,0Fh
OUT 70h,AL
MOV AL,05h
OUT 71h,AL
; ---------------------------------------------------------
; Sprungvektor f?r Neustart setzen
; ---------------------------------------------------------
PUSH DS
MOV DX,0040h
MOV DS,DX
MOV DI,067h
MOV DX,OFFSET PROC_MODE_EXIT
MOV [DI],DX
ADD DI,2
MOV DX,CS
MOV [DI],DX
POP DS
; ---------------------------------------------------------
; In den Protected-Modus schalten
; ---------------------------------------------------------
MOV DX,DS
MOV ES,DX
LEA SI,GDT_ADR
MOV BH,00
MOV BL,08
MOV AH,89h
MOV CX,0FFFFh ; Zeitschleife
ZEIT:
LOOP ZEIT
INT 15h
PUSH 440
CALL BEEP
CALL DISP ; Textausgabe
MOV AL,0FEh ; Reset durchf?hren
OUT 064h,AL
HLT
ENDE:
MOV AH,01 ; Warten auf Tastendruck
INT 21h
MOV AH,4Ch ; Zur?ck zu DOS
INT 21h
END START
|
_________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
|
Paul aka ICC, HV-Freak
Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
|
Verfasst am: 23.01.2005, 21:40 Titel: |
|
|
Puh..da waren die anderen Tutorials aber noch leichter
Naja egal, trotzdem danke. Mal sehen, aber ich glaub ich bekomme es in NASM nicht zum laufen. (Alles andere ist eh Schrott, NASM RULEZ ! ) _________________
|
|
Nach oben |
|
|
Dusky_Joe
Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 24.01.2005, 17:55 Titel: |
|
|
TASM, NASM, MASM, PASM... Wie viele ASSEMBLER gibts denn noch?
Und wo sind die unterschiede?
Ich bin eigentlich ein ziemlicher Neuling in ASM, wie gesagt, den Code hab ich irgendwann mal gefunden...
Und vor allem, woher bekommt man die alle?
Ich schreibe zurzeit nur mit dem TASM 4.1 von Borland. Der soll ganz gut sein. Was hälst du von dem? _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
|
Paul aka ICC, HV-Freak
Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
|
Verfasst am: 24.01.2005, 18:03 Titel: |
|
|
Also NASM gibts auch auf meiner HP www.icc-software.de/asmdown.htm
Also TASM ist nicht so mein Favorit, MASM sowieso nicht. MASM ist von MICRO$CHROTT und total umständlich _________________
|
|
Nach oben |
|
|
marzec
Anmeldungsdatum: 13.10.2004 Beiträge: 267
|
Verfasst am: 25.01.2005, 00:49 Titel: |
|
|
seh ich nicht so, nasm is recht lustig, aber masm bietet über all di makro geschichten, "funkionsdeklarationen" etc. etc eine äußerst angenehme umgebung zum entwickeln, wo nasm total abstinkt... _________________ Yagl - yet another gameprogramming library |
|
Nach oben |
|
|
Quark48
Anmeldungsdatum: 16.10.2004 Beiträge: 559 Wohnort: Saltendorf a.d. Naab bzw. Teublitz i.d. Oberpfalz / Bayern
|
Verfasst am: 15.02.2005, 07:51 Titel: |
|
|
Hallo!
Nur so als "Beispiel"...
Ich kenne da wieder mal ein kleines BAS-Programm...
Zu finden in der ABC-Sammlung in der Kategorie "Protected Mode".
Dort wird unter QB direkt in den PM geschaltet und dann ein Text auf den Bildschirm geschrieben.
MfG das Spangengesicht _________________ Grüßle, Stefan
***
Wenn ein Programm auf nem alten Rechner gut läuft, dann läuft´s auf nem neuen erst recht!
Ich habe/hatte keine feste Spange und auch keine Schwester. Der Rest stimmt. Es tut mir leid... :-/ |
|
Nach oben |
|
|
Paul aka ICC, HV-Freak
Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
|
Verfasst am: 15.02.2005, 08:09 Titel: |
|
|
Hm, aber es geht ja grad darum das ganze in Assembler zu machen
Und außerdem blick ich durch diesen ganzen Kram mit LDT und GDT usw. nich durch _________________
|
|
Nach oben |
|
|
Quark48
Anmeldungsdatum: 16.10.2004 Beiträge: 559 Wohnort: Saltendorf a.d. Naab bzw. Teublitz i.d. Oberpfalz / Bayern
|
Verfasst am: 15.02.2005, 14:38 Titel: |
|
|
Hallo!
Ich werde aus diesem erst ein bisserl später mit dem Protected Mode anfangen.
Außerdem ist noch ein 32-Bit-DOS-Extender abundzu (Wenn nicht sogar dringend) erforderlich, dass man in den Protected Mode kommt. Ich habe daheim DJGPP (Ein Compiler für C/C++ unter DOS) und der braucht für "seine" kompilierten Programmchen auch einen DOS-Extender, damit sie laufen. (Ja wo laufen sie denn hin )
Der Extender heißt (Meine ich zu 99%) CWSDPMI
CWS - Name von dem Programmieren
DPMI - Bereitstellung von dem Protected Mode unter DOS (DosProtectedModeI???)
MfG das Spangengesicht _________________ Grüßle, Stefan
***
Wenn ein Programm auf nem alten Rechner gut läuft, dann läuft´s auf nem neuen erst recht!
Ich habe/hatte keine feste Spange und auch keine Schwester. Der Rest stimmt. Es tut mir leid... :-/ |
|
Nach oben |
|
|
|
|
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.
|
|