8086-Support

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Mathias
Beiträge: 6908
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

8086-Support

Beitrag von Mathias »

Ich habe letzte Zeit die SVN von Free-Pascal beobachtet, da ist mir aufgefallen, das sehr viel Code für 8086 entwickelt wird.
Wollen die Free-Pascal kompatibel zu den alten 8088er machen ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antrepolit
Beiträge: 340
Registriert: Di 12. Sep 2006, 08:57
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Re: 8086-Support

Beitrag von Antrepolit »

Mathias hat geschrieben:Ich habe letzte Zeit die SVN von Free-Pascal beobachtet, da ist mir aufgefallen, das sehr viel Code für 8086 entwickelt wird.
Wollen die Free-Pascal kompatibel zu den alten 8088er machen ?
Wie kommst du darauf? x86 hat etwas mit dem Befehlssatz zu tun. Im Grunde genommen funktinieren die x86er-Prozessoren heute noch mit dem selben Befehlssatz wie damals der 8086.
Grüße, Antrepolit

care only if your os is really burning

Mathias
Beiträge: 6908
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: 8086-Support

Beitrag von Mathias »

Weil es im Ordner svn\fpc\rtl ein Ordner i8086 hat.
Für 32Bit Intel CPUs hat es einen eigenen Ordner, I386.

Unter anderem ist auch bei Lazarus bei Ziel-CPU auch I8086 anwählbar.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
theo
Beiträge: 10869
Registriert: Mo 11. Sep 2006, 19:01

Re: 8086-Support

Beitrag von theo »


Mathias
Beiträge: 6908
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: 8086-Support

Beitrag von Mathias »

Dann bin ich also richtig, das ein PreCompiler für MS-DOS entwickelt wird.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: 8086-Support

Beitrag von Christian »

Wie kommst du darauf? x86 hat etwas mit dem Befehlssatz zu tun. Im Grunde genommen funktinieren die x86er-Prozessoren heute noch mit dem selben Befehlssatz wie damals der 8086.
Nein. 8086 und i386 sind ziemlich unterschiedlich. Alle i386 können zwar auch den 8086 Befehlssatz aber i386 Code würde nie auf nem 8086 laufen.
Es muss sogar in den i386 Modus separat umgeschaltet werden, was aber alle Betriebsysteme schon von sich aus machen (A20 Gate...).
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Mathias
Beiträge: 6908
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: 8086-Support

Beitrag von Mathias »

Es muss sogar in den i386 Modus separat umgeschaltet werden, was aber alle Betriebsysteme schon von sich aus machen (A20 Gate...).
Du meinst sicher vom Real- in den den Prodected-Mode.

Du kannst aber auch im Real-Modus auf gewisse 32-Bit Funktionen der CPU zuggreifen. Z.B. die 32-Bit Register EAX, EBX, etc.

http://de.wikipedia.org/wiki/Protected_Mode
64-Bit-Modus: In diesem Modus gibt es de facto keine Segmentation mehr
Das wird wohl der Grund sein, wieso die 64-Bit Windows keine DOS und Win16 Programme ausführen kann.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Scotty
Beiträge: 768
Registriert: Mo 4. Mai 2009, 13:24
OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
CPU-Target: x86_64-linux-qt/gtk2
Kontaktdaten:

Re: 8086-Support

Beitrag von Scotty »

Mathias hat geschrieben:Weil es im Ordner svn\fpc\rtl ein Ordner i8086 hat.
Für 32Bit Intel CPUs hat es einen eigenen Ordner, I386.

Unter anderem ist auch bei Lazarus bei Ziel-CPU auch I8086 anwählbar.
Ist das nicht eine 16bit CPU? Oder beinhaltet "i386" das auch noch?

mischi
Beiträge: 206
Registriert: Di 10. Nov 2009, 18:49
OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x
CPU-Target: 32Bit/64bit

Re: 8086-Support

Beitrag von mischi »

Ausgabe von "ppcross8086 -i" liefert:

Free Pascal Compiler version 2.7.1

Compiler Date : 2014/07/11
Compiler CPU Target: i8086

Supported targets:
MS-DOS 16-bit real mode

Supported CPU instruction sets:
8086,80186,80286,80386,PENTIUM,PENTIUM2,PENTIUM3,PENTIUM4,PENTIUMM

Supported FPU instruction sets:
X87,SSE,SSE2,SSE3,SSSE3,SSE41,SSE42,AVX,AVX2

Supported inline assembler modes:
STANDARD
INTEL
ATT

Supported ABI targets:
DEFAULT

Supported Optimizations:
REGVAR
UNCERTAIN
STACKFRAME
PEEPHOLE
ASMCSE
LOOPUNROLL
TAILREC
CSE
DFA
USEEBP
ORDERFIELDS
FASTMATH
REMOVEEMPTYPROCS
CONSTPROP

Supported Whole Program Optimizations:
All
DEVIRTCALLS
OPTVMTS
SYMBOLLIVENESS

Supported Microcontroller types:
MiSchi macht die fink-Pakete

Antworten