프로그래밍

 3198, 1/160 회원가입  로그인  
   stares
   http://stares.da.to/xe
   [어셈]GetTickCount()썻는데 왜 Sleep()과 같은꼴이 되죠?

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=2792 [복사]


.data
timerco                   dd 0
.code

timer1 proc
invoke GetTickCount

mov timerco, eax ; 위에서 한 GetTickCount() 의 시간값을 timerco란 변수에 저장,
add timerco, 2000 ; 2초를 계산하기 위해 timerco에 2000 밀리세컨드 더함.

jmp loop1 ; 루프 1로 점프

loop1:

invoke GetTickCount ; 다시 컴퓨터의 시간값을 알아옴

.if eax > timerco ; 위에서 한 GetTickCount의 eax값이 timerco 보다 크다면
...(원하는 함수 넣음.)
.else ; 작다면
jmp loop1;루프1로 되돌아감
.endif
ret

timer1 endp


Sleep 처럼 프로세스가 멈춰버립니다.
뭐가 문제일까요 조언부탁드립니다.

  Hit : 4814     Date : 2010/12/05 06:22



    
멍멍 루프를 도는 동안엔 프로세스가 멈춘 것처럼 보이는 것이 맞습니다
멈추지 않게 하려면 스레드 함수를 하나 만들고 그 안에서 루프를 돌려주세요
2010/12/07  
stares 스레드를 하나 만들지 않고는 불가능한건가요.. 2010/12/07