2013-02-14 60 views
1

除了读取一些ASM操作数(MIPS)的最基本功能外,我没有编程经验。学习没有编程经验的汇编程序

由于严重的医疗条件,我有1年的空闲时间的奢侈。在这段时间里我无法工作或出门,所以我决定要学习ASM。

我对黑客游戏感兴趣;特别是GameCube(PowerPC ASM)和PlayStation(MIPS ASM)。

像我这样的人正确学习ASM的最佳方式是什么?

我想足够流利,我可以编写简单的程序,我也可以真正了解它是非常重要的,这样我就可以在反汇编查看游戏的功能(使用断点和这样)。

我基本上将需要进行反向工程少量是把我的利益,所以我可以破解游戏/变更/修改某些属性(完全合法的,当然)。

这只是我的一个爱好。我对这个领域的工作毫无兴趣;我的大学专业与编程完全无关,我不能在我的大学读编程课程。

+2

一本好书会让你前进。要对不带源代码的程序进行反向工程,您需要一个好的调试器或多个调试器(并且您需要学习使用代码和数据断点和单步执行),一个好的反汇编器或多个反编译器,并且需要很多耐心。无论如何,要在代码中做任何不小的更改,您需要很好地学习有关的程序集。首先学习你的首选asm,然后用一个非常小的可执行文件开始黑客攻击以学习。大问题是如何在数千行代码中找到正确的指令[s]。回到DOS中,Gametools(G3X)拥有出色的内存扫描器。 – nrz 2013-02-14 10:36:06

回答

2

如果你想深入了解事物,那么我建议你看看像Udacity的An Introduction to Computer Science这样的课程,该课程讲授了使用python进行计算机编程的基本原理。

然后,我继续看看一些中级编程课程 - 比如数据结构理论 - 这听起来很无聊 - 但如果你没有获得高级语言的基础知识,你会完全失去在组装的时候你必须自己管理的一切!只有这样我才能看到游戏装配 - 这通常比“hello world”更先进!

我建议你不要急于装配太早:-)

我不是挂在Udacity - 但GPU编程课程刚刚开始 - 尽管它绝对是一门高级课程!

2

如果您想了解MIPS汇编,你应该得到的See MIPS Run副本。本书假定您对C语言有合理的了解。如果你不熟悉C语言,可以找到很多书。 Programming in C Stephen G. Kochan是我在亚马逊上发现的第一个有用的视角,虽然我从未读过它。

(你会发现学习的Python是有点侧轨,如果你的目标是要了解一个特定的游戏作品。)

0

要了解MIPS,我用MIPSIT那将取决于您的环境。你可以得到一个实际的芯片或模拟/模拟。