Files
Operating-System/Experiment/asm-exp/实验八/实验八-1_文件创建.asm
2026-06-25 00:09:09 +08:00

55 lines
1.1 KiB
NASM

; 实验八-1: 文件创建程序
; 功能: 使用DOS功能号3CH创建新文件
; 说明: AL=00H表示普通文件属性
DATAS SEGMENT
FILENAME DB 'testfile.txt', 0 ; 要创建的文件名
HANDLE DW ? ; 文件句柄
ERR_MSG DB 'File creation error!', 0DH, 0AH, '$'
OK_MSG DB 'File created successfully!', 0DH, 0AH, '$'
DATAS ENDS
STACKS SEGMENT
DB 64 DUP(?)
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES, DS:DATAS, SS:STACKS
START:
MOV AX, DATAS
MOV DS, AX
; 创建文件
; AH = 3CH (创建文件功能号)
; AL = 00H (普通文件属性)
; DS:DX = 文件名地址
LEA DX, FILENAME
MOV AH, 3CH
MOV AL, 00H
INT 21H
; 检查是否成功 (CF=0表示成功)
JNC CREATE_SUCCESS
; 创建失败,显示错误信息
LEA DX, ERR_MSG
MOV AH, 09H
INT 21H
JMP PROGRAM_END
CREATE_SUCCESS:
; 保存文件句柄
MOV HANDLE, AX
; 显示成功信息
LEA DX, OK_MSG
MOV AH, 09H
INT 21H
PROGRAM_END:
MOV AH, 4CH
INT 21H
CODES ENDS
END START