I was searching for an assembler to generate MIPS binary from asm files and stumbled upon this. Where can I find this assembler. Did not find a link to download this. I have Visual Studio 2010 installed, it doesn't show Assembler project types. Basically I need to generate MIPS binaries to test the disassembler I did as part of course work.
I think MIPS is supported with Windows CE. Otherwise the Gnu toolchain for MIPS is widely available. That will give you a MIPS cross-assembler and linker.
the MIPS Assembler is present in VS 2008 but not in VS 2010. it is a stand alone tool and found in %program files%\Microsoft Visual Studio 9.0\VC\ce\bin\x86_mips
Related
I am looking for a way to program for MIPS assembly using VS2013 - but there is no assembly type project.
Is there a way to do this and get the .s output files of MIPS so I can later run them on other machines, and if I can't do this on VS2013 than how do I program MIPS on Windows 7?
Thanks
The assembler used in visual studio is Microsoft assembler (MASM), and yes you can program assembly language on it.
select an "Empty Project" then configure the "Build Customizations" of the project to use MASM, after that add a new c++ source file and rename it to any name .asm
Here are the detailed steps:
http://kipirvine.com/asm/gettingStartedVS2013/index.htm
And as for assembling your code to run on MIPS, I guess you can't do that with MASM, because it's a x86 assembler,
here is a list of the supported processor types directives on masm
.386
.386P
.387
.486
.486P
.586
.586P
.686
.686P
.K3D
.MMX
.XMM
Refer to
https://msdn.microsoft.com/en-us/library/vstudio/8t163bt0%28v=vs.100%29.aspx
the processor section.
Nevertheless, there is an option in the project "Properties" > "Linker" > "advanced" that let you chose between different machines, including Mips, but I guess this will merely set the Machine Flag in the PE header to MIPS and when the assembler try to build your module it will find a conflict between the machine type flag and the code in the module. But I'm not sure If you can build codes for MIPS.
To run MIPS programs on Windows 7, you need some type of emulator and a corresponding tool set. In the case of ARM processors, there are emulators that include a source level debugger and tool sets, including compilers, assemblers, linkers, and binary image output utilities for embedded systems. There's also a debugger for embedded systems that is run from Windows and some type of connection to the embedded system. The tool set runs on Windows, but targets the emulator or an actual embedded system. I don't know if there's a equivalent tool set and emulator like this for the MIPS processor.
Is there some kind of plugin, extension or something that would enable 64-bit inline assembly in Microsoft Visual Studio 2010?
From http://msdn.microsoft.com/de-de/library/4ks26t93%28v=vs.100%29.aspx
Programs with inline assembler code are not fully portable to other
hardware platforms. If you are designing for portability, avoid using
inline assembler.
Inline assembly is not supported on the ARM and x64 processors.
Not that I know of, but you don't really need it - you can simply assemble the assembly code separately and link it in. You don't even need a plugin for that, just right click the project, go to build customizations, and enable masm. Then you just add some assembly files.
If you don't really like masm with its "dword ptr" and strange semantics for variables and so on, you can use yasm plugin (which is enabled in the same way, except you enable yasm in the build customizations instead of masm).
I'm trying to find info and I don't see it on clang web site.
I'm thinking to try to use it on windows, but I have no clue if it has it's own libc or it uses broken libc from MS?
another question: if i compile code with clang, will I be able to use visual studio as a debugger, e.g. is clang capable of emitting debugging symbols in MS format (this is the reason I don't want to use gcc; and this is something that intel compiler can do, but it uses MS's libc).
In short, I'd like to be able to use visual studio as a debugger, but I need at the same time decent real c compiler with normal lib c.
or, perhaps, there are commercial alternatives. I've read that dinkum sells commercial libc for Win32 and others, but I have no clue what's the price and how to get it.
You have asked two completely different questions. I will answer the one about using Visual Studio as a debugger.
This is not currently possible. Microsoft has not released any documentation or code necessary to produce files in their PDB format, which is what Visual Studio consumes. There has been some reverse engineering efforts, but results of those have not yet made their way into general Open Source tools.
Neither GCC nor Clang are capable of producing PDB files, and hence do not work with Microsoft's debugger. Some of the commercial compilers have support for generating or consuming PDB, but not the Free/Open compilers like GCC and Clang.
You can use other IDEs on Windows which support the DWARF debugging format, used by GCC and Clang. Such compilers include Code::Blocks and Eclipse CDT.
My boss just asked me to integrate his bosses old Fortran code into a project (Java) I'm working on. The code was written in the 90s, so I imagine it'll still compile, so rather than re-write it, I'm hoping I can just call the functions from a .dll. I'm already calling some C .dlls, so I think I've got that part covered.
I've been doing some reading, and most of the articles talk about integrating the Intel Visual Fortran Compiler into Microsoft Visual Studio. We've got a university site license for Visual Studio, but it looks like the Intel Visual Fortran Compiler is in around the $700 range. I don't think my boss will go for that, so I'm looking for another option. I know Microsoft makes a lot of products freely available to students via Project Dreamspark, but I didn't see anything Fortran related.
I'm looking at some cygwin based options right now (g95, I think), but I'm looking for other ideas/options. Any ideas?
I've used the gfortran (g95) compiler with the -shared flag to create DLLs. first compile the .for/.f90 files with:
gfortran -c myfile1.f90
gfortran -c myfile2.f90
then:
gfortran -shared -o mydll.dll myfile1.o myfile2.o
MinGW will let you create a DLL that will work with your MS stuff.
Look for a GCC port to Windows, such as Mingw or GCW. Both those will create .obj files which can be linked to in Visual Studio. Or you could futz around and configure VS to invoke one of those command line compilers into the project. But since the code is relatively static, it might be a nice compile once and forget it task, hopefully.
Don't expect much help from Microsoft on Fortran.
They spent years trying to kill it off in favour of Visual Basic / C.
You could try Silverfrost's compiler.
http://www.silverfrost.com/11/ftn95/ftn95_fortran_95_for_windows.aspx
This is available free ('personal edition' version) and works with Visual Studio.
It's basically a F90/F95 compiler with a selection of later features included.
You did not say if the old boss' code was written in F77 or F90.
But I think that Silverfrost will handle the old code with minimal changes.
If it turns out well for you, there's also an academic version and an enterprise edition to move up to as desired.
Due to the lack of compiler support for inline assembler with 64 bit targets, I have need to build it in separate files.
I have VS 2010 Professional, how can I set this up?
I would recommend using yasm via its very own vs integration mechanisms.
Basically, it comes down to installing an extra tool as an assembler in the VS settings files etc; however, the YASM team have done it for you which is incredibly useful.