fileoper.asm

来自「windows下汇编语言 学习汇编语言好助手」· 汇编 代码 · 共 65 行

ASM
65
字号
;*************************
;文件:FileOper.asm      * 
;功能:演示文件操作	     *
;*************************
.386p
.model flat,stdcall	;平坦内存模式
;外部过程声明
extrn MessageBoxA:proc	
extrn ExitProcess:proc
extrn CreateFileA:proc
extrn ReadFile:proc
extrn WriteFile:proc
extrn CloseHandle:proc

;常量定义
NULL  = 0		
MB_OK = 0
INVALID_HANDLE_VALUE = -1
GENERIC_READ  = 80000000H
GENERIC_WRITE = 40000000H
FILE_SHARE_READ   = 1
FILE_SHARE_WRITE  = 2
FILE_SHARE_DELETE = 4
OPEN_EXISTING	= 3
CREATE_NEW	= 1


.data 
	Caption db 'OK',0
	Text	db '建立文件、写文件成功',0
	ErrCaption	db 'ERROR',0
	ErrCreate	db '建立文件错误',0
	ErrWrite	db '写文件错误',0
	
	FileContext    	db '文件操作测试',0
	FILELENGTH = $ - FileContext
	FileName	db 'Testing.txt'
	hFile		dd ?
	align 4
	write		dd ?
.code
main:
	;建立文件
	call CreateFileA,offset FileName,GENERIC_WRITE,FILE_SHARE_READ OR FILE_SHARE_WRITE,NULL,CREATE_NEW,NULL,NULL
	mov  [hFile],eax
	cmp  eax,INVALID_HANDLE_VALUE
	jnz  Write
	call MessageBoxA,NULL,offset ErrCreate,offset ErrCaption,MB_OK
	jmp  Exit
Write:	;写文件
	call WriteFile,eax,offset FileContext,FILELENGTH,offset write,NULL
	cmp  eax,0 
	jnz  OK
	call CloseHandle ,[hFile]
	call MessageBoxA,NULL,offset ErrWrite,offset ErrCaption,MB_OK
	jmp  Exit
OK:	;显示成功信息
	call MessageBoxA,NULL,offset Text,offset Caption,MB_OK
	;关闭文件句柄
	call CloseHandle ,[hFile]
Exit:
	call ExitProcess,0

	end main

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?