Liebe Squeak-Experten,
erstmal vielen Dank für den interessanten Squeak-Nachmittag, insbesondere an Marcus für die Einladung und Organisation (und die leckeren Brezel :-)) Ich war mittlerweile auch schon "missionarisch" tätig und habe gestern versucht (im Rahmen meiner bescheidenen Möglichkeiten), einem Freund die Vorzüge von Squeak zu vermitteln. Dabei ergab sich allerdings eine Frage, die ich ihm nicht beantworten konnte (auch das Browsen durch die Klassen und Google-Suche haben uns nicht weitergeholfen): - Ist es möglich, in Squeak Assembler-Befehle direkt einzugeben? Es trat außerdem ein merkwürdiges Problem unter Knoppix 3.2 auf: Wenn ich aus dem Object Catalog einen SoundRecorder rausziehe und auf "Record" drücke, friert das System ein. Weder Maus noch Tastatur reagieren dann noch (auch nicht die Tastenkombination "Strg-Esc" zum Aufruf des Process-Tables, um einen Prozess abzuschießen). Unter Windows2000 und XP tritt dieses Problem nicht bei mir auf. Übrigens: Besonders angetan war mein Kumpel von der Möglichkeit, Squeak Deutsch mit amerikanischem Akzent babbeln zu lassen: "------------ Frauenstimme: Hallo, wie geht es dir? -----------" Speaker woman say:'Hullo, we gate us dear?' "--------------------------------------------------------------------------" ;-))) Grüße aus Rheinhessen Thomas |
On Thu, Jul 17, 2003 at 03:59:43PM +0200, [hidden email] wrote:
> Liebe Squeak-Experten, > > - Ist es möglich, in Squeak Assembler-Befehle direkt einzugeben? > Assembler ist ja von Prozessor zu Prozessor verschieden. Und eines der Ziel von Squeak ist es, "ueberall" lauffaehig zu sein. Dies wird ueber eine sog. virtuelle Maschine erreicht: Dies ist, sozusagen, ein in in Software realisierter Prozessor. Squeak selber erzeugt dann "Maschinencode" fuer diese virtuelle Maschine: Den Bytecode (der heist so, weil die befehle ein byte gross sind). Fuer diesen Bytecode gibt es einen Assemblierer (er ist Teil des Closure-Compilers, also noch nicht im Image). Das sieht dann so aus: IRBuilder new rargs: #(self a); "receiver and args names" addTemps: #(z); "extra temps (not used here)" pushTemp: #self; getField: 1; pushTemp: #a; send: #>; jumpAheadTo: #else if: false; pushLiteral: 'yes'; returnTop; jumpAheadTarget: #else; pushLiteral: 'no'; returnTop; ir Das ist also "Squeak Assembler". Aber sinnvoll ist das nur, wenn man das innerhalb eines Uebersetzers verwendet (z.B. verwendet es der Uebersetzer, der Smalltalk in Bytecode compiliert). Aber zurueck zur Frage ;-) : Assembler in dem Sinne, in dem es wahrscheinlich gemeint war, kann man nicht direct von innerhalb Squeak verwenden. Das macht ja auch keinen Sinn, denn dann laeuft das ja nur auf einem System. Man kann natuerlich Assembler wie C anbinden... wenn man ein .o file erzeugt, dass den Link-Konventionen fuer C entspricht kann man es zur VM dazulinken, oder man koennte gewiss auch eine DLL (bzw. .so unter linux bzw. .bundle unter Mac) bauen und FFI verwenden.... dann wird man aber wahrscheinlich das meiste in C schreiben, und nur fuer das wirklich noetige auf Assembler zurueckgreifen. Dumme Frage: Wofuer braucht der das denn? Macht heutzutage Assembler ausserhalb des Compilerbaus ueberhaupt noch Sinn? Kann ich mir nicht so recht vorstellen... die C-Compiler sind schon sehr gut, heutzutage. Wenn er so richtig experimentell sein will: Exupery enthaellt tatsaechlich einen x86-Assemblierer (naja, eher ein compiler-backend), in Squeak fuer Squeak: http://map1.squeakfoundation.org/sm/package/3f443df5-3d77-4e98-a8e0-dd8661371fa1 Marcus -- Marcus Denker [hidden email] -- Squeak! http://squeak.de |
In reply to this post by thomas.metz@web.de
> Es trat außerdem ein merkwürdiges Problem unter Knoppix 3.2 auf: > > Wenn ich aus dem Object Catalog einen SoundRecorder rausziehe und auf > "Record" drücke, friert das System ein. Weder Maus noch Tastatur reagieren > dann noch (auch nicht die Tastenkombination "Strg-Esc" zum Aufruf des > Process-Tables, um einen Prozess abzuschießen). > > Unter Windows2000 und XP tritt dieses Problem nicht bei mir auf. Bei meinem Linux (Suse 8.0) funktioniert der SoundRecorder auch nicht, aber wenigstens stürzt nichts ab. Klappt denn bei dir das Beispiel "Music" in "Worlds of Squeak"? Bei mir tut sich da gar nichts, aber ich bin ohnehin unmusikalisch. Gruß Esther |
Free forum by Nabble | Edit this page |