Forum: PC-Programmierung Sourcecode von Apple Lisa freigegeben (Link)


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von ⚡Guido⚡ (guido_hat_euch_lieb)


Lesenswert?

Geschrieben wurde es ja damals in Pascal, nicht Freepascal, Turbo Pascal 
oder Lazaraus Pascal, Delphi, aber eben Pascal:-)
https://info.computerhistory.org/apple-lisa-code

von 60/40 (Gast)


Lesenswert?

⚡Guido⚡ schrieb:
> Geschrieben wurde es ja damals in Pascal, nicht Freepascal, Turbo Pascal
> oder Lazaraus Pascal, Delphi, aber eben Pascal:-)

Quelle: Heise

"Für die Programmierung von Lisa schrieben die Entwickler eine eigene 
objektorientierte Variante der Programmiersprache Pascal, die sie 
Clascal nannten und das später in Object Pascal überging."

von Günther K. (avr-guenther)


Lesenswert?

Hallo,

ich habe damals eine der ersten Lisas in D zu sehen bekommen weil wir 
einen Grosskunden hatten der unbedingt Apple Lisa "haben" wollte. Was 
ich sah, konnte ich zur damaligen Zeit nicht glauben. Ein Meilenstein in 
Computer- / Softwaretechnik.

Rest in Peace Steve

von Pfusch (Gast)


Angehängte Dateien:

Lesenswert?

Was für ein elender Pfusch mit diesen Mengen an Fädeldraht.

von ⚡Guido⚡ (guido_hat_euch_lieb)


Lesenswert?

Das Ergebnis zählt
https://www.youtube.com/watch?v=OKrvMStjbIU
https://www.youtube.com/watch?v=7TOh_W6EUOc

Schade, das die Vision einfach noch zu viel für den lahmen Prozessor war

: Bearbeitet durch User
von DerEinzigeBernd (Gast)


Lesenswert?

Pfusch schrieb:
> Was für ein elender Pfusch mit diesen Mengen an Fädeldraht.

Das ist kein Pfusch, das sind keine Mengen, und das ist kein Fädeldraht. 
Elend ist Dein Kommentar, Du hast offensichtlich keinerlei Ahnung von 
Fertigung komplexer Geräte.

von ⚡Guido⚡ (guido_hat_euch_lieb)


Lesenswert?

Bloß nicht weiter darauf eingehen, der will sicher nur trollen

Beitrag #7324142 wurde von einem Moderator gelöscht.
von olaf (Gast)


Lesenswert?

> Geschrieben wurde es ja damals in Pascal, nicht Freepascal, Turbo Pascal
> oder Lazaraus Pascal, Delphi, aber eben Pascal:-)

Ach deshalb ist aus der Kiste nichts geworden. :-D

Als ich das gelesen habe, habe ich mich gefragt wieso jemand ernsthaft 
den Sourcecode diese Kiste wird lesen wollen. Die Lisas waren damals 
hyperkrass teuer. Die gab es nicht in privater Hand. Ich glaube sogar 
Apple hat die hinterher gegen Macs umgetauscht weil die Besitzer sich so 
allein gelassen gefuehlt habe. ICH denke aber nicht das es da jemals 
eine Bastlercommunitiy gegeben hat.

Ich hab vor einigen Jahren einen gs zum Schrott gefahren. Selbst
davon gab es schon nur sehr wenige wegen teuer, aber immerhin haette
der noch fuer die grosse Zahl der ][+ oder e Besitzer interessant sein 
koennen.
Es war immerhin da letzte echte Apple-Produkt bevor die Firma zu einem
Lifestyleladen mit eigener Religion und Oberpriester wurde.

Olaf
p.s: Wer jetzt gerade weinen muss. Ich hatte Hochwasser im Keller, 
irgendwas mit der Kanalisation, und das ist (Hochaus) erst nach einigen 
Tagen aufgefallen. Der war wirklich nicht zu retten!

von Luigi Cassalerro (Gast)


Lesenswert?

⚡Guido⚡ schrieb:
> Geschrieben wurde es ja damals in Pascal, nicht Freepascal, Turbo Pascal
> oder Lazaraus Pascal, Delphi, aber eben Pascal:-)
> https://info.computerhistory.org/apple-lisa-code

So ein Mumpitz. LISA wurde ab 1978 entwickelt, der Compiler war aber 
erst 1983 fertig:
https://en.wikipedia.org/wiki/Clascal

Wer erzählt immer diesen Unsinn vom Neanderthaler der seine 
Feuersteinkeile mit dem 3D Drucker machte ;-(.

Und damals wurde eben viel in Assembler geschrieben.

von Peter K. (os2fan2)


Lesenswert?

Tja, offenbar hast Du keine Ahnung und zwar irre viel davon.:-)
Aus Lisa wurde weder wegen des Preises noch weil es zu innovativ war, 
nichts
Jobs wollte damals einfach viel zu viel von einem viel zu kleinen 
Prozessor.
Dadurch war Lisa lahm und zu teuer

von (prx) A. K. (prx)


Lesenswert?

Peter K. schrieb:
> Jobs wollte damals einfach viel zu viel von einem viel zu kleinen
> Prozessor.

Der Speicher war das Hauptproblem, nicht der Prozessor. Sowohl das RAM 
als auch Floppy-Disk/Festplatte. Lisa benötigte 1 MB RAM, damals kaum 
bezahlbar. Der erste Mac hatte 128 KB, aber das war fürs Arbeitsprinzip 
der Lisa viel zu wenig. Und wer zum Mac eine HDD wollte, zahlte dafür 
mehr als für den Mac.

"Revisiting Apple’s ill-fated Lisa computer, 40 years on - On its 40th 
anniversary, we look back at the machine that brought the GUI to 
personal computers."
https://arstechnica.com/gadgets/2023/01/revisiting-apples-ill-fated-lisa-computer-40-years-on/

"The Architecture of the Lisa(TM) Personal Computer"
http://bitsavers.org/pdf/apple/lisa/development_history/articles/Daniels_-_The_Architecture_of_the_Lisa_Personal_Computer_198403.pdf

: Bearbeitet durch User
von Luigi Cassalerro (Gast)


Lesenswert?

Peter K. schrieb:
> Jobs wollte damals einfach viel zu viel von einem viel zu kleinen
> Prozessor.

Quatsch, das Mac-Team hat bewiesen das fähige Hardwareentwickler und 
entschlossenes Projektmanagment auch mit dem 68k eine leistungsfähige 
Maschine bauen können.

Wie im Film dargestellt: https://youtu.be/GFe36fel-t0?t=3
Die Szene zeigt den Wechsel vom Billigst-Prozosser Motorola 6809 mit 
höchstens 64k zum Motorola 6800 mit minumum 128Kb, da Steve aus LISA 
wusste, welche Power eine GUI gegenüber einer cmd-line interface 
verbrät. Und Burell Smith lieferte eine Conputerarchituktr auf dem 
Board, die alles aus dem Prozessor rauskitzelte.

https://www.cnet.com/tech/tech-industry/burrell-smith-macintosh-hardware-wizard/

von (prx) A. K. (prx)


Lesenswert?

Luigi Cassalerro schrieb:
> Quatsch, das Mac-Team hat bewiesen das fähige Hardwareentwickler und
> entschlossenes Projektmanagment auch mit dem 68k eine leistungsfähige
> Maschine bauen können.

Sie wollten mit Lisa zu viel für damals bezahlbare Verhältnisse. Jobs 
wurde dann bzgl Lisa kalt gestellt und verlegte sich auf den Mac - und 
der war nun der damaligen Ressourcenlage angepasst drastisch reduziert.

von (prx) A. K. (prx)


Lesenswert?

Luigi Cassalerro schrieb:
> Billigst-Prozosser Motorola 6809

Der war zwar billiger als der 68000 Prozessor, aber wer billigst bauen 
wollte, nahm den 6502. Der 6809 lag zwischendrin.

von (prx) A. K. (prx)


Lesenswert?

(prx) A. K. schrieb:
> Und wer zum Mac eine HDD wollte, zahlte dafür
> mehr als für den Mac.

So wars gemeint: Und wer zur Lisa die optionale HDD wollte, zahlte dafür 
mehr als für den ganzen Mac.

: Bearbeitet durch User
von Luigi Cassalerro (Gast)


Lesenswert?

(prx) A. K. schrieb:
> Luigi Cassalerro schrieb:
>> Quatsch, das Mac-Team hat bewiesen das fähige Hardwareentwickler und
>> entschlossenes Projektmanagment auch mit dem 68k eine leistungsfähige
>> Maschine bauen können.
>
> Sie wollten mit Lisa zu viel für damals bezahlbare Verhältnisse. Jobs
> wurde dann bzgl Lisa kalt gestellt und verlegte sich auf den Mac - und
> der war nun der damaligen Ressourcenlage angepasst drastisch reduziert.

Nur das der Vor-Steve-Mac Hardwaretechnisch nichts mit dem Mit-Steve-Mac 
zu tun hatte.

"Kaltgestellt" ist auch nicht richtig, Steve wollte eine 
verkaufsfördernde Preissenkung beim Lisa, gegen die sich der 
Zuckerwasser-verkäufer John Sculley stemmte. Also nahm sich Jobs Teile 
der LISA-Software und Apple-Entwickler (Wozniak, Holt) und entwickelte 
nach der Uni-Workstation LISA (das war deren Zielgruppe, Institute als 
Käufer - nicht Individualisten, das rechtfertigte auch den Preis von 
30k) den auf 'Normalverbraucher' zielenden Macintosh.
Der höchstens hinsichtlich des Speicherausbaus in der Grundkonfiguartion 
etwas geringer war. Ansonsten bot der Macintosh weit aus mehr als Lisa 
(bspw. Sprachausgabe).

https://youtu.be/2B-XwPjn9YY?t=69

von Luigi Cassalerro (Gast)


Lesenswert?

(prx) A. K. schrieb:
> Luigi Cassalerro schrieb:
>> Billigst-Prozosser Motorola 6809
>
> Der war zwar billiger als der 68000 Prozessor, aber wer billigst bauen
> wollte, nahm den 6502. Der 6809 lag zwischendrin.

Der war aber nicht von Motorola, der 6502.

Apple hatte sich irgendwann auf Motorola festgelegt, auch um von 
Großkundenrabatt zu profitieren, also war die MOS-Tech/Commodore- 
Chipfamilie für Fortentwicklungen ohnehin nicht relevant.

Die Geschäftsgebaren vom späternen MOS-Tech Eigentümer Jack Tramiel 
werden auch ihren Anteil gehabt haben.

von Peter K. (os2fan2)


Lesenswert?

Ja, richtig oder a Speicher lag es:-)
Jedenfalls nicht an Pascal, wieso auch immer das überhaupt als 
Möglichkeit im Raum schwebte für manche, Pascal / Delphi ist ja nicht 
nennenswert langsamer, lediglich eine schönere Sprache:-)

von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

(prx) A. K. schrieb:
> Lisa benötigte 1 MB RAM, damals kaum bezahlbar.
Die Preise von Apple waren damals schon recht speziel:
- Apple Lisa, June 1983, US $9,995
- To upgrade from the Lisa 1 to the Lisa 2/10 cost $2,495.
- An additional 512K of RAM could be purchased for $1,495.
- http://oldcomputers.net/lisa.html

Die "niemand wird je mehr als 640k benötigen" Fraktion war da ja ein 
richtiges Sonderangebot dagegen.
- IBM Personal Computer, Model: 5150, September 1981, US $1,565 ~ $3,000 
(16k bis 64k)
- http://oldcomputers.net/ibm5150.html

Die "64k langt auch" Fraktion war ja schon richtiges Preisdumping:
- Commodore 64, September 1982, US $595.
- http://oldcomputers.net/c64.html

Apple Macintosh, January 1984, US$2495, 128K
- http://oldcomputers.net/indexwp.html

Fazit, RAM war halt extrem teuer und Apple wollte einfach für diese Zeit 
zu viel davon so das die Kiste am ende in etwa das selbe gekostet hat 
wie ein neuer Mercedes um diese Zeit herum. Also neues Auto für den Chef 
oder Computer für die Sekretärin...:-)

So Argumente wie "die haben aber toll was in Assembler aus einem 
schwachen Prozessor herausgekitzelt" haben die Einkäufer/Entscheider 
noch nie interessiert, das ist was für reine Technikfans. Die 
interessiert der Preis, eine Vorführung das die Kiste die geforderte 
Aufgabe erfüllen kann und dass das Buffet bei der Vorführung üppig war. 
Letzteres konnte wohl Apple damals schon ganz gut, so das sie es 
geschafft haben wenigstens einige davon zu verkaufen:-)

RAM:
- https://ftp.heise.de/ct/dokument/ct8312.pdf (11/1983 Seite 79)
- Auf dem Lisa 2 waren da wohl 72 St. des 4164 drauf für 512k:
- https://www.pagetable.com/?p=230
- 72 x 4164 16,50DM = 1188 DM (ca. $600) alleine für die RAM-Chips.

von ⚡Guido⚡ (guido_hat_euch_lieb)


Lesenswert?

Luigi Cassalerro schrieb:
> ⚡Guido⚡ schrieb:
>> Geschrieben wurde es ja damals in Pascal, nicht Freepascal, Turbo Pascal
>> oder Lazaraus Pascal, Delphi, aber eben Pascal:-)
>> https://info.computerhistory.org/apple-lisa-code
>
> So ein Mumpitz. LISA wurde ab 1978 entwickelt, der Compiler war aber
> erst 1983 fertig:
> https://en.wikipedia.org/wiki/Clascal
>
> Wer erzählt immer diesen Unsinn vom Neanderthaler der seine
> Feuersteinkeile mit dem 3D Drucker machte ;-(.
>
> Und damals wurde eben viel in Assembler geschrieben.

Der Pascal Sourcecode ist verlinkt....Mr. Neanderthaler, erst lesen, 
dann motzen

: Bearbeitet durch User
von Luigi Cassalerro (Gast)


Lesenswert?

⚡Guido⚡ schrieb:
> Der Pascal Sourcecode ist verlinkt....Mr. Neanderthaler, erst lesen,
> dann motzen

Hab ich doch, und zwar deine irrige Behauptung von
"Geschrieben wurde es ja damals in Pascal," mit der du dümmlicherweisae 
den Eindruck erweckst, die Firmware des Mac wäre in Pascal geschrieben.

Kann sie aber nicht weil der zugehörige Compiler erst Jahre später lief 
und nie Pascal genannt wurde.

Das hätte Dir eine kleine Hintergrundrecherche schnell vermittelt, aber 
du scheinst ja mehr auf Wert "flashige" Nicks zu legen, wie ein Blender 
der Dorfklasse.

Und die Anwendungssoftware des Mac war so schlecht, das Jobs seinen 
Erzfreind Gates regelrecht bebettelte, das der sein (nicht in Clascal) 
Word et.c für Mac weiterentwickelt, damit Apple nicht 1997 Konkurs 
anmelden muß.

https://www.heise.de/mac-and-i/meldung/Vor-20-Jahren-Microsoft-rettet-Apple-3793789.html

Aber wahrscheinlich warste damals noch nicht geboren ...

von HP9000 Series 200 - 300 HP9920 Man (Gast)


Lesenswert?

Luigi Cassalerro schrieb:
> zum Motorola 6800

Wahnsinn, echt der Bringer und die Hardware war ja sooooooooo toll.
Verglichen mit nem Casio Calc.

von rbx (Gast)


Lesenswert?

Auf einigen Atari-St-Disketten geisterte der Hinweis auf USCD-Pascal 
rum.
Vor der Jahrtausendwende gab es ein recht interessantes "Kräcker-Mag" im 
Internet zum Downloaden , eine Art Diskettenzeitschrift - das 
Hauptprogramm war auch Pascal.

Luigi Cassalerro schrieb:
> Und die Anwendungssoftware des Mac war so schlecht, das Jobs seinen
> Erzfreind Gates regelrecht bebettelte, das der sein (nicht in Clascal)
> Word et.c für Mac weiterentwickelt, damit Apple nicht 1997 Konkurs
> anmelden muß.
Danke für den Hinweis

Die Office-Programme waren aber sehr viel früher schon auf recht alten 
Apples verfügbar, was mich immer gewundert hatte.
Die Übertragbarkeit von "Disketten" mit z.B. Schreibdaten hat sich 
allerdings erst mit Open Office Programmen deutlich gebessert.
Jetzt hat man zusätzlich noch PDF, oder html - alles sehr schöne 
Möglichkeiten zum Schreiben, oder Schreibdaten austauschen.

Bill Gates selber war aber eher ein BASIC-Held  - da könnte man schon 
sagen, schau, wie weit man mit BASIC kommen kann.

Auch von der Einkaufsentscheidung damals: man konnte sich verzocken. 
Beispielsweise gab es mal einen Dynacord 16-Bit-Sampler, der war recht 
teuer, konnte sich aber schlecht am Akai S1000 vorbeimogeln, zu ähnlich 
und Schwerpunkte, die in die Leere laufen, wegen fehlender zusätzlicher 
Möglichkeiten. Beispielsweise umfangreiche Modulationsmöglichkeiten - 
aber keine Filter oder Synthesefunktionen.
Beim S1000 gab es auch keine Filter oder Synthesegimmicks es gab aber 
u.a. schon durch den s900 File-Import eine umfangreiche Bibliothek. U.a. 
deswegen ist der dann auch Studiostandard geworden.
https://www.amazona.de/green-box-akai-s1000-akai-s1100-16-bit-sampler/

von DerEinzigeBernd (Gast)


Lesenswert?

HP9000 Series 200 - 300 HP9920 Man schrieb:
> Luigi Cassalerro schrieb:
>> zum Motorola 6800

Da fehlt eine Null, gemeint ist der 68k.

Und nein, auch ein 6800 (das leistungsfähigere Vorbild des 
billig-Prozessors 6502) ist so lahm nicht. Der (schon erwähnte) 
angebliche Billigprozessor 6809 war nochmal 'ne ganz andere 
Größenordnung.

Aber um das verstehen zu können, muss man sich damit auch beschäftigt 
haben, irgendwie habe ich den Verdacht, daß das bei Dir nicht der Fall 
ist.

von Luigi Cassalerro (Gast)


Lesenswert?

HP9000 Series 200 - 300 HP9920 Man schrieb:
> Luigi Cassalerro schrieb:
>> zum Motorola 6800


Typo, heisst natürlich 68000. Aber das ist Retrointeressierten ohnehin 
bekannt mit welcher prozessorfamilie der MAC lief.

> Wahnsinn, echt der Bringer und die Hardware war ja sooooooooo toll.
> Verglichen mit nem Casio Calc.

Casio Calc - So was haben Kinder im Gymnasium, das ist wohl dann dein 
Niveau ...
und dort 'Dein' Forum: https://casiofans.de/

von Luigi Cassalerro (Gast)


Lesenswert?

DerEinzigeBernd schrieb:
> Aber um das verstehen zu können, muss man sich damit auch beschäftigt
> haben, irgendwie habe ich den Verdacht, daß das bei Dir nicht der Fall
> ist.

Hast also nicht das Verlinkte verstanden? War auch nicht zu erwarten!

von rbx (Gast)


Lesenswert?

rbx schrieb:
> Auf einigen Atari-St-Disketten geisterte der Hinweis auf USCD-Pascal
> rum.

Tatsächlich wohl UCSD-Pascal. "USCD" war meine Erinnerung.
https://de.wikipedia.org/wiki/UCSD_Pascal

von Luigi Cassalerro (Gast)


Lesenswert?

rbx schrieb:
> Bill Gates selber war aber eher ein BASIC-Held  - da könnte man schon
> sagen, schau, wie weit man mit BASIC kommen kann.

Naja mit Verkauf von BASIC-Interpretern an die die selber keinen 
Basic-Interpreter hinbekommen, wie Commodore beim Amiga. Und Bill hat 
die Softwerkerei schon in den Achtzigern an einen Ungarn abgegeben, der 
dann die Programmierwelt mit Ungarischer Notation beglückte.

https://de.wikipedia.org/wiki/Charles_Simonyi

von (prx) A. K. (prx)


Lesenswert?

DerEinzigeBernd schrieb:
> Und nein, auch ein 6800 (das leistungsfähigere Vorbild des
> billig-Prozessors 6502) ist so lahm nicht.

Aber 6800 war ein typischer erster Versuch, aus dem man die Erfahrung 
gewinnt, was man bei zweiten Mal besser macht. Mit 6809 wurde dann das 
andere Extrem getestet, mit etwas mehr als nötig für einen 8-Bitter. Mit 
68HC11, im µC-Sektor erfolgreich, trafen sie dann ins Ziel.

von HP9000 Series 200 - 300 HP9920 Man (Gast)


Lesenswert?

Luigi Cassalerro schrieb:
> Typo, heisst natürlich 68000. Aber das ist Retrointeressierten ohnehin
> bekannt mit welcher prozessorfamilie der MAC lief.

Apple hat mich nach meinem ersten Eigenbau IIe nie interessiert. War 
einfach schlecht und die Fanboys sind mir auf die Nerven gegangen. Den 
Power PC haben andere in Drucker eingebaut und sonst nirgends. Nur diese 
komische Jublerfraktion hat das Ding bis zu dem Tag verteidigt, tja an 
dem diese wahnsinnig innovative Firma zu Intel gewechselt hat.

von (prx) A. K. (prx)


Lesenswert?

HP9000 Series 200 - 300 HP9920 Man schrieb:
> Den Power PC haben andere in Drucker eingebaut und sonst nirgends.

IBM fand noch weitere Örtchen, wo PowerPCs sich nützlich machten.

> an dem diese wahnsinnig innovative Firma zu Intel gewechselt hat.

Und nun wieder davon weg sind, mit beachtlichem Ergebnis.

: Bearbeitet durch User
von Luigi Cassalerro (Gast)


Lesenswert?

(prx) A. K. schrieb:
> HP9000 Series 200 - 300 HP9920 Man schrieb:
>> Den Power PC haben andere in Drucker eingebaut und sonst nirgends.
>
> IBM fand noch weitere Örtchen, wo der sich nützlich machte.

Beispielsweise Xilinx hat vor 20 Jahren PowerPC in FPGA's gestopft 
(VirtexII-Pro, Virtex-4). Andere bauten damit Schach-computer, die 
bereits vor 20 Jahren Weltmeister besiegten.

https://www.heise.de/news/Schachmonster-289528.html

von (prx) A. K. (prx)


Lesenswert?

Luigi Cassalerro schrieb:
> Beispielsweise Xilinx hat vor 20 Jahren PowerPC in FPGA's gestopft
> (VirtexII-Pro, Virtex-4). Andere bauten damit Schach-computer, die
> bereits vor 20 Jahren Weltmeister besiegten.

In IBMs RS/6000 Systemen (später pSeries, System p) fanden die sich auch 
ein, im unteren Bereich. Nachfolgeprozessoren dieser ISA wieder unter 
dem alten Namen "POWER" gibt es bis heute. Mit PowerPC 601 in 
Unix-Clients und 604e in Servern hatte ich konkret zu tun. Eine Kiste 
mit POWER4 (kam 2001 raus, vgl PowerPC 970) läuft bis heute.

: Bearbeitet durch User
von rbx (Gast)


Lesenswert?

HP9000 Series 200 - 300 HP9920 Man schrieb:
> Den
> Power PC haben andere in Drucker eingebaut und sonst nirgends.

Der Name "Power PC" ist sehr irreführend.

von Luigi Cassalerro (Gast)


Lesenswert?

rbx schrieb:
> Der Name "Power PC" ist sehr irreführend.

Eigentlich nicht, weil bei jeder unbekannten Abkürzung der Blick erst 
mal ins Abkürzungsverzeichniss schweifen sollte. Und dafindet sich:

"Der Name PowerPC ist ein Akronym, wobei Power für Performance 
optimization with enhanced RISC (Leistungsoptimierung durch verbessertes 
RISC) und PC für Performance Chip (Hochleistungs-Chip) steht."

Und manche kennen PC nur als Abk. f. "Political Correctnes) und 
mancheTussen mögen nach "Post Conceptionem" ihren Kalender ausrichten.

von rbx (Gast)


Lesenswert?

Luigi Cassalerro schrieb:
> Der Name PowerPC ist ein Akronym, wobei Power für Performance
> optimization with enhanced RISC (Leistungsoptimierung durch verbessertes
> RISC) und PC für Performance Chip (Hochleistungs-Chip) steht.

Klingt ebenfalls irreführend ;)

Der typische "Performance"-Hansi war damals eigentlich der Pentium-Pro.

Andererseits: wenn man mal gesehen hat, wie die Home-Compi-Cpus 
gegenüber der Grafikkartentechnik leistungstechnisch aussehen..

von DerEinzigeBernd (Gast)


Lesenswert?

Luigi Cassalerro schrieb:
> Hast also nicht das Verlinkte verstanden? War auch nicht zu erwarten!

Sieh noch mal genau hin, wen ich zitiert habe. Nicht Dich, sondern einen 
Spinner, der Dich zitiert hat.

von Luigi Cassalerro (Gast)


Lesenswert?

So mal kurz in die sourcen geschaut, hübscher Assembler (fürs Forum 
heftig gekürzt, ohne Hervorhebung der Kürzungen):
1
;m1 1
2
;m4 7
3
;he ''MAC Elementary Functions''
4
;fo 'ELEMS68K.TEXT'Page %'23 May 83'
5
 ; File: ELEMS68K.TEXT
6
7
 ;-----------------------------------------------------------------------;
8
 ;                                                                       ;
9
 ;                         Elementary Functions                          ;
10
 ;                                                                       ;
11
 ;             Compound Interest and Present Value Functions             ;
12
 ;                                                                       ;
13
 ;                         by  Jerome T. Coonen                          ;
14
 ;                                                                       ;
15
 ;          from Pascal code by David Hough and Colin McMaster           ;
16
 ;          and (trigs) Kenton Hanson                                    ;
17
 ;                                                                       ;
18
 ;               Copyright Apple Computer Inc.,  1983                    ;
19
 ;                                                                       ;
20
 ;-----------------------------------------------------------------------;
21
                .PROC           %elems68k,0
22
                ;.INCLUDE        TLASM:SANEMACS.TEXT ;
23
 ; There are four logarithm functions:  LN(x), LOG2(x), LN(1+x), and LOG2(1+x).
24
 ; They share much of the same code, but are distinguished by two bits.
25
 ; In the same way, EXP(x), EXP2(x), EXP(x)-1, EXP2(x)-1 share the same
26
 ; startup code.
27
 ;
28
BTLOGBASE2      .EQU            1       ; SET IF EITHER LOG2(X) OR LOG2(1+X)
29
                                        ; SET IF EITHER EXP2(X) OR EXP2(X)-1
30
BTLOG1PLUSX     .EQU            2       ; SET IF EITHER LN(1+X) OR LOG2(1+X)
31
                                        ; SET IF EITHER EXP(X)-1 OR EXP2(X)-1
32
33
34
 ;
35
 ; When ELEMS68 is entered the stack has the form:
36
 ;       ret adrs  <  opcode word  <  dst adrs  <  src adrs  <  src2 adrs
37
 ; with a second source address only in the case of the financial functions
38
 ; Compound and Annuity.  A LINK is made through A6 (leaving A5 intact for
39
 ; the debugger people) and the following stack frame is set up:
40
 ;
41
 ;       ......
42
 ;       source2 address         -- only if Compound or Annuity
43
 ;       source  address         -- for Comp., Ann., X^I, X^Y
44
 ;       destination address
45
 ;       opcode word
46
 ;       return address          -- top of stack on entry to ELEMS68
47
 ;       saved A6                -- for LINK, pntd to by A6 throughout ELEMS68
48
 ;       environment word        -- slot to save user's env across ELEMS68
49
50
STSRC2          .EQU            18              ; SOURCE2
51
STSRC           .EQU            14              ; SOURCE
52
STDST           .EQU            10              ; DESTINATION
53
STOPCODE        .EQU            8               ; OPCODE WORD
54
STRET           .EQU            4               ; RETURN ADDRESS
55
STA5            .EQU            0               ; SAVED A6
56
STENV           .EQU            -2              ; ENVIRONMENT SLOT
57
58
 ; The following constants give the number of stack bytes to pop before exit.
59
 ;
60
KI1ADRS         .EQU            6               ; OLD RET AND OPCODE
61
KI2ADRS         .EQU            10              ; OLD RET, OPCODE, DST
62
KI3ADRS         .EQU            14              ; OLD RET, OPCODE, DST, SRC
63
64
 ; The opword is defined as:
65
 ;       XY00 0000 NNNN NNN0
66
 ; where X=1 for 2- or 3-address functions, Y=1 for 3-address functions,
67
 ; and <NNNN NNN0> is the index into the jump table for the specific
68
 ; instruction.
69
OP2ADRS         .EQU            15              ; SET IF 2-ADRS
70
OP3ADRS         .EQU            14              ; SET IF 3-ADRS
71
OPMASK          .EQU            $00FE           ; MASK FOR JUMP TABLE INDEX
72
OPXPWRI         .EQU            $8010           ; OPCODE FOR X^I
73
74
                LEA             STRET(A6),A3    ; POINT TO RET ADRS
75
                LEA             STOPCODE(A6),A0 ; POINT INTO STACK ARGS
76
                MOVE.W          (A0)+,D3        ; GET OPCODE
77
                BPL.S           DSTONLY         ; QUICK TEST OF #OP2ADRS BIT
78
79
                MOVEA.L         (A0)+,A4        ; DST ADRS, ANOTHER ADRS COMING
80
                MOVE.L          (A0),D4         ; SRC TOO, BUT NO INCREMENT
81
                BTST            #OP3ADRS,D3
82
                BNE.S           HAVESRC2
83
 ; Get here if have src and dst operands only.
84
                MOVE.L          (A3),(A0)       ; RET ADRS ON SRC ADRS
85
                MOVE.W          #KI2ADRS,(A3)   ; STACK KILL COUNT
86
                MOVE.L          A4,D5           ; PRETEND THERE'S A SRC2
87
88
                MOVEQ           #15,D2          ; PRESET SRC CLASS IN CASE X^I
89
                CMPI.W          #OPXPWRI,D3     ; SPECIAL CASE WITH INTEGER OP
90
                BEQ.S           CLASSSKIP
91
CLASSCOM
92
                MOVEA.L         D4,A0           ; CLASSIFY SRC OPERAND
93
                BSR.S           CLASSIFY
94
                MOVE.W          D0,D2           ; SRC CLASS CODE
95
CLASSSKIP
96
                BRA.S           CLASSDSTORSRC2

von Karl Käfer (Gast)


Lesenswert?

Luigi Cassalerro schrieb:
>
1
>                 MOVE.L          (A3),(A0)       ; RET ADRS ON SRC ADRS
2
>                 MOVE.W          #KI2ADRS,(A3)   ; STACK KILL COUNT
3
>                 MOVE.L          A4,D5           ; PRETEND THERE'S A SRC2
4
>

Also das ist doch ganz eindeutig PASCAL! :)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.