1. 背景
本文介绍了在元神操作系统中向U盘写文件的方法,示例所指的U盘是单一分区的、FAT32文件系统的盘。
2. 方法
(1)本例通过调用元神操作系统的API来向U盘写文件,写入U盘根目录下的文件“test.txt”的内容为预先存放在内存中的字符串“123456789”,该字符串有9个数字字符,代码如下所示:
use32
START:
pusha
call demo_write_usb_file
popa
iret
include 'api_def.inc'
OS_API equ 0x00030C16
API_PARAM equ 0x03000000
SEG_BASE equ 0x00040000
file_name_usb db 'u1:\test.txt',0
data_buf db '123456789'
demo_write_usb_file:
pusha
mov edi, API_PARAM
mov dword [fs:edi], API_WRITE_USB_FILE
mov dword [fs:edi+4], 3 ;3 parameters
xor eax, eax
mov ax, ds
add eax, SEG_BASE
mov bh,byte [fs:eax+7]
mov bl,byte [fs:eax+4]
shl ebx,16
mov bx,word [fs:eax+2]
mov eax, ebx
add ebx, file_name_usb
add eax, data_buf
mov dword [fs:edi+8], ebx ;parameter_1: file name
mov dword [fs:edi+12], eax ;parameter_2: start address of buffer to store result
mov dword [fs