Dwing写的471字节俄罗斯方块(teris)汇编程序源代码

Saturday, January 19th, 2008

记得自己最早玩的一款游戏就是俄罗斯方块,那种拿在手上黑白的机器,整部机器上只有这么一个游戏。不像现在可以有成百上千个。不过当时就一直好奇,这个游戏为什么叫做“俄罗斯”方块……后来才知道俄罗斯方块的发明者,是当时还被称为”苏联”的联邦科学员阿莱克斯・帕吉托夫(Alexey Pazhitnov ),最后该游戏的代理权最终还是被任天堂获得,将它与GB搭配在一起后,产生了令人意想不到的效果,获得了巨大的成功。
到了今天俄罗斯方块的原理差不多已经到了“世人皆知”的地步了(对不起,夸张了点),不过很多计算机专业或者对此有兴趣的爱好者,都自己动手写过这个游戏,Dwing,不少用汇编的人都知道这个名字,是一个汇编牛人,他写了一个编译后仅仅471字节的俄罗斯方块,可谓经典之作。该程序发布在Dwing的主页上,不过好像嵌入了一点我觉的“不友好”的代码,所以在这里不给出这个外部链接了。有兴趣的可以自己Google一下Dwing,很容易找到的。下面是这个经典的471字节俄罗斯方块汇编程序源代码及详细注释:

汇编-32位CPU所含有的寄存器

Monday, December 10th, 2007

4个数据寄存器(EAX、EBX、ECX和EDX)
2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)
6个段寄存器(ES、CS、SS、DS、FS和GS)
1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)

汇编指令–处理机控制指令

Monday, December 10th, 2007

继续我们的汇编指令之旅~处理机控制指令

汇编指令–伪指令

Saturday, December 8th, 2007

吃午饭的时候ITOU说起汇编,ITOU是公司的常务,没想到居然他还能用汇编,KIKUCHI的30年编程,ODA身为董事依然坚持自己开发引擎的核心……想想国内一批又一批的连代码都没写过的人就挂什么项目开发经理之类的头衔,估计马云之流也只有在中国才能取得这样的成功吧……不废话了,继续汇编指令,这回是:伪指令

汇编指令–程序转移指令

Sunday, November 11th, 2007

汇编的程序转移指令,包括无条件转移指令 ,条件转移指令, 循环控制指令,中断指令,处理器控制指令.具体包括:

汇编指令–串指令

Friday, November 9th, 2007

前面记述了《汇编指令–数据传输指令》,《汇编指令–算术运算指令》和《汇编指令–逻辑运算指令》,接下去要用到的就是汇编的串指令了。大致有这么些操作吧。

汇编指令–逻辑运算指令

Sunday, November 4th, 2007

※作者:丁志刚 转载请注明:Minidx全文检索【http://blog.minidx.com/2007/11/04/50.html】
前面学习了《汇编指令–数据传输指令》和《汇编指令–算术运算指令》,接下去就是逻辑运算指令了。

汇编指令–算术运算指令

Friday, November 2nd, 2007

继续我们的汇编指令之旅~看完了数据传输指令,知道了数据在存贮器和寄存器、寄存器和输入输出端口之间是如何传输的之后,接下来就是对得到的数据进行运算了。所以接下去的汇编指令是:算术运算指令

汇编指令–数据传输指令

Thursday, November 1st, 2007

看过有人写的一片分析strlen函数源代码的文章,其中对比了C和汇编的实现的效率,C的代码当然没有问题,但是汇编代码看的我累死了……大学的知识统统还给课本了。汇编在效率上是无可厚非的,所以找了一些相关的资料,就当复习吧。先是数据传输指令:作用:数据传输指令在存贮器和寄存器、寄存器和输入输出端口之间传送数据。它又细分为通用数据传送指令,输入输出端口传送指令,目的地址传送指令和标志传送指令。

Search Posts

Archives

Sponsored Ads