Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- impxy macro texto,x,y
- mov ah,02h
- mov bh,00d
- mov dh,x
- mov dl,y
- int 10h
- mov ah,09h
- lea dx,texto
- int 21h
- endm
- dibuja macro yi,xi,yf,xf
- mov ax, 0600h ;
- mov bh, 255d ; COLOR DE FONDO Y LETRA
- mov bl, 0011
- mov ch, yi ; Y INICIAL
- mov cl, xi ; X INICIAL
- mov dh, yf ; Y FINAL
- mov dl, xf ; X FINAL
- int 10h
- endm
- suma macro p1,p2,p3,pg
- mov ah,p1
- mov al,p2
- add ah,al
- mov al,p3
- add ah,al
- mov pg,ah
- endm
- .model small
- .stack
- .data
- vacio db " $"
- mens db "Jugador 1 Cruz",009,009,"Jugador 2 Cuadro$"
- tecj1 db "Jugador 1 tecle un numero : $"
- tecj2 db "Jugador 2 tecle un numero : $"
- val db "Numero valido$"
- ocupa db "Lugar Ocupado$"
- ganc db "Ganador Jugador ''2''$"
- ganz db "Ganador Jugador ''1''$"
- nova db "''Caracter Invalido''$"
- nad db "''Nadie Gano''$"
- lc1 db 0h
- lc2 db 0h
- lc3 db 0h
- empc db 0h
- lz1 db 0h
- lz2 db 0h
- lz3 db 0h
- empz db 0h
- zero db 0h
- emp db 0h
- ;1-9
- c1 db "1$"
- c2 db "2$"
- c3 db "3$"
- c4 db "4$"
- c5 db "5$"
- c6 db "6$"
- c7 db "7$"
- c8 db "8$"
- c9 db "9$"
- ;Cuadro
- auxc db 0h
- cc1 db 0h
- cc2 db 0h
- cc3 db 0h
- cc4 db 0h
- cc5 db 0h
- cc6 db 0h
- cc7 db 0h
- cc8 db 0h
- cc9 db 0h
- ccg db 0h
- ;Cruz
- auxz db 0h
- cz1 db 0h
- cz2 db 0h
- cz3 db 0h
- cz4 db 0h
- cz5 db 0h
- cz6 db 0h
- cz7 db 0h
- cz8 db 0h
- cz9 db 0h
- czg db 0h
- .code
- mov ax,@data
- mov ds,ax
- ;#
- mov ax, 0600h ;
- mov bh, 255d ; COLOR DE FONDO Y LETRA
- mov bl, 0011
- mov ch, 02 ; Y INICIAL
- mov cl, 10 ; X INICIAL
- mov dh, 17 ; Y FINAL
- mov dl, 10 ; X FINAL
- int 10h
- mov ax, 0600h ;
- mov bh, 255d ; COLOR DE FONDO Y LETRA
- mov bl, 255d
- mov ch, 02 ; Y INICIAL
- mov cl, 20 ; X INICIAL
- mov dh, 17 ; Y FINAL
- mov dl, 20 ; X FINAL
- int 10h
- mov ax, 0600h ;
- mov bh, 255d ; COLOR DE FONDO Y LETRA
- mov bl, 255d
- mov ch, 07 ; Y INICIAL
- mov cl, 04 ; X INICIAL
- mov dh, 07 ; Y FINAL
- mov dl, 26 ; X FINAL
- int 10h
- mov ax, 0600h ;
- mov bh, 255d ; COLOR DE FONDO Y LETRA
- mov bl, 255d
- mov ch, 13 ; Y INICIAL
- mov cl, 04 ; X INICIAL
- mov dh, 13 ; Y FINAL
- mov dl, 26 ; X FINAL
- int 10h
- impxy mens,00,20
- ;1-9
- impxy c1,02,04
- impxy c2,02,11
- impxy c3,02,21
- impxy c4,08,04
- impxy c5,08,11
- impxy c6,08,21
- impxy c7,14,04
- impxy c8,14,11
- impxy c9,14,21
- ;;;;;;;;;;;;;;;;;J1
- j1:
- impxy vacio,10,40
- impxy vacio,20,27
- impxy tecj1,20,00
- mov ah,01h
- int 21h
- sub al,30h
- cmp al,01h
- jz valido
- cmp al,02h
- jz valido
- cmp al,03h
- jz valido
- cmp al,04h
- jz valido
- cmp al,05h
- jz valido
- cmp al,06h
- jz valido
- cmp al,07h
- jz valido
- cmp al,08h
- jz valido
- cmp al,09h
- jz valido
- jnz novalido
- valido:
- mov auxz,al
- jmp verifica
- ganadorz:
- impxy ganz,10,40
- mov ah,01h
- int 21h
- mov ah,4ch
- int 21h
- jmp j1
- nadieg:
- impxy nad,10,40
- mov ah,01h
- int 21h
- mov ah,4ch
- int 21h
- jmp j1
- ocupado:
- impxy ocupa,10,40
- mov ah,01h
- int 21h
- jmp j1
- novalido:
- impxy nova,10,40
- mov ah,01h
- int 21h
- jmp j1
- verifica:
- cmp auxz,01h
- jz veri1
- cmp auxz,02h
- jz veri2
- cmp auxz,03h
- jz veri3
- cmp auxz,04h
- jz veri4
- cmp auxz,05h
- jz veri5
- cmp auxz,06h
- jz veri6
- cmp auxz,07h
- jz veri7
- cmp auxz,08h
- jz veri8
- cmp auxz,09h
- jz veri9
- veri1:
- cmp cc1,01h
- jz ocupado
- cmp cz1,01h
- jz ocupado
- jmp ponez
- veri2:
- cmp cc2,01h
- jz ocupado
- cmp cz2,01h
- jz ocupado
- jmp ponez
- veri3:
- cmp cc3,01h
- jz ocupado
- cmp cz3,01h
- jz ocupado
- jmp ponez
- veri4:
- cmp cc4,01h
- jz ocupado
- cmp cz4,01h
- jz ocupado
- jmp ponez
- veri5:
- cmp cc5,01h
- jz ocupado
- cmp cz5,01h
- jz ocupado
- jmp ponez
- veri6:
- cmp cc6,01h
- jz ocupado
- cmp cz6,01h
- jz ocupado
- jmp ponez
- veri7:
- cmp cc7,01h
- jz ocupado
- cmp cz7,01h
- jz ocupado
- jmp ponez
- veri8:
- cmp cc8,01h
- jz ocupado
- cmp cz8,01h
- jz ocupado
- jmp ponez
- veri9:
- cmp cc9,01h
- jz ocupado
- cmp cz9,01h
- jz ocupado
- jmp ponez
- ponez:
- cmp auxz,01h
- jz c1z
- cmp auxz,02h
- jz c2z
- cmp auxz,03h
- jz c3z
- cmp auxz,04h
- jz c4z
- cmp auxz,05h
- jz c5z
- cmp auxz,06h
- jz c6z
- cmp auxz,07h
- jz c7z
- cmp auxz,08h
- jz c8z
- cmp auxz,09h
- jz c9z
- c1z:
- ;+ C1
- dibuja 03,06,05,06
- dibuja 04,04,04,08
- mov cz1,01h
- jmp ganadoz
- c2z:
- ;+ C2
- dibuja 03,15,05,15
- dibuja 04,13,04,17
- mov cz2,01h
- jmp ganadoz
- c3z:
- ;+ C3
- dibuja 03,24,05,24
- dibuja 04,22,04,26
- mov cz3,01h
- jmp ganadoz
- c4z:
- ;+ C4
- dibuja 09,06,11,06
- dibuja 10,04,10,08
- mov cz4,01h
- jmp ganadoz
- c5z:
- ;+ C5
- dibuja 09,15,11,15
- dibuja 10,13,10,17
- mov cz5,01h
- jmp ganadoz
- c6z:
- ;+ C6
- dibuja 09,24,11,24
- dibuja 10,22,10,26
- mov cz6,01h
- jmp ganadoz
- c7z:
- ;+ C7
- dibuja 15,06,17,06
- dibuja 16,04,16,08
- mov cz7,01h
- jmp ganadoz
- c8z:
- ;+ C8
- dibuja 15,15,17,15
- dibuja 16,13,16,17
- mov cz8,01h
- jmp ganadoz
- c9z:
- ;+ C9
- dibuja 15,24,17,24
- dibuja 16,22,16,26
- mov cz9,01h
- jmp ganadoz
- ganadoz:
- suma cz1,cz2,cz3,czg
- cmp czg,03h
- jz ganadorz
- suma cz4,cz5,cz6,czg
- cmp czg,03h
- jz ganadorz
- suma cz7,cz8,cz9,czg
- cmp czg,03h
- jz ganadorz
- suma cz1,cz4,cz7,czg
- cmp czg,03h
- jz ganadorz
- suma cz2,cz5,cz8,czg
- cmp czg,03h
- jz ganadorz
- suma cz3,cz6,cz9,czg
- cmp czg,03h
- jz ganadorz
- suma cz3,cz5,cz7,czg
- cmp czg,03h
- jz ganadorz
- suma cz1,cz5,cz9,czg
- cmp czg,03h
- jz ganadorz
- suma cc1,cc2,cc3,ccg
- mov bl,ccg
- mov lc1,bl
- suma cc4,cc5,cc6,ccg
- mov bl,ccg
- mov lc2,bl
- suma cc7,cc8,cc9,ccg
- mov bl,ccg
- mov lc3,bl
- suma lc1,lc2,lc3,empc
- suma cz1,cz2,cz3,czg
- mov bl,czg
- mov lz1,bl
- suma cz4,cz5,cz6,czg
- mov bl,czg
- mov lz2,bl
- suma cz7,cz8,cz9,czg
- mov bl,czg
- mov lz3,bl
- suma lz1,lz2,lz3,empz
- suma empc,empz,zero,emp
- cmp emp,09h
- jz nadieg
- jmp j2
- ;;;;;;;;;;;;;;;;;;;;;J2
- j2:
- impxy vacio,10,40
- impxy vacio,20,27
- impxy tecj2,20,00
- mov ah,01h
- int 21h
- sub al,30h
- cmp al,01h
- jz validoc
- cmp al,02h
- jz validoc
- cmp al,03h
- jz validoc
- cmp al,04h
- jz validoc
- cmp al,05h
- jz validoc
- cmp al,06h
- jz validoc
- cmp al,07h
- jz validoc
- cmp al,08h
- jz validoc
- cmp al,09h
- jz validoc
- jnc novalidoc
- validoc:
- mov auxc,al
- jmp verificac
- ganadorc:
- impxy ganc,10,40
- mov ah,01h
- int 21h
- mov ah,4ch
- int 21h
- jmp j2
- ocupadoc:
- impxy ocupa,10,40
- mov ah,01h
- int 21h
- jmp j2
- novalidoc:
- impxy nova,10,40
- mov ah,01h
- int 21h
- jmp j2
- verificac:
- cmp auxc,01h
- jz veri1c
- cmp auxc,02h
- jz veri2c
- cmp auxc,03h
- jz veri3c
- cmp auxc,04h
- jz veri4c
- cmp auxc,05h
- jz veri5c
- cmp auxc,06h
- jz veri6c
- cmp auxc,07h
- jz veri7c
- cmp auxc,08h
- jz veri8c
- cmp auxc,09h
- jz veri9c
- veri1c:
- cmp cc1,01h
- jz ocupadoc
- cmp cz1,01h
- jz ocupadoc
- jmp ponec
- veri2c:
- cmp cc2,01h
- jz ocupadoc
- cmp cz2,01h
- jz ocupadoc
- jmp ponec
- veri3c:
- cmp cc3,01h
- jz ocupadoc
- cmp cz3,01h
- jz ocupadoc
- jmp ponec
- veri4c:
- cmp cc4,01h
- jz ocupadoc
- cmp cz4,01h
- jz ocupadoc
- jmp ponec
- veri5c:
- cmp cc5,01h
- jz ocupadoc
- cmp cz5,01h
- jz ocupadoc
- jmp ponec
- veri6c:
- cmp cc6,01h
- jz ocupadoc
- cmp cz6,01h
- jz ocupadoc
- jmp ponec
- veri7c:
- cmp cc7,01h
- jz ocupadoc
- cmp cz7,01h
- jz ocupadoc
- jmp ponec
- veri8c:
- cmp cc8,01h
- jz ocupadoc
- cmp cz8,01h
- jz ocupadoc
- jmp ponec
- veri9c:
- cmp cc9,01h
- jz ocupadoc
- cmp cz9,01h
- jz ocupadoc
- jmp ponec
- ponec:
- cmp auxc,01h
- jz c1c
- cmp auxc,02h
- jz c2c
- cmp auxc,03h
- jz c3c
- cmp auxc,04h
- jz c4c
- cmp auxc,05h
- jz c5c
- cmp auxc,06h
- jz c6c
- cmp auxc,07h
- jz c7c
- cmp auxc,08h
- jz c8c
- cmp auxc,09h
- jz c9c
- c1c:
- ;* C1
- dibuja 03,04,05,08
- mov cc1,01h
- jmp ganadoc
- c2c:
- ;* C2
- dibuja 03,13,05,17
- mov cc2,01h
- jmp ganadoc
- c3c:
- ;* C3
- dibuja 03,22,05,26
- mov cc3,01h
- jmp ganadoc
- c4c:
- ;* C4
- dibuja 09,04,11,08
- mov cc4,01h
- jmp ganadoc
- c5c:
- ;* C5
- dibuja 09,13,11,17
- mov cc5,01h
- jmp ganadoc
- c6c:
- ;* C6
- dibuja 09,22,11,26
- mov cc6,01h
- jmp ganadoc
- c7c:
- ;* C7
- dibuja 15,04,17,08
- mov cc7,01h
- jmp ganadoc
- c8c:
- ;* C8
- dibuja 15,13,17,17
- mov cc8,01h
- jmp ganadoc
- c9c:
- ;* C9
- dibuja 15,22,17,26
- mov cc9,01h
- jmp ganadoc
- ganadoc:
- suma cc1,cc2,cc3,ccg
- cmp ccg,03h
- jz ganadorc
- suma cc4,cc5,cc6,ccg
- cmp ccg,03h
- jz ganadorc
- suma cc7,cc8,cc9,ccg
- cmp ccg,03h
- jz ganadorc
- suma cc1,cc4,cc7,ccg
- cmp ccg,03h
- jz ganadorc
- suma cc2,cc5,cc8,ccg
- cmp ccg,03h
- jz ganadorc
- suma cc3,cc6,cc9,ccg
- cmp ccg,03h
- jz ganadorc
- suma cc3,cc5,cc7,ccg
- cmp ccg,03h
- jz ganadorc
- suma cc1,cc5,cc9,ccg
- cmp ccg,03h
- jz ganadorc
- jmp j1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement