Met*_*ate 3 cpu logging assembly
我一直在研究汇编语言的工作原理,因为我想了解我的计算机在 CPU 寄存器/硬件级别上实际发生的复杂和奇特的事情是如何发生的。有什么办法可以看到正常使用电脑时发生了什么?
我想学习,当我说,浏览互联网或玩游戏等时,什么样的东西进出各种寄存器。虽然即使我能看这个,我也不知道如何关联它我可以看到在更高级别发生的特定计算。也就是说,我不知道我怎么知道此时进入这个寄存器的这个十六进制代码是否与 Firefox 处理 SSL 加密等有关。
您意识到这些 CPU 以 3GHz 左右的速度运行 - 如果您想实时运行,那么您(或我)的小脑是无法跟上的。
还有一个小问题:你不看 CPU 上的汇编程序,你去掉一些信息,直接转到机器代码。没有“打印程序的分支”,它将是“分支到位置 227015ED42AB12F2 或其他位置。你必须记住那个位置的作用。再次,压倒你的神经网络。你必须“反向组装”什么是碰巧理解它。非常困难。
也就是说,您有一些选项不能完全满足您的要求。
1) 得到一个调试器,在调试器下运行你的程序。它们通常显示机器代码/汇编(它们像汇编程序一样使用 C 符号)。这将显示一些信息,但请记住,即使是一个简单的程序也可能包含数百万甚至数十亿条指令。当您使用机器代码时,源代码已被编译、优化并与系统库链接。这将很难。
2)寻找模拟器。这些将显示代码的子集并运行得更慢,您可以跟上。我有一台 C64 和一台 Atari 800,并用苹果玩过,所以Virtual 6502对我来说似乎很有趣。
我还建议,如果您想查看算法,查看源代码运行,而不是机器代码,可能是您想要尝试的级别。
归档时间: |
|
查看次数: |
1810 次 |
最近记录: |