Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.81 KB | None | 0 0
  1. proc checkwinner
  2.  
  3. Checkrow1:
  4. mov si, 0
  5. mov al, [board+si+1]
  6. cmp [board+si] , al
  7. jne checkrow2
  8. inc si
  9. mov al, [board+si+2]
  10. cmp [board+si], al
  11. jne checkrow2
  12. jmp winnerfound
  13.  
  14. Checkrow2:
  15. mov si, 3
  16. mov al, [board+si+1]
  17. cmp [board+si] , al
  18. jne checkrow3
  19. inc si
  20. mov al, [board+si+2]
  21. cmp [board+si], al
  22. jne checkrow3
  23. jmp winnerfound
  24.  
  25. Checkrow3:
  26. mov si, 6
  27. mov al, [board+si+1]
  28. cmp [board+si] , al
  29. jne CheckColumn1
  30. inc si
  31. mov al, [board+si+2]
  32. cmp [board+si], al
  33. jne CheckColumn1
  34. jmp winnerfound
  35.  
  36.  
  37. CheckColumn1:
  38. mov si, 0
  39. mov al, [board+si+3]
  40. cmp al, [board+si]
  41. jne CheckColumn2
  42. add si, 3
  43. mov al, [board+si+3]
  44. cmp al, [board+si]
  45. jne CheckColumn2
  46. jmp winnerfound
  47.  
  48.  
  49. CheckColumn2:
  50. mov si, 1
  51. mov al, [board+si+3]
  52. cmp al, [board+si]
  53. jne CheckColumn3
  54. add si, 3
  55. mov al, [board+si+3]
  56. cmp al, [board+si]
  57. jne CheckColumn3
  58. jmp winnerfound
  59.  
  60.  
  61. CheckColumn3:
  62. mov si, 2
  63. mov al, [board+si+3]
  64. cmp al, [board+si]
  65. jne CheckDigonal1
  66. add si, 3
  67. mov al, [board+si+3]
  68. cmp al, [board+si]
  69. jne CheckDigonal1
  70. jmp winnerfound
  71.  
  72.  
  73. CheckDigonal1:
  74. mov si, 0
  75. mov al , [board+si+4]
  76. cmp [board+si] , al
  77. jne CheckDigonal2
  78. add si, 4
  79. mov al, [board+si+4]
  80. cmp [board+si], al
  81. jne CheckDigonal2
  82. jmp winnerfound
  83.  
  84. CheckDigonal2:
  85. mov si, 2
  86. mov al, [board+si+2]
  87. cmp [board+si] , al
  88. jne CheckTie
  89. add si, 2
  90. mov al, [board+si+2]
  91. cmp [board+si], al
  92. jne CheckTie
  93. jmp winnerfound
  94.  
  95. CheckTie:
  96. mov si, 0
  97. mov bl, 0
  98. loop2:
  99. cmp [board+si], '1'
  100. jne something
  101. inc bl
  102. something:
  103. inc si
  104. cmp si, 9
  105. jb loop2
  106. cmp bl, 0
  107. je tie
  108. jne nowinnerfound
  109.  
  110. winnerfound:
  111. ;lea si, [WinnerMsg]
  112. call PRINT_STR
  113. ret
  114.  
  115. nowinnerfound:
  116. mov ax,1
  117. ret
  118.  
  119. tie:
  120. ;lea si, [TieMsg]
  121. call PRINT_STR
  122. ret
  123. endp checkwinner
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement