G
G
Gigabait2021-08-14 17:14:55
Disassembler
Gigabait, 2021-08-14 17:14:55

Code execution during disassembly?

Interested in the question, how is the implementation of the assembler during its disassembly? I saw several projects where this was implemented, for example: high RAM usage during the disassembly process, or high CPU load in the same ida for example.
Can you post articles on this topic? In which direction to google? Because he himself did not find anything on this topic, or it is not much publicized ...

Answer the question

In order to leave comments, you need to log in

1 answer(s)
S
Saboteur, 2021-08-14
@saboteur_kiev

Actually, you need to google not "execution of assembler during disassembly", this is an incorrect phrase. The processor does not execute assembler, it executes machine code.
This process of disassembly allows you to translate machine code into a human-readable assembler.
You need to google "how the debugger works".
For programs, this is done at the operating system level.
There is a special debug mode in which the debugger runs the program, allowing it to step through the program.
Debugging outside the operating system, or debugging the kernel of the operating system, the level is more difficult. But it is also provided already in modern processors, when you hang up your debugger code on an interrupt and put the processor into a mode so that after each instruction the debugger code is executed.
On older processors (somewhere around 286 and earlier), there didn’t seem to be such a mode, it was a little more difficult to debug step by step, but on the other hand, everyone worked in a single space, all processes had access to each other. But then I was small and green, I could be wrong.

Similar questions

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question