8086汇编获得文件大小
时间: 2024-03-10 21:49:28 浏览: 26
在 8086 汇编中,获得文件大小可以使用 DOS 中断来实现。具体过程如下:
1. 使用 INT 21H 功能号 3FH 打开文件,获取文件句柄。
2. 使用 INT 21H 功能号 42H 获取文件大小,该函数返回文件大小的字节数。
3. 关闭文件句柄。
下面是一个获取文件大小的汇编代码示例:
```assembly
; 打开文件
mov ah, 3Fh ; 功能号
mov al, 0 ; 打开方式:只读
mov dx, offset filename ; 文件名
int 21h ; 调用 DOS 中断
jc error ; CF=1 表示出错,跳转到 error 标签
mov bx, ax ; 将文件句柄保存到 BX 寄存器
; 获取文件大小
mov ah, 42h ; 功能号
mov bx, filehandle ; 文件句柄
mov dx, offset filesize ; 文件大小存放的地址
int 21h ; 调用 DOS 中断
jc error ; CF=1 表示出错,跳转到 error 标签
; 关闭文件
mov ah, 3Eh ; 功能号
mov bx, filehandle ; 文件句柄
int 21h ; 调用 DOS 中断
; 文件大小存放在 filesize 变量中
filesize dw 0
filename db "test.txt", 0
filehandle dw 0
```
需要注意的是,以上代码只适用于获取小于 64KB 的文件大小,如果需要获取大于 64KB 的文件大小,则需要进行多次调用 INT 21H 功能号 42H 并使用 CX 寄存器保存结果。
相关推荐
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)