Gibt es einen universellen Assembler?
Gibt es so etwas wie einen „Multi-Architektur“-Assembler, der eine weitgehend einheitliche Syntax verwendet und dabei unterschiedliche Architekturen unterstützt?
Dass sich der Befehlssatz und zulässige Adressierungsarten zwischen verschiedenen Prozessoren unterscheiden, ist natürlich klar, aber solch einen Unsinn wie verschiedene Mnemonics, die im Prinzip genau dasselbe bewirken (z.B. „sec“ vs. „stc“ für „set carry“ oder „eor“ vs. „xor“ für „exklusiv-oder“ oder „pop“ vs. „pull“, um einen Wert vom Stack zu holen) könnte man doch beseitigen und jeweils eine Variante festlegen, die dann für alle Architekturen gilt (sofern dies Teil ihres Befehlssatzes ist).
Ebenso könnte man festlegen, ob die Mnemonics selbst Informationen über die Addressierungsart, die Breite der Operanden etc. enthalten (als „Suffix“) oder ob sich dies aus der jeweiligen Schreibweise der Operanden ergeben soll (und ggf. „Dummy“-Operanden verwendet werden) und dies dann ebenfalls für alle Architekturen einheitlich machen.
Gibt es so etwas schon und wenn ja, wo?