Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- proc checkwinner
- Checkrow1:
- mov si, 0
- mov al, [board+si+1]
- cmp [board+si] , al
- jne checkrow2
- inc si
- mov al, [board+si+2]
- cmp [board+si], al
- jne checkrow2
- jmp winnerfound
- Checkrow2:
- mov si, 3
- mov al, [board+si+1]
- cmp [board+si] , al
- jne checkrow3
- inc si
- mov al, [board+si+2]
- cmp [board+si], al
- jne checkrow3
- jmp winnerfound
- Checkrow3:
- mov si, 6
- mov al, [board+si+1]
- cmp [board+si] , al
- jne CheckColumn1
- inc si
- mov al, [board+si+2]
- cmp [board+si], al
- jne CheckColumn1
- jmp winnerfound
- CheckColumn1:
- mov si, 0
- mov al, [board+si+3]
- cmp al, [board+si]
- jne CheckColumn2
- add si, 3
- mov al, [board+si+3]
- cmp al, [board+si]
- jne CheckColumn2
- jmp winnerfound
- CheckColumn2:
- mov si, 1
- mov al, [board+si+3]
- cmp al, [board+si]
- jne CheckColumn3
- add si, 3
- mov al, [board+si+3]
- cmp al, [board+si]
- jne CheckColumn3
- jmp winnerfound
- CheckColumn3:
- mov si, 2
- mov al, [board+si+3]
- cmp al, [board+si]
- jne CheckDigonal1
- add si, 3
- mov al, [board+si+3]
- cmp al, [board+si]
- jne CheckDigonal1
- jmp winnerfound
- CheckDigonal1:
- mov si, 0
- mov al , [board+si+4]
- cmp [board+si] , al
- jne CheckDigonal2
- add si, 4
- mov al, [board+si+4]
- cmp [board+si], al
- jne CheckDigonal2
- jmp winnerfound
- CheckDigonal2:
- mov si, 2
- mov al, [board+si+2]
- cmp [board+si] , al
- jne CheckTie
- add si, 2
- mov al, [board+si+2]
- cmp [board+si], al
- jne CheckTie
- jmp winnerfound
- CheckTie:
- mov si, 0
- mov bl, 0
- loop2:
- cmp [board+si], '1'
- jne something
- inc bl
- something:
- inc si
- cmp si, 9
- jb loop2
- cmp bl, 0
- je tie
- jne nowinnerfound
- winnerfound:
- ;lea si, [WinnerMsg]
- call PRINT_STR
- ret
- nowinnerfound:
- mov ax,1
- ret
- tie:
- ;lea si, [TieMsg]
- call PRINT_STR
- ret
- endp checkwinner
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement