Is there a software that can simulate a CPU with RAM?
CPU Sim would appear to fit the bill.
CPU Sim is a Java application that allows users to design simple computer CPUs at the microcode level and to run machine-language or assembly-language programs on those CPUs through simulation. It can be used to simulate a variety of architectures, including ...
Olly debugger is helpful, it is freeware, and is the best possible software; I recommend it over Hex-rays IDA pro(worth $400-$500). But one thing is for sure you really need to fasten your buckle to handle all the subroutines and functions if you are going to assemble the code your self.
( A YES it includes everything or MORE you demanded a software to do. )
This IDE is still a bit too young, but it certainly worth to be used! SASM IDE
It has drawbacks:
when used with third-party libraries - it should be configured
when used with multiple-file projects - it should be configured
it has no per project configuration
Yet, it has its advantages:
The GNU Debugger, (GDB), is able to step though the code one instruction at a time with inspection of the state of the processor registers. It is script-able in Python so you should be able to do what you need with completely free software, on most platforms and for the code produced in just about any programming language.
Capstone is a disassembly framework with the target of becoming the ultimate
disasm engine for binary analysis and reversing in the security community.
Created by Nguyen Anh Quynh, then developed and maintained by a small community, Capstone offers some unparalleled features:
Support multiple hardware ...
CudaText editor (open source, cross platform) supports this. You need to install lexer "Assembly MIPS" from Addon Manager.
call menu item "Plugins/ Addon Manager/ Install"
enter there MIPS to find the needed lexer
confirm to install it
Lexer handles .s and .asm extensions, but you can change this in the Lexer Properties dialog. Example screenshot:
I would suggest trying to go for the FreeDOS platform first. There are a lot of options that would make your life easier vs going with an actual IBM or MS-DOS installation.
It might be worth while looking into Borland Turbo Assembler (TASM). If you can give some more details of the specific apps that this book recommends, that would be helpful and I'd love ...
For better or worse, I've had the summon-arm toolchain working (??) to various success levels in ubuntu using eclipse and gdb. The best instructions I've found are at http://vedder.se/2012/07/get-started-with-stm32f4-on-ubuntu-linux/
FWIW, I don't particularly care for Eclipse because of the Java bloated feeling.