You can visit our comparison page to see side-by-side disassembler and decompiler outputs. A picture is worth a thousand words. Comparison pages Short decompilation demo video. Hex-Rays Decompiler demo video. Thorough decompilation demo video. Hex-Rays Decompiler demo (almost a tutorial) video by ccso.com.
The Interactive Disassembler (IDA) is a disassembler for computersoftware which generates assembly languagesource code from machine-executable code. It supports a variety of executable formats for different processors and operating systems. It also can be used as a debugger for Windows PE, Mac OS XMach-O, and LinuxELF executable. A decompiler plug-in for programs compiled with a C/C++compiler is available at extra cost. The latest full version of IDA Pro is commercial; while an earlier and less capable version is available for download free of charge (version 7.0 as of February 2018).[3]
IDA performs automatic code analysis, using cross-references between code sections, knowledge of parameters of API calls, and other information. However, the nature of disassembly precludes total accuracy, and a great deal of human intervention is necessarily required; IDA has interactive functionality to aid in improving the disassembly. A typical IDA user will begin with an automatically generated disassembly listing and then convert sections from code to data and vice versa, rename, annotate, and otherwise add information to the listing, until it becomes clear what it does.
Created as a shareware application by Ilfak Guilfanov, IDA was later sold as a commercial product by DataRescue, a Belgian company, who improved it and sold it under the name IDA Pro. In 2005, Guilfanov founded Hex-Rays to pursue the development of the Hex-Rays Decompiler IDA extension. In January 2008, Hex-Rays assumed the development and support of DataRescue's IDA Pro.[4]
Scripting[edit]
'IDC scripts' make it possible to extend the operation of the disassemble. Some helpful scripts are provided, which can serve as the basis for user written scripts. Most frequently scripts are used for extra modification of the generated code. For example, external symbol tables can be loaded thereby using the function names of the original source code.
Users have created plugins that allow other common scripting languages to be used instead of, or in addition to, IDC. IdaRUB supports Ruby and IDAPython adds support for Python. As of version 5.4, IDAPython (dependent on Python 2.5) comes preinstalled with IDA Pro.
Supported systems/processors/compilers[edit]
Debugging[edit]
IDA Pro supports a number of debuggers,[6] including:
See also[edit]References[edit]
Further reading[edit]
External links[edit]
![]()
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Interactive_Disassembler&oldid=907691390'
Active4 years, 4 months ago
I'd like to learn how to program in Assembler. I've done a bit of assembly before (during my A-Level Computing course) but that was very definitely a simplified 'pseudo-assembler'. I've borrowed my Dad's old Z80 Assembler reference manual, and that seems quite interesting so if possible I'd like to have a go with Z80 assembler.
However, I don't have a Z80 processor to hand, and would like to do it on my PC (I have windows or linux so either is good). I've found various assemblers around on the internet, but I'm not particularly interested in assembling down to a hex file, I want to just be able to assemble it to something that some kind of simulator on the PC can run. Preferably this simulator would show me the contents of all the registers, memory locations etc, and let me step through instructions. I've found a few bits of software that suggest they might do this - but they either refuse to compile, or don't seem to work properly. Has anyone got any suggestions? If there are good simulator/IDE things available for another type of assembler then I could try that instead (assuming there is a good online reference manual available).
robintwrobintw
12.7k3939 gold badges114114 silver badges187187 bronze badges
closed as off-topic by Noel, Jens Erat, Rion Williams, RandomSeed, ChrisMar 1 '14 at 13:01
This question appears to be off-topic. The users who voted to close gave this specific reason:
Can You Crack It Disassembler 8051 DownloadIf this question can be reworded to fit the rules in the help center, please edit the question.16 Answers
I've found a few bits of software that suggest they might do this - but they either refuse to compile, or don't seem to work properly. Has anyone got any suggestions?
Write one. You're best off picking a nice, simple instruction set (Z80 should be perfect). I remember doing this as a first-year undergraduate exercise - I think we wrote the simulator in C++ and simulated 6800 assembly, but really any language/instruction set will do.
The idea of 'learning assembly language' these days is to get the idea of how computers work at the lowest level, only a select few (compiler writers, etc.) have any real reason to actually be writing assembly code these days. Modern processors are stuffed full of features designed to be used by compilers to help optimise code for speed/concurrent execution/power consumption/etc., and trying to write assembly by hand for a modern processor would be a nightmare.
Don't fret about getting your application production-ready unless you want to - in all likelihood the bits of software you've found so far were written by people exactly like you who wanted to figure out how assembly works and wrote their own simulator, then realised how much work would be involved in getting it 'production ready' so the general public could use it.
David HicksDavid Hicks
You might want to check out the open source 8085 simulator 'GnuSim8085', it's specifically meant to be used for educational purposes, and it was in fact written by student while preparing for his exams. It runs on both, Linux and Windows.
nonenone
If Your are on windows 8085 Simulator is the best choice.
It user interface is excellent than any other simulator. Also this simulator provide live view of memory map very time(also while in the execution).
But this one does not support Windows 98 or lower for that you need to check other simulators like 'GnuSim8085'.
Jithin JoseJithin Jose
1,26311 gold badge1616 silver badges3030 bronze badges
MipSim is FREE
Main Features of MIPSim 2
1,43911 gold badge1313 silver badges2525 bronze badges
![]()
6,3801313 gold badges5555 silver badges101101 bronze badges
Aim higher! Try and get a simulator for a more powerful assembly language. Remember, Z80 and 808x were low-end processors with low-end and awkward instruction sets.
Something like VAX from DEC was regarded as the Rolls-Royce of instruction sets. And then there are crazy Risc instruction sets that do some really strange things. Maybe you can find definitions of those so that you can have a crack at implementing them.
Adrian PronkAdrian Pronk
10.6k77 gold badges3131 silver badges5757 bronze badges
You may be interested in this for a Z80 simulator, and I've had good experiences with WinAsm.
tslocumtslocum
2,06055 gold badges2525 silver badges3232 bronze badges
You might also consider learning x86 assembly language, which you could do using in-line assembler in Visual Studio - although it's a larger instruction set than Z80, you would have the advantage of being able to use much better tools than would be available for the Z80.
I've also just remembered that the Keil 8051 and Arm tools have a simulator in the IDE - there are size-restricted versions of these available for free download from www.keil.com
Will DeanWill Dean
34.6k77 gold badges7777 silver badges112112 bronze badges
If you happen to already know .NET, then this may be of use:
Can You Crack It Disassembler 8051 Tool
It's a little bit limited, and may only work with .NET 1.1, but you could atleast use a 'modern' IDE for it, and there are plenty of docs around for it.
Another option, if you want to go 'hard core' is get something like FreeDOS and VMWare, and use that. I'm sure a garage sale (car boot sale? yard sale?) or second hand book shop would have a copy of Peter Norton's old DOS interrupts bible. :)
Personally, I learned x86 asm by using Turbo Pascal (which I think is now free from Borland?), which had the ability to embed assembly instructions inside a function. Made it easier to setup the app, and I could focus on the stuff I wanted to do. I later used MacVAX at Auckland Uni, which was ok, but the VAX is very much dead - you may as well learn x86 :)
Nic WiseNic Wise
6,91322 gold badges2626 silver badges3030 bronze badges
SimpSim is definitely worth a look. It's Windows only, but the feature set is pretty decent:
Chris ZwirykChris Zwiryk
WinApe is a good emulator of an Amstrad CPC. The Amstrad CPC was a Home Computer produced in the 80's. It used a Z80 as its CPU. Using the emulator you can display a lot of the internals while programming. It includes a debugger and a disassembler for Z80 code.
mdmmdm
3,89144 gold badges2323 silver badges2828 bronze badges
This wouldn't make any meaning to you now but just for people stopping by. This is the best assembly code simulator I have come across with. Truly worth it!
Program DisassemblerAbdul MunimAbdul Munim
16.1k55 gold badges4444 silver badges5757 bronze badges
Take a look at Thomas Scherrer Z80 Emulators for a listing of potential emulators you could use.
EspoEspo
35.1k1919 gold badges123123 silver badges150150 bronze badges
I write z80 asm for the ZX Spectrum (still, I know :) ) and use SJasmPlus to link to a spectrum emulator file. Lots of of the better Spectrum emulators like Fuse and ZXSpin have built in editors as well for on the fly debugging and patching.
sparkessparkes
14.7k55 gold badges3535 silver badges4444 bronze badges
When I was in college we used PIC microprocessors. They are made by a company called Microchip. They also have a great IDE with a chip emulator/simulator that can allow you to do things without actually having the chips.
Ryan RodemoyerRyan Rodemoyer
3,1221111 gold badges3737 silver badges4949 bronze badges
Why use an emulator?
Download MASM or NASM and write good old 80386 architecture. Plenty of online samples and learning tools.
Plenty of real-world reason to use assembler!
j0k
20.7k1414 gold badges6969 silver badges7979 bronze badges
Wayne MichaelWayne Michael
there is a simulator which is Visual6502 for teaching fundemental of microprocessor architecture. It has a editor, assembler, I/O operation and animation of how to work a microprocessor. I is available at the following link.
Nuri TopkanNuri Topkan
Not the answer you're looking for? Browse other questions tagged simulatorassembly or ask your own question.Comments are closed.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |