Campo minado em assembly
.MODEL SMALL
.STACK 100h
.DATA
MAT DB 25 DUP(254) MAT1 DB 25 DUP("0") MAT2 DB 25 DUP('X') MAT3 DB 25 DUP(254) VET DB "A B C D E$" MSG1 DB "Digite a coordenada que deseja colocar bomba:$" MSG2 DB "Caracter estranho,Tente novamente!$" MSG3 DB "Digite a coordenada que acha que eh livre de bomba:$" MSG4 DB "VOCE PERDEU!$" MSG5 DB "VOCE GANHOU!$" .CODE
PROC COMPARABX ;COMPARA BX E PULA PARA INCREMENTAÇAO NO VETOR CMP BX,0 JE SUPESQ
CMP BX,4 JE SUPDIR
CMP BX,20 JE INFESQ CMP BX,24 JE INFDIR CMP BX,3 JBE INCLINHA1 CMP BX,5 JE COLUNA1E5 CMP BX,10 JE COLUNA1E10 CMP BX,15 JE COLUNA1E15 CMP BX,9 JE COLUNA5E9 CMP BX,14 JE COLUNA5E14 CMP BX,19 JE COLUNA5E19 CMP BX,21 JNBE MAIORQUE20 ;INICIO DE PROCEDIMENTOS PARA INCREMENTAR O VETOR CALL INCMEIODETODOS JMP FIM
MAIORQUE20:
CALL INCREMENTALINHA5 JMP FIM
SUPESQ:
CALL INCREMENTASUPESQ JMP FIM
SUPDIR:
CALL INCREMENTASUPDIR JMP FIM
INFESQ:
CALL INCREMENTAINFESQ JMP FIM
INFDIR:
CALL INCREMENTAINFDIR JMP FIM
INCLINHA1:
CALL INCREMENTALINHA1 JMP FIM
COLUNA1E5:
CALL INCREMENTACOLUNA1 JMP FIM
COLUNA1E10:
CALL INCREMENTACOLUNA1 JMP FIM
COLUNA1E15:
CALL INCREMENTACOLUNA1 JMP FIM
COLUNA5E9:
CALL INCREMENTACOLUNA5 JMP FIM
COLUNA5E14:
CALL INCREMENTACOLUNA5 JMP FIM
COLUNA5E19:
CALL INCREMENTACOLUNA5