Erstmal mit vernünftigem Highlight: http://paste.pocoo.org/show/164511/
Warum machst du denn ein ``je return`` wenn return nur ``ret`` enthält?
Ah, ich habs verstanden `je` ist jump equal, oder? Fühle mich gerade ein wenig an unsere Assemblerzeit in der Schule erinnert.
string umwandeln
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Natürlich - warum auch Sachen selbst amchen wenn man einfach Module nutzen kann deren Verwendung nahezu keine Kosten hat.problembär hat geschrieben:Zu Deinem Python-Vorschlag fand ich übrigens noch interessant, daß viele auch bei so einfacher Datenverarbeitung in Python recht bald mit Modulen arbeiten. Spricht ja nichts dagegen, überrascht mich nur etwas .
Die Assembler-Lösung finde ich fein. ``je`` ist natürlich Jump Equal, ``jne`` ist das Gegenteil. Der Transform-Teil verwundert mich ein wenig, aber ich schätze mal dass so die Parameter entgegengenommen werden, also liegt der String in ``ebx`` und wird auf den Stack kopiert. Schade dass bei uns in der Uni nur uninteressante Aufgaben in Assembler gegeben wurden.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
@Leonidas: Ja naja, es steht ja "ungetestet" dran. Über die Parameterübergabe wunderst Du Dich zurecht, denn ganz oben auf dem Stapel steht natürlich die Rücksprungadresse. Argh. Ausserdem muss der Aufgerufene Code beim `gcc` das `ebx`-Register am Ende wieder in den ursprünglichen Zustand versetzen. Mit dem `ecx`-Register kann man dagegen machen was man will. Also hier das Ganze noch einmal in funktionierend: http://paste.pocoo.org/show/164572/
Getestet mit:
Getestet mit:
Code: Alles auswählen
#include <stdio.h>
#include <string.h>
extern void transform(char *s);
int main(void)
{
char a[] = "AGSKYSASJKASIOJASJK----ACTG";
puts(a);
transform(a);
puts(a);
return 0;
}