Software that shows how CPU registers are being used during execution

In summary: If you use Linux, there's a good chance that you already have GDB.In summary, there are several options for debugging assembly code, including built-in options such as the debug program in DOS or using a debugger in a high-level language development package. For Windows, Microsoft Visual Studio and WinDBG are popular choices, while Linux users may already have GDB available.
  • #1
pairofstrings
411
7
Hello
Can any Assembly Langauge guru help me remember a software name which shows how registers of CPU are being used after execution of each ASM instruction? I vaguely remember that there used to be 16-bit program which showed me names/title like AX BX CX DX and values underneath those titles while I write my program using NASM. I also want to know if such software exists for 32-bit and 64-bit OS.
Please help me remember this. Thanks
 
Technology news on Phys.org
  • #2
Any serious debugger should give you access to the machine code and register values.
 
  • Like
Likes 1 person
  • #3
I know that DOS came with a very simple built in debugger called "debug"
http://en.wikipedia.org/wiki/Debug_(command)
Maybe that's the one you used. However it doesn't work on modern Windows versions.
XP was the last version that had the debug program included.
 
  • #4
Many of the better high-level language development packages include a debugger.

If you still program in assembly, there may be a third-party, non-Microsoft debugger which will allow you to peek under the hood.
 
  • #5
In a Microsoft Visual Studio's debugger session, click on debug, windows, registers, to see the registers. There is also a window for assembler instruction view. The previous debugger, CodeView, also has a register window and the source window can be viewed in source only, source + assembly, or assembly only. For debug, use the "r" command to display the registers.
 
  • #6
pairofstrings said:
Hello
Can any Assembly Langauge guru help me remember a software name which shows how registers of CPU are being used after execution of each ASM instruction? I vaguely remember that there used to be 16-bit program which showed me names/title like AX BX CX DX and values underneath those titles while I write my program using NASM. I also want to know if such software exists for 32-bit and 64-bit OS.
Please help me remember this. Thanks

Like Borek said, any serious setup is going to include the ability to watch registers. Just search through the debug menu after stepping into a program.

If you're using something like notepad++, you'll have to use a separate debugger.
 
  • #7
SixNein said:
If you're using something like notepad++, you'll have to use a separate debugger.

Uh ... huh? What does notepad or notepad++ have to do with using a debugger?
 
  • #8
phinds said:
Uh ... huh? What does notepad or notepad++ have to do with using a debugger?

Notepad++ is reasonably good for working with code when there is no integrated environment (or you have reasons to not use it). If that's the setup you use to develop your software, you have to use a separate compiler and separate debugger. Been there, done that.
 
  • #9
Borek said:
Notepad++ is reasonably good for working with code when there is no integrated environment (or you have reasons to not use it). If that's the setup you use to develop your software, you have to use a separate compiler and separate debugger. Been there, done that.

OK, thanks Borek, that makes sense. I've only rarely, and only decades ago, had to work in such an environment and had forgotten.
 
  • #10
WinDBG is a free standalone debugger for Windows. _The_ debugger for systems programming and random hacking on Windows, in fact.
 
  • #11
If you use Linux, there's a good chance that you already have GDB.
 

FAQ: Software that shows how CPU registers are being used during execution

What is the purpose of a software that shows how CPU registers are being used during execution?

A software that shows how CPU registers are being used during execution is used to monitor and understand how the CPU is functioning and processing data. It can help identify any performance issues or bottlenecks in the system.

What information can be obtained from a software that shows CPU registers in use?

A software that shows CPU registers in use can provide information such as the current state of the registers, the values stored in each register, and how they are being used by the CPU during program execution.

How does a software that shows CPU registers in use help with debugging?

A software that shows CPU registers in use can help with debugging by allowing developers to track the flow of data and identify any errors or unexpected behavior in the program. It can also provide insight into the efficiency of the program's code.

Is it possible to modify the values of CPU registers using this software?

No, a software that shows CPU registers in use is typically read-only and cannot modify the values of the registers. It is designed for monitoring and analysis purposes only.

What are some common use cases for a software that shows CPU registers in use?

Some common use cases for a software that shows CPU registers in use include performance optimization, debugging and troubleshooting, and understanding the inner workings of a program or system. It can also be used for teaching and learning purposes in computer science and engineering courses.

Back
Top