<![CDATA[Latest posts for the topic "Cho em hỏi về tìm kiếm file trong asm32"]]> /hvaonline/posts/list/23.html JForum - http://www.jforum.net Cho em hỏi về tìm kiếm file trong asm32
Đoạn code của em: Code:
.386
.model flat, stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib kernel32.lib
include \masm32\include\user32.inc
includelib user32.lib

.code
search_handle	dd 0
lpFileName	db	"*.*",0
lpFindFileData	STRUCT
  dwFileAttributes	DWORD      ?
  ftCreationTime        	FILETIME <>
  ftLastAccessTime	FILETIME <>
  ftLastWriteTime       FILETIME <>
  nFileSizeHigh         	DWORD      ?
  nFileSizeLow          	DWORD      ?
  dwReserved0        	DWORD      ?
  dwReserved1         	DWORD      ?
  cFileName             	BYTE MAX_PATH dup(?)
  cAlternate            	BYTE 14 dup(?)
lpFindFileData	ENDS
start:          
	mov	eax,lpFindFileData
      	push	eax
      	lea	eax,lpFileName
      	push	eax
      	call 	FindFirstFileA  
      	cmp 	eax,-1  
       	je 	error   
      	mov 	search_handle,eax 
findnext:
       	mov	eax,lpFindFileData
      	push	eax    
      	lea	eax,search_handle
      	push	eax 
   	call 	FindNextFileA
        cmp 	eax,0
      	je 	error  
     	loop 	findnext
error:
   	invoke ExitProcess, NULL
end	start
Các anh có thể xem hộ em là lý do vì sao lại ko chạy đc ko ạ?]]>
/hvaonline/posts/list/24735.html#149442 /hvaonline/posts/list/24735.html#149442 GMT
Re: Cho em hỏi về tìm kiếm file trong asm32 /hvaonline/posts/list/24735.html#149468 /hvaonline/posts/list/24735.html#149468 GMT Re: Cho em hỏi về tìm kiếm file trong asm32 Code:
mov	eax,lpFindFileData
       	  push	eax
bằng Code:
lea  	eax,lpFindFileData
       	  push	eax
thì lại ko compile đc, bị báo lỗi. ]]>
/hvaonline/posts/list/24735.html#149495 /hvaonline/posts/list/24735.html#149495 GMT
Re: Cho em hỏi về tìm kiếm file trong asm32 Code:
search_handle	dd 0
lpFileName	db	"*.*",0
lpFindFileData	WIN32_FIND_DATA <>
vào code, ko sử dụng data section thì chương trình khi chạy sẽ gặp lỗi (khi debug sẽ thấy lỗi ở ngay hàm findfirstfile). Đoạn code để chạy đc là phải đưa các biến vào section data: Code:
.386
.model flat, stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib kernel32.lib
include \masm32\include\user32.inc
includelib user32.lib
.data
search_handle	dd 0
lpFileName	db	"*.*",0
lpFindFileData	WIN32_FIND_DATA <>
.code
start:          
	invoke FindFirstFile,addr lpFileName,addr lpFindFileData  
      	cmp 	eax,-1  
       	je 	error   
      	mov 	search_handle,eax 
findnext:
       	invoke FindNextFile,search_handle,addr lpFindFileData
        cmp 	eax,0
      	je 	error  
     	loop 	findnext
error:
   	invoke ExitProcess, NULL
end	start
Các anh có thể cho em biết lý do vì sao lại lỗi và em muốn đưa cả biến và code vào cùng 1 section thì phải làm thế nào ko ạ?]]>
/hvaonline/posts/list/24735.html#149514 /hvaonline/posts/list/24735.html#149514 GMT
Re: Cho em hỏi về tìm kiếm file trong asm32 /hvaonline/posts/list/24735.html#149597 /hvaonline/posts/list/24735.html#149597 GMT Re: Cho em hỏi về tìm kiếm file trong asm32 /hvaonline/posts/list/24735.html#149611 /hvaonline/posts/list/24735.html#149611 GMT