GCC - Assembler auf IntelMac will nicht wie ich will

B

BigTez

Aktives Mitglied
Thread Starter
Dabei seit
03.12.2007
Beiträge
552
Reaktionspunkte
14
Ich suche noch nach einer Lösung um Assembler auf dem Intel-Mac zum laufen zu bekommen.
C-Code bekomme ich ausgeführt, jedoch beim compilieren der Assemblerdatei bekomme ich ganz viele Fehler.

Mal die ersten Zeilen:
**** Build of configuration MacOSX GCC for project New ****

make all
Building file: ../add.s
Invoking: GCC Assembler
as -g -o"add.o" "../add.s"
add.s:1:Rest of line ignored. 1st junk character valued 13 (
).
add.s:3:Junk character 13 (
).
add.s:4:Rest of line ignored. 1st junk character valued 13 (
).
add.s:5:Expected comma after segment-name
add.s:5:Rest of line ignored. 1st junk character valued 90 (Z).
add.s:6:Rest of line ignored. 1st junk character valued 13 (
).
add.s:7:Rest of line ignored. 1st junk character valued 13 (
).............
So geht er jede Zeile durch.

Xcode von der Leopard-CD habe ich komplett installiert. Danach lief dann auch der C-Code.

An der Uni nutzen wir QNX/Wascana, aber ist ja leider nicht für uns so erhältlich :(
 
mit welchen zeilenumbrüchen liegen die files vor?
scheinen ja jede menge unsichtbar müll zeichen im file zu sein...
 
Achso hier nochmal die letzen Zeilen, weil sie eine andere Fehlermeldung haben, gefolgt vom Error in der letzen Zeile:
add.s:105:invalid character (0xd) in operand 2
add.s:106:invalid character (0xd) in operand 2
add.s:107:invalid character (0xd) in mnemonic
make: *** [add.o] Error 1
 
Zuletzt bearbeitet:
Na hat keiner eine Idee?
Hat doch bestimmt jemand mal assembler über Eclipse zum laufen bekommen oder?
 
Mein Emacs sagt mir, dass das File im DOS-Format ist. Konvertiere das mal in UNIX-ASCII, dann sollten die meisten Fehler verschwinden.
 
Mein Emacs sagt mir, dass das File im DOS-Format ist. Konvertiere das mal in UNIX-ASCII, dann sollten die meisten Fehler verschwinden.
Hmm, mag sein. Der Code stammt vom Prof (Windows-Rechner).

Wie bekomme ich den am schnellsten in Unix-Ascii? Macht das auch Eclipse?
 
Macht zum Beispiel dieses kleine Perl-Script:

Code:
#!/usr/bin/perl -pi
s/\r\n/\n/;

Dann bleibt aber noch was über. Bist du dir sicher, dass der Prof vom GNU AS spricht? Es gibt mehrere Assembler für x86
 
Unser Prof nutzt Wascana. Das ist eine Zusammstellung aus mehreren GNU-"Produkten"

Also eigentlich sollte das Plug&Play laufen :)

EDIT:
Wascana besteht unter anderen aus:
Eclipse OU
GNU C-Compiler
GNU Assembler
gdb Gnu-Debugger
 
ja schon gefunden. ich hab eben mal die GNU Binutils per MacPorts gezogen. Leider wird da der GNU AS nicht mit installiert. Beim installierten AS kocht Apple möglicherweise wieder sein eigenes Süppchen.
 
Ich habe ja die XCode-Tools installiert, womit auch der GCC-Assembler mitgeliefert wurde.
...Nur löppt das nicht :eek:

Sagt dir MinGW etwas? das ist bei dem Wascana auch dabei. Ich habe es auch installiert nur keine Ahnung was das angerichtet hat. In eclipse ist jedenfalls nichts zu sehen.
 
MinGW ist eine POSIX-Schicht für Windows, damit die GNU-Tools auch unter Windows laufen.

Mit XCode wird ein Assembler mitgeliefert, der auf dem GNU AS basiert:
$ as -v
Apple Computer, Inc. version cctools-667.3~21, GNU assembler version 1.38

Ich kann dir nicht genau sagen, ob es daran liegt, dass die Datei nicht übersetzt wird. Hast du Zugriff auf ne Linux-Box? (Vllt Remote in der Uni, Shell würde ja reichen..)

Auf ner SuSE-Kiste meckert er über einen Fehler mit cmovc

> as add.s
add.s: Assembler messages:
add.s:225: Error: suffix or operands invalid for `cmovc'

(Sprich der "conditional move if carry flag set" in Zeile 225 schlägt mit fehlerhaftem Operand fehl.)

> as -v
GNU assembler version 2.16.91.0.5 (i586-suse-linux) using BFD version 2.16.91.0.5 20051219 (SUSE Linux)
 
Zuletzt bearbeitet:
An der Uni im Labor arbeiten wir mit QNX und lassen den Code auf so nen schwarzen Würfel laufen ;) (hab grade vergessen wie das Dingens heisst.)

QNX können wir zwar auch eine Lizenz bekommen, jedoch gibts das ja nur für Win soweit ich weiss...
 
QNX ist nen Realtime-OS Hersteller ;) Auf den schwarzen Würfeln läuft QNX Neutrino...

Du könntest dir Neutrino oder ein Linux auf ner alten Kiste oder in ner VM wie VMWare oder Parallels installieren und darin dann entwickeln. Da du Student bist bekommst du ne Lizenz kostenlos. Einfach mal Nachfragen: http://www.qnx.com

Die scheinen jedenfalls ihre Lizenzpolitik ein wenig geändert zu haben. Vor 4 oder 5 Jahren hab ich mir noch ohne hin und her Neutrino herunter geladen und installiert.
 
Ich finde es nur ein wenig zu aufwendig, da wir jetzt 1,5 Monate Assembler machen und dann 1,5 Monate C (aus dem wir dann auch Assemblercode aufrufen)

Wäre schon sehr komfortabel, wenn es einfach auf dem Mac laufen würde. Wie es der Prof in den Vorlesungen ja auch schafft :)
 
Apple hat nur leider einen alten Assembler vergewaltigt und integriert.

Eine VM mit einem Debian aufzusetzen ist ja nun nicht so aufwändig. Ich brauche dafür ne halbe Stunde für ein Basissystem inkl. GCC, AS, vi.

Edit: Du wirst auch in den zweiten 1.5 Monaten den Assembler brauchen. Es wird nicht bei der Codebasis bleiben, die du bis dahin entwickelt hast.
 
Debain? Ich habe derzeit keine Ahnung wie Linux funtzt und auch im Moment nicht die Zeit mich da einzufinden.

VM wäre sicher eine Lösung (nutze Parrallels), wenn dann meine CPU nicht immer losrennen würde wie verrückt. Bin froh dass mein Akku ein kompletten Uni-Tag übersteht :)

Naja notfalls installiere ich dann Wascana auf mein WinXp in Parrallels. Hatte jedoch gehofft, dass es so geht. Ich war so froh nen IntelMac zu haben :(
 
Ja, mit Assembler bewegst du dich leider sehr nahe am System und da gibt es eben unterschiedliche Philosophien. Ich hab meinen x86-Assembler beispielsweise mit nasm geschrieben.... Aber ihr braucht sicherlich GNU-Kompatiblen Assembler, oder?
 
Zurück
Oben Unten