Moving image with SDL_Blitsurface

Well I am a begginner in SDL with GL development. I dont understand why the image “icbm.png” dont move between the y coordinate 150 to 10.

void dispara_ICBM(SDL_Surface* screen, SDL_Surface* image) {

unsigned char incy;

SDL_Rect orig;
SDL_Rect dest;
  
   orig.x=150;
   
   orig.y=150;
    
   dest.x=150;
   
   dest.y=150;
   
   incy=150;
   
   
 while (dest.y>=10) {
    
    
    SDL_FillRect(screen, NULL, 0x3); // Pinta de preto todo o screen
    SDL_BlitSurface(image, NULL, screen, &dest); // Joga a imagem na tela
    SDL_UpdateRect(screen,0,0,0,0); // Atualiza o screen com a imagem blitada
    SDL_Delay(10);
    incy--;
    dest.y=incy;
    SDL_FillRect(screen, NULL, 0x3); // Pinta de preto todo o screen
    SDL_BlitSurface(image, NULL, screen, &dest); // Joga a imagem na tela
    SDL_UpdateRect(screen,0,0,0,0); // Atualiza o screen com a imagem blitada
    SDL_Delay(10);
   }

}

in my main() function

SDL_Surface* screen1;
screen1 = SDL_SetVideoMode(800,600,16,SDL_SWSURFACE | SDL_OPENGL);

SDL_Surface* imagemPNG2;
 

  imagemPNG2 = IMG_Load("icbm.png");
  dispara_ICBM(screen1, imagemPNG2);
   SDL_GL_SwapBuffers();