Assembler unter MAC

ricci007

ricci007

Aktives Mitglied
Thread Starter
Dabei seit
11.10.2004
Beiträge
2.536
Reaktionspunkte
13
Hi zusammen,

ich wuerde gerade auf meinem iBook G4 ein wenig mit Assembler entwickeln. Das Problem ist, dass ich bisher nur unter i386 und Motorolla entwickelt habe. Kennt ihr ein paar Links, die mich hier weiterbringen koennten?

LG

Ricci007
 
Links nicht, aber (was Du wahrscheinlich schon weisst), den Hinweis dass Du dich mal wieder ziemlich umstellen musst, da es sich um eine andere Architektur als x86 handelt.

Da Du allerdings schon mit Motorola-chips gearbeitet hast (ps: welche denn?) wird das allerdings wohl kein kompletter Sprung ins Kalte Wasser.

Noch eine Frage: Wofür brauchst Du denn Assembler?
 
Hi, erstmal!

Ich habe zuvor auf dem Motorola 68HC11 entwickelt. Klar(!!!) ist mir das bewusst, dass es wiedere eine gewissen Umstellung wird, aber ich bin nunmal offen fuer alles.

Ich brauche es fuer ein paar zeitkritische Anwendungen, die ich portieren moechte und eben keinen zeitverlust hinnehmen kann und will.

LG

ricci007
 
Hallo Ricci,

grundsätzlich solltest du hier anfangen ("Mac OS X Assembler Guide"):

http://developer.apple.com/documentation/DeveloperTools/Reference/Assembler/index.html

Der Apple-GCC unterstützt auch die praktische inline-asm-Notation des CodeWarrior.

http://developer.apple.com/document...gration_differences/chapter_2_section_14.html

Halt uns doch mal auf dem Laufenden, wie du mit der Performance des portierten Codes zufrieden bist. Fänd ich sehr interessant. Vielleicht fällt mir oder einigen anderen Forumsteilnehmern noch was ein, wie noch mehr rauszuholen ist, und ob sich die Nutzung von AltiVec und Multiprocessing lohnt.
Die erste Frage, die sich mir stellt ist, ob und warum der compilergenerierte Code ungenügende Performance zeigt. Möglicherweise ist es gar nicht nötig, sich die Hände schmutzig zu machen. ;)
 
Zuletzt bearbeitet:
Naja... ich weiß nicht.

Die Dokumente findest du auch auf deiner Festplatte. ;) Einfach mal nach Assembler im Finder suchen. Tada. *ggg*

Aber ich zweifle den Geschwindigkeitsvorteil von Assembler jetzt einfach mal an. Ich denke je nach Situation ist wohl C oder Altivec-C sicherlich schneller, wenn man es richtig macht.

Aber je nachdem was du machst. Denn Compiler kennen den PowerPC sicherlich besser als du und können besser optimieren. ;)

Wenn du viel Zeugs bearbeitest, dann ist Altivec sicherlich besser. Denn du kannst z.B. 16 8bit-Operationen gleichzeitig ausführen.

Aber es bleibt bei dir... ;)
 
Noch etwas: Wenn du an optimaler Performance interessiert bist, sind die CHUD-Tools (Profiling) ein Muss. (Findest du auch als Zusatzpaket auf deiner XCode-Tools-CD.)

http://developer.apple.com/tools/performance/

Bevor du dich also in Optimierungsarbeit stürzt, frag mal Shark. Ist meist sehr aufschlussreich.
 
ich freu mich auch schon drauf den stack von meinem ibook durch die gegend zu smashen ;) ich finde maschinen nahe programierung einfach nur geil. und zumindest weiß ich das ich bei x86er definitiv mit assembler schneller bin wie jeder compiler zumindest bei den prog´s die ich schreib. ne grafische oberfläche möchte ich nich mit assembler machen.aber es gibt da einfach zuviel optimierungen die kein compiler denn ich kenn so umsetzt. mich wurden da ein paar einfache basic papers interessieren ISA und so weiter. weiß wer wo´s das gibt? möchte mich mit der gesamten architecture auseinandersetzen also stack, register ...
 
@Rumpelstielz

Da würde ich mal auf der Motorola/Freescale homepage nach deiner CPU suchen (Wenns nicht gerade schon ein G5 ist ;) Hab mir auch schon das pdf für mein G4 (7455) gezogen. Ist schon kuhl die CPU mal von innen kennen zu lernen :)

Da bin ich auch auf Altivec gestoßen. Wer damit programmieren möchte, sollte sich das mal anschauen: http://www.motorola.com/altivec

Bei uns im Studiengang wird auch gerade ASM mit dem Motorola 68k gelehrt. Da bin ich grad dabei mit meinem Prof den Emulator dafür auf OSX zu portieren. Die Oberfläche läuft schon. Leider kompiliert einiges aber noch nicht richtig, da der gcc damals wohl noch nicht so streng war ;)
Wenn es klappt, meld ich mich wieder..
 
Zuletzt bearbeitet von einem Moderator:
Guten Abend bzw. Morgen,

mal ne Frage eines absoluten Laien.
Habe nen Intel iMac. Da wäre dann die Assembler Programmierung doch wieder so wie auf einem PC oder?
i386 bedeutet doch Intel Chip oder versteh ich da was falsch?
Wie gesagt, bin auf diesem Gebiet absoluter Laie, hoffe die Frage ist nicht allzu dumm.
Allerdings heisst es ja auch: "Wer nicht fragt bleibt dumm!". :)

MfG

Rick
 
-Nuke- schrieb:
Aber ich zweifle den Geschwindigkeitsvorteil von Assembler jetzt einfach mal an. Ich denke je nach Situation ist wohl C oder Altivec-C sicherlich schneller, wenn man es richtig macht.

rotfl .
 
@ricrom
die assembler-befehle sind die eines x86er intel prozessors, aber ja. also theoretisch kannst du darauf mit den intel-pozessor kenntnissen (assembler-befehle), wenn du welche hast, auftrumpfen. alles was drum herum ist, ist wahrscheinlich anders. wie zum beispiel das adressieren von peripherie.
hinzu kommt noch, ob was für ein assembler genutzt wird, da gibts auch noch leichte unterschiede in der syntax.
 
@ricci007:
da du den 68HC11 im Studium hattest, du zudem aus München kommst, tippe ich wahllos ins blaue daß du im R-Bau der FH München warst ;)
Welches Semster aktuell?

doak

[edit: hab grad zufällig entdeckt daß man mit '/Developer/Tools/PPCExplain -dump' (falls xcode installiert) sich alle PowerPC ASM Befehle anschaun kann. nett... ^^]
 
Zurück
Oben Unten