VS yasm

patrix
Mausschubser
Mausschubser
Beiträge: 71
Registriert: 16. Nov 2009 17:10

VS yasm

Beitrag von patrix »

Hallo zusammen,
ich versuche gerade das Visual Studio 2010 Plugin für yasm einzubinden. Hat das irgendjemand geschafft das Plugin zum laufen zu bringen? Wenn ja, wie??? Würde mich sehr interresieren...

Vielen Dank im Voraus

Patrick

tobiwan
Mausschubser
Mausschubser
Beiträge: 75
Registriert: 15. Okt 2009 13:01
Wohnort: Langen

Re: VS yasm

Beitrag von tobiwan »

Ich habs zwar noch nicht probiert, aber... die Readme Datei sieht mir ziemlich ausführlich aus... 8)
Wo hängts denn genau?

Benutzeravatar
glowhand
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 128
Registriert: 23. Okt 2008 22:23
Wohnort: Darmstadt

Re: VS yasm

Beitrag von glowhand »

- Visual Studio 2010 ausm MSDNAA laden und installieren
- Die WinXX VS2010 .zip von der Yasm Webseite laden und entpacken
- Die exe-Datei dann nach C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin kopieren.
- Die restlichen Dateien nach C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations kopieren
- VS starten und ein neues C++-Projekt anlegen
- Rechte Maustaste im Projektexplorer auf Projektname, "Buildanpassungen" wählen und einen Haken bei vsyasm machen.
- Im Projekt eine neue Text-Datei anlegen, die Endung der Datei darauf von .txt auf .asm ändern
- Rechte Maustaste auf die .asm-Datei und dann auf Eigenschaften. Dort Elementtyp auf "Yasm Assembler" ändern.
- Assembler-Code reinschreiben, dann oben, wie gewohnt, auf grünen Play-Button klicken.

- Sich ärgern, dass beim Kompilieren Fehler auftraten, weil's halt nicht geht (siehe weiter unten). ;)

LG,
Christian.
Zuletzt geändert von glowhand am 1. Nov 2010 12:12, insgesamt 5-mal geändert.

Finswimmer
Mausschubser
Mausschubser
Beiträge: 46
Registriert: 17. Sep 2010 07:00

Re: VS yasm

Beitrag von Finswimmer »

Meinst Du den Code von der Hausübung 2?
Der läuft unter Linux mit dem unten genannten 3-Zeiler richtig durch.

Was ist denn das Problem?

Tobi

Wolfgang
Dozentin/Dozent
Beiträge: 359
Registriert: 21. Apr 2004 17:54

Re: VS yasm

Beitrag von Wolfgang »

Hallo glowhand,

die Vorlesung hält Wolfgang Heenes (das bin ich).
Wie auf dem Übungsblatt angegeben läuft der Code auf den Rechner der RBG.
Mir ist es neu, dass diese Rechner unter Windows laufen.

Sie kommen am besten mal in die Sprechstunde am Donnerstag.

Wolfgang Heenes

Benutzeravatar
Stille
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 195
Registriert: 3. Jul 2008 10:11

Re: VS yasm

Beitrag von Stille »

Hallo glühende Hand,

ich bin unschuldig. Großes Indianerehrenwort :D

Hugh!
Wolfgang Stille
UKP Lab - FB Informatik
http://www.ukp.informatik.tu-darmstadt.de

PaddyG
Mausschubser
Mausschubser
Beiträge: 50
Registriert: 9. Okt 2009 10:29

Re: VS yasm

Beitrag von PaddyG »

Hallo,

habe yasm unter Visual Studio wohl zum laufen bekommen, zumidnest erscheint es unter den Buildeinstellungen.

Frage:

Kann man sich nun im Visual Studio irgendwie eine Übersicht der Register mit Inhalt anzeigen lassen?
So ähnlich wie beim MARS für MIPS Assembler, welches wir in der TGdI Vorlesung WS09/10 verwendet hatten, das wäre wirklich hilfreich.

Gruß
Patrick

patrix
Mausschubser
Mausschubser
Beiträge: 71
Registriert: 16. Nov 2009 17:10

Re: VS yasm

Beitrag von patrix »

Hallo @all,
erst mal vielen Dank für die Antworten(so weis ich zumindest, dass ich mit den Problem nicht alleine bin). Ich habe das nach der Anleitung gemacht und der Kompiler spuckt nach einbinden des Beispielcodes eine Menge Fehler aus. Nun meine Frage, hat jedmand irgend ein Beispielprojekt das kompiliert und man debuggen kann?

Vielen Dank und Grüße Patrick

Benutzeravatar
glowhand
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 128
Registriert: 23. Okt 2008 22:23
Wohnort: Darmstadt

Re: VS yasm

Beitrag von glowhand »

Ups, sorry wegen dem Namenvertausch! Wie peinlich ;)

Habe nochmal recherchiert, warum es nicht funktioniert:
Zuerst einmal
- rechte Maustaste auf die asm-Datei -> Eigenschaften. Bei Parser "Gas" wählen, weil er ansonsten die falsche Assembler-Syntax verlangt.
Darauf kann die Datei erfolgreich mit Yasm kompiliert werden, ABER:
Der Compiler findet keinen Entry Point (der eigentlich mit .globl main definiert wird, wenn ich das richtig verstanden habe). VS verwendet auch nicht gcc, sondern den eigenen Microsoft Compiler.
Wie man das löst, habe ich noch nicht herausgefunden.

Weiß auch nicht, ob es diesbezüglich angebracht ist, die Sprechstunde zu besuchen.

Edit:
Schreibt man das

Code: Alles auswählen

.globl main
main:
in

Code: Alles auswählen

.globl _main
_main:
um, findet er einen Entry Point, zeigt aber wieder andere Fehler an. Ätzend!
Da ist es doch fast schon wieder einfacher, Linux zu installieren.

Finswimmer
Mausschubser
Mausschubser
Beiträge: 46
Registriert: 17. Sep 2010 07:00

Re: VS yasm

Beitrag von Finswimmer »

Alternativ:

Installier dir PuTTY und logge dich mit deinen RBG-Daten auf clientssh1.rbg.informatik.tu-darmstadt.de ein.
Dann kannst Du auch alles machen.

Tobi

iMod109
Neuling
Neuling
Beiträge: 7
Registriert: 15. Okt 2010 20:27

Re: VS yasm

Beitrag von iMod109 »

@Finswimmer:
Vielen Dank für den Tipp mit PuTTY klappt wirklich super.

JohannesRudolph
Windoof-User
Windoof-User
Beiträge: 31
Registriert: 7. Nov 2010 01:42

Re: VS yasm

Beitrag von JohannesRudolph »

Hallo Leute,

ich hab VS mit YASM zum laufen bekommen, funktioniert auch ganz hervorragend. Ist leider wirklich nicht so einfach.

1. Wie in der YASM Anleitung verfahren
2. Der 32Bit installer will in Program Files (x86) installieren, was natürlich auf Win32 nicht existiert. Also das .props file editieren und den Pfad umbiegen (das .props file wird in das .targets file importiert, ganz normales MSBuild Skript)
3.

Code: Alles auswählen

.globl _main
_main:
verwenden um den Entry Point zu definieren. Ich meine ich habe es dem Linker aber nochmal explizit vorgegeben (in den Projketoptionen->Linker irgendwo, habs grad nicht vor mir). Vorsicht, wenn ihr in den Linker Optionen main angebt, erwartet der das Symbol _main (mit underscore-prefix).

Bei mir war das glaube ich schon alles damit es läuft. Nachteil ist nur das beim Debuggen die Dissasembly mit MASM erstellt wird (dem Microsoft Macro Assembler) und somit leider in Intel Syntax erscheint. Alles in allem aber eine ganz gangbare Lösung, die RegisterInhalte findet ihr unter Debugger->Windows->Register. Ganz praktisch ist auch das Auto Fenster.

Viel Spaß mit VS und Assembler.

himbaer
Mausschubser
Mausschubser
Beiträge: 98
Registriert: 28. Apr 2010 19:29
Kontaktdaten:

Re: VS yasm

Beitrag von himbaer »

Hätte da nochmal eine Frage...

Bin auch per Putty mit dem RBG-Rechner verbunden und habe alles wie hier im Forum beschrieben ausgeführt.
Assemblieren und Linken hat auch denke ich funktioniert. Doch wie kann ich nun mein Programm, wie es in h2 steht so ausführen, dass ich auch eine ausgabe erhalte?
meine Testsignatur :!:

orioon
Mausschubser
Mausschubser
Beiträge: 63
Registriert: 7. Okt 2009 13:07
Wohnort: Frankfurt

Re: VS yasm

Beitrag von orioon »

mit ./programmname
das Programm muss natürlich eine Ausgabe durch call printf erzeugen

Antworten

Zurück zu „Archiv“