Advertisement
Guest User

Untitled

a guest
Jun 10th, 2019
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ; Verifica que la combinación secreta (vSecret) no tenga espacios.
  3. ; Para cada elemento del vector (vSecret) mirar que no haya un espacio.
  4. ; Si la combinación secreta es correcta, poner (state=1) para indicar
  5. ; que la combinación secreta es correcta y que vamos a leer jugadas.
  6. ; Si la combinación secreta es incorrecta, poner (state=3) para volverla
  7. ; a pedir sin inicializarla.
  8. ;
  9. ; Variables globales utilizadas:   
  10. ; vSecret  : vector donde guardamos la combinación secreta
  11. ; state    : estado del juego.
  12. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;  
  13. checkSecretP1:
  14.    push rbp
  15.    mov  rbp, rsp
  16.    
  17.    push rax
  18.    push rbx
  19.    
  20.    mov DWORD[state], 1                  ;ponemos state=1 por defecto
  21.    
  22.    ;recorremos el vector vSecret
  23.    mov ebx, 0 ;usamos ebx como indice del vector
  24.    bucleCheckSecret:
  25.         cmp ebx, DimVector
  26.         je endBucleCheckSecret
  27.        
  28.         mov al, BYTE [vSecret+ebx]      ;guardamos la posicion actual del vector en el registro al
  29.        
  30.         cmp al, ' '                     ;si el caracter actual es ' ' saltamos a vector incorrecto
  31.         je vectorIncorrecto
  32.        
  33.         add ebx, 1
  34.         jmp bucleCheckSecret
  35.        
  36.         vectorIncorrecto:
  37.         mov DWORD[state], 3             ;ponemos state = 3
  38.            
  39.    endBucleCheckSecret:
  40.  
  41.    pop rbx
  42.    pop rax
  43.    
  44.    mov rsp, rbp
  45.    pop rbp
  46.    ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement