home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / zsys / znode-12 / a / corewars.lbr / PHOENIX.RDC < prev    next >
Encoding:
Text File  |  1991-08-21  |  1.6 KB  |  89 lines

  1.  
  2. DAT 0
  3. DAT 50
  4. DAT -300
  5. DAT 50
  6. MOV #4 -4
  7. MOV #303 -4
  8. MOV #-298 -4
  9. MOV #36 -4
  10. MOV @-8 @-7
  11. MOV #345 @-7
  12. DJZ 5 -7
  13. ADD #1 -11
  14. ADD #1 -11
  15. ADD #1 -11
  16. JMP -6
  17. MOV #-298 -13
  18. MOV #263 24
  19. MOV #7 @23
  20. DJZ 20 22
  21. MOV #7 @21
  22. DJZ 18 20
  23. MOV #7 @19
  24. DJZ 16 18
  25. CMP #345 @-21
  26. JMP 4
  27. CMP 14 314
  28. JMP 4
  29. JMP -23
  30. CMP 11 311
  31. JMP -12
  32. MOV #123 -305
  33. CMP #123 -306
  34. JMP -1
  35. MOV #7 -304
  36. MOV #7 -305
  37. MOV #7 -306
  38. MOV #7 -307
  39. CMP -14 286
  40. JMP 266
  41. JMP -35
  42. DAT 0
  43. END 4
  44.  
  45. Commented code:
  46.  
  47. DAT 0        from pointer
  48. DAT 50        moveup pointer, left at top of move
  49. DAT -300    movedown pointer & exec.down ptr
  50. DAT 50        mov counter
  51. MOV #4 -4    set from pointer
  52. MOV #303 -4    set move up pointer
  53. MOV #-298 -4    set move down to pointer
  54. MOV #36 -4    set size to copy
  55. MOV @-8 @-7    move item up
  56. MOV #345 @-7    move item down
  57. DJZ 5 -7    reduce count, exit if done
  58. ADD #1 -11    adv from
  59. ADD #1 -11    adv to (up)
  60. ADD #1 -11    adv to (down)
  61. JMP -6        continue until copied
  62. MOV #-298 -13    set execdown ptr
  63. MOV #263 24    set bomb/wait pointer
  64. MOV #7 @23    set bomb
  65. DJZ 20 22
  66. MOV #7 @21
  67. DJZ 18 20    go fwd after time out
  68. MOV #7 @19
  69. DJZ 16 18
  70. CMP #345 @-21    check execdown instr
  71. JMP 4        back seems clean, check fwd
  72. CMP 14 314    check last forward item, bak dirty
  73. JMP 4        fwd clean, bak dirty, try anti.imp
  74. JMP -23        both dirty, redo it all
  75. CMP 11 311    bak clean, fwd?
  76. JMP -12        both clean, continue check/bomb
  77. MOV #123 -305    play anti.imp, fwd clean
  78. CMP #123 -306
  79. JMP -1
  80. MOV #7 -304
  81. MOV #7 -305
  82. MOV #7 -306
  83. MOV #7 -307
  84. CMP -14 286    check another fwd item
  85. JMP 266        ok, go fwd and repeat.
  86. JMP -35        do this over, fwd fouled. Last copied
  87. DAT 0        check timer, not copied
  88. END 4
  89.