Ich habe ARM Assembly-Programmierung gemacht und möchte den Intel Assembler lernen. Ich höre immer wieder all diese verschiedenen erwähnten F/M/N/ASMs - aber ich bin mir nicht sicher, in welchem Verhältnis sie zu dem stehen, was ich erreichen möchte?
Könnte mir bitte jemand helfen, herauszufinden, was ich zum Programmieren auf niedriger Ebene in der Intel-Architektur benötigen würde? Ich verstehe nicht ganz, wie die "verschiedenen Assembler" korrelieren, noch mehr mit x86, IA64, AMD64/x86-64 etc?
Wenn es hilfreich ist, fühle ich mich mit den IDEs von Eclipse und Visual Studio 08/10 am wohlsten.
MASM
(Microsoft Assembler) ist der beliebte Assembler für Windows. MASM
steht für 16-Bit- und 32-Bit-Anwendungen (x86
). ML64
ist der Code für 64-Bit-Quellen (AMD64/x86-64
)
NASM
(Netwide Assembler) ist der beliebte Assembler für Linux, steht aber auch unter Windows zur Verfügung. NASM unterstützt 16-Bit-, 32-Bit- und 64-Bit-Programme.
FASM
(Flat Assembler) ist sowohl für Windows als auch für Linux verfügbar. FASM unterstützt auch 32-Bit- und 64-Bit-Programme.
Ich nehme an, Sie würden es vorziehen, MASM
entsprechend Ihren Anforderungen auszuwählen.
Um nur zu sagen, RosAsm ist ein Windows-Assembler mit nur 32 Bit, der mehrere interessante Punkte wie hat
In Bezug auf die 64-Bit-Unterstützung hat RosAsm nur einen Mitwirkenden, der derzeit an einem 64-Bit-Rewrite arbeitet (BUAsm, der Bottom-Up-Assembler).