Guest User

Untitled

a guest
Nov 21st, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.02 KB | None | 0 0
  1. .686
  2. .MODEL flat, stdcall
  3. .STACK
  4. INCLUDE Irvine32.inc
  5.  
  6. .data
  7. tic BYTE "TIC TAC TOE GAME"
  8. player BYTE "PLAYER 1 (X) : PLAYER 2 (O)"
  9. myarray1 BYTE '1' , ' ' , '|' , ' ' , '2' , ' ' , '|' ,' ' ,'3'
  10. myarray2 BYTE '4' , ' ' , '|' , ' ' , '5' , ' ' , '|' ,' ' ,'6'
  11. myarray3 BYTE '7', ' ' , '|' , ' ' , '8' , ' ' , '|' ,' ' ,'9'
  12. choise BYTE 'X','O'
  13. player1 BYTE "Player 1 select your position ",0
  14. player2 BYTE "Player 2 select your position ",0
  15. info byte ?
  16. turn BYTE 2
  17.  
  18. .code
  19. main PROC
  20. mov bl,1
  21. mov ecx,9
  22. L13:
  23. push ecx
  24. call BOARD
  25. call GAME
  26. pop ecx
  27. call clrscr
  28. loop L13
  29.  
  30. BOARD proc
  31.  
  32.  
  33. ;TO DISPLAY TIC TAC TOE GAME
  34. mov ecx, LENGTHOF tic
  35. mov esi,Offset tic
  36. L0:
  37. mov al,[esi]
  38. call writechar
  39. inc esi
  40. loop l0
  41. call crlf
  42. call crlf
  43.  
  44.  
  45. ;TO DISPLAY PLAYER INFO
  46. mov ecx,LENGTHOF player
  47. mov esi,OFFSET player
  48. l6:
  49. mov al,[esi]
  50. call writechar
  51. inc esi
  52. loop L6
  53. call crlf
  54. call crlf
  55.  
  56.  
  57. ;LOOP TO DISPLAY FIRST ARRAY
  58. mov ecx,LENGTHOF myarray1
  59. mov esi,OFFSET myarray1
  60. L1:
  61. mov al,[esi]
  62. call writechar
  63. inc esi
  64. loop L1
  65. call crlf
  66.  
  67. ;LOOP TO DISPLAY SECOND ARRAY
  68. mov ecx,LENGTHOF myarray2
  69. mov esi,OFFSET myarray2
  70. L2:
  71. mov al,[esi]
  72. call writechar
  73. inc esi
  74. loop L2
  75. call crlf
  76.  
  77. ;LOOP TO DISPLAY THIRD ARRAY
  78. mov ecx,LENGTHOF myarray3
  79. mov esi,OFFSET myarray3
  80. L3:
  81. mov al,[esi]
  82. call writechar
  83. inc esi
  84. loop L3
  85. call crlf
  86. call crlf
  87.  
  88. ret
  89. BOARD endp
  90.  
  91. GAME proc
  92. mov ecx,LENGTHOF player1
  93. mov esi,OFFSET player1
  94. L4:
  95. mov al,[esi]
  96. call writechar
  97. inc esi
  98. loop L4
  99. call crlf
  100.  
  101.  
  102. call readint
  103. mov info,al
  104.  
  105. cmp al,1
  106. je one
  107.  
  108. cmp al,2
  109. je two
  110.  
  111. cmp al,3
  112. je three
  113.  
  114. cmp al,4
  115. je four
  116.  
  117. cmp al,5
  118. je five
  119.  
  120. cmp al,6
  121. je six
  122.  
  123. cmp al,7
  124. je seven
  125.  
  126. cmp al,8
  127. je eight
  128.  
  129. cmp al,9
  130. je nine
  131.  
  132. one:
  133. mov al,choise
  134. xchg al,[myarray1]
  135. ret
  136.  
  137. two:
  138. mov al,choise
  139. xchg al,[myarray1+4]
  140. ret
  141.  
  142. three:
  143. mov al,choise
  144. xchg al,[myarray1+8]
  145. ret
  146.  
  147. four:
  148. mov al,choise
  149. xchg al,[myarray2]
  150. ret
  151.  
  152. five:
  153. mov al,choise
  154. xchg al,[myarray2+4]
  155. ret
  156.  
  157. six:
  158. mov al,choise
  159. xchg al,[myarray2+8]
  160. ret
  161.  
  162. seven:
  163. mov al,choise
  164. xchg al,[myarray3]
  165. ret
  166.  
  167. eight:
  168. mov al,choise
  169. xchg al,[myarray3+4]
  170. ret
  171.  
  172. nine:
  173. mov al,choise
  174. xchg al,[myarray3+8]
  175. ret
  176.  
  177.  
  178. GAME endp
  179.  
  180. exit
  181. main endp
  182. end main
Add Comment
Please, Sign In to add comment