磁芯大战吧 关注:152贴子:550

Redcode新手指南【中文】

只看楼主收藏回复

找到了一个不错的指南。发着看看吧


1楼2010-09-10 05:38回复
    在这里,可以下载。已翻译好。需要发过来的留言。
    http://wenku.baidu.com/view/1cf952fb770bf78a652954d8.html


    3楼2010-09-10 05:41
    回复
      广告
      立即查看
      2楼的那个是94的标准,不过,基本的还是一样的。
      磁芯大战的基础很简单,使用以下的命令来组建一个命令集,然后通过破坏其他程序的命令集来取胜。
      DAT 中止进程
      MOV 移动数据A 到B
      ADD A 加B 并将结果存入B
      SUB A 减B 并将结果存入B
      MUL A 乘B 并将结果存入B
      DIV B/A 并将结果存入B,如果A=0 进程结束
      MOD B%A 并将结果存入B,如果A=0 进程结束
      JMP 跳转到A
      JMZ 如果B=0 则跳转到A
      JMN 如果B!=0 则跳转到A
      DJN 先将B 减1, 如果B!=0 跳转到A
      SPL 开启一个新进程,新进程起始执行地址为A
      SLT 如果A<B 跳过下一条指令
      CMP 和SEQ 相同
      SEQ 如果A=B 跳过下一条指令
      SNE 如果A!=B 跳过下一条指令
      NOP 空指令,什么也不干。


      4楼2010-09-13 11:05
      回复
        要注意的是,磁芯大战的的每一个命令都是AAA B,C 结构(AAA代表的是命令,B、C是相对地址)。
        所谓的相对地址就是以当前的命令为第0行,以B、C来做指向目标命令指针。
        MOV 0,1 可以翻译成把第零行的命令“拷贝”至前一行(这就是追简单的imp战士)。
        同样,短小并不是作为一个成功的战士所必需的,事实上,很多强大的程序都有着40行左右的命令。但是如何能高效的在MARS里搜索、破坏他人的程序才是真正的核心。


        5楼2010-09-13 11:15
        回复
          回复:5楼
          他们的各自的CPU时间怎么算的....


          IP属地:广东6楼2010-09-13 14:05
          回复
            回复:6楼
            程序是按输入的顺序,在一个cycle内依次执行响应。就像下棋一样,程序A读第一行,然后程序B读第一行,然后轮到程序A读第二行(如果没有下一行,那就跳回并执行第一行),以此类推。


            8楼2010-09-13 14:34
            回复
              下了,谢谢


              IP属地:浙江9楼2010-11-02 23:06
              回复
                回复:8楼
                笨笨的问一句,A和B的其实地址怎么设定呢?


                IP属地:浙江10楼2010-11-05 15:51
                回复
                  广告
                  立即查看
                  楼主,有英文原文吗?


                  IP属地:浙江11楼2010-11-05 16:23
                  回复
                    不胜感激,新手入门,请多多指教。


                    12楼2011-05-19 12:11
                    回复
                      不错 、、


                      14楼2012-03-02 14:56
                      回复
                        谢谢


                        15楼2012-03-24 12:03
                        回复
                          以顶


                          IP属地:天津来自Android客户端16楼2012-08-02 12:07
                          回复
                            看上去很厉害


                            18楼2014-06-02 11:47
                            回复