-3

I am learning Intel X64 assembly language under Windows 11. Currently I'm using the latest Visual Studio 2022 preview with its built-in MASM64. I have looked everywhere for a good assembler and/or a good assembly IDE. I tried all of those: https://en.wikipedia.org/wiki/Comparison_of_assemblers#x86-64_assemblers. All the IDE's I found are either a toy, discontinued, buggy or inferior to VS22. The best so far is VS22 as an IDE. I'm not interested in inline assembly within a C/C++ program, only pure assembly language. Not interested in the MASM32 SDK as I want to learn to write pure assembly with only INCLUDELIB for WinAPI libraries. Is there an X64 assembler that can integrate with VS22? Is there a paid/commercial/proffesional/industrial grade X64 assembler? Can Intel C++ compiler be used only as an assembler (it has a VS22 plugin extension)? Which assembler Intel uses to test their CPU's? X86 architecture is more than 40 years old so I wonder how come it is so hard to find a good assembler and IDE. What do they use in the industry? @Peter Cordes, I wonder what you use?

Danny Cohen
  • 77
  • 10
  • 1
    Try writing a working assembly module with `Notepad` and `ml64` from the command line. The productivity will be not much different from using whatever IDEs there are for programming in assembly. It's not the tool that matters to get a working assembly module. – xiver77 May 26 '22 at 12:43
  • 1
    If you are asking for a debugger for assembly programs (routines). Visual Studio and WinDbg from Microsoft are free (money-wise) and best working for Windows. Otherwise GDB won't lose I think. – xiver77 May 26 '22 at 12:45
  • Thanks. I am aware of several good code editors but I prefer an IDE. If I wanted just a glorified code editor, I would have used VSCode since it has many extensions for assemebly language. I am aware of WinDbg and use it sometimes. – Danny Cohen May 26 '22 at 12:54
  • 1
    When you're programming on top of an OS, practically, the part written in assembly is assembled and linked to another program (often in C(++)) as a module. So most part of the program is written in whatever language and tool (IDE) that fits, and the necessary part in assembly is treated separately. To write this assembly part use whatever program that can produce a text file. This can be anything from Notepad to Visual Studio. – xiver77 May 26 '22 at 12:57
  • 1
    The nature of assembly is *very* simple. So simple that there's not much room a tool can help. It's the debugging part that is so nasty that often the strategy used to produce a working assembly program is starting from the compiler output and trimming out minor inefficiencies. – xiver77 May 26 '22 at 13:06
  • I agree that almost any language can be coded with a simple ASCII editor and then compiled with a CLI compiler. I look for a tool with watches, stack view, registers, memory, threads, syntax highlight, intellisense, profiler and so on that only an IDE can deliver. Know of any commercial assemblers? – Danny Cohen May 26 '22 at 13:26
  • 2
    For stack/register/memory/thread-view, you are looking for a debugger. A profiler is a profiler. You seriously don't need *syntax highlighting* for assembly. For all the things you listed, what you have to do is grab any IDE for any programming language, and link your assembly module with that IDE. Any production-quality IDE support linking with external binary modules. To produce this binary module assembled from hand-written assembly, the tool doesn't matter at all. I hope it's clear enough to you. – xiver77 May 26 '22 at 14:42
  • 1
    @DannyCohen: Half the features you mentioned are debugger features that any stand-alone debugger can do, and are things many real-world debuggers do in fact do. (With profiling as another separate thing, like Linux `perf record` / `perf report`) The other half are something any stand-alone code editor can do. If you really want it all in one IDE, use Visual Studio; I've heard its debugger is pretty good. It comes with MASM, Microsoft's non-free commercial assembler. (Of course Visual Studio itself just runs masm and shows you the error messages, like how it works for C++ running `cl`.) – Peter Cordes May 26 '22 at 18:36
  • Thanks Peter. I guess there are no real competitors to VS IDE+MASM so I'll stay with it. – Danny Cohen May 26 '22 at 19:22
  • Please provide enough code so others can better understand or reproduce the problem. – Community May 27 '22 at 01:16
  • I am very satisfied with [PSPad](https://www.pspad.com/en/): it has ASM syntax highlighter, it's able to launch external batch with CLI assembler/linker/debugger and show their messages in IDE window. With [WinAPI macros](https://euroassembler.eu/maclib/#ApiMaclibs) I don't even need SDK import libraries. All is **pure assembler**, which I like. – vitsoft May 27 '22 at 07:25

1 Answers1

1

Creel has the option of sharing VS and Assembler. You can see here. Perhaps this is what you want to achieve.