汇编语言实验课:第十一次记录

本文通过一个简单的DOS程序示例介绍了如何在DOS环境下进行文件的创建、写入、读取及关闭等基本操作。具体步骤包括:使用INT 21H中断调用创建文件、写入数据、读取数据并将其显示到屏幕上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录


前言

新建一个文件,在文件中输入一串字符。再从把这些字符读出来显示到屏幕上

一、程序

DATAS SEGMENT
    path db 'f:\test.txt'
    buf db 'abcde!'
    handle dw ?
    error_message db 0ah,'error!','$'
    message db 0ah,'ok!','$'
    buf1 db ?
    ;此处输入数据段代码  
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    ;此处输入代码段代码
    
    ;新建文件
   	mov dx,offset path
   	mov cx,0
   	mov ah,3ch
   	int 21h
   	jc error
   	
    ;mov handle,ax
    
    ;写文件
    mov bx,ax
    mov cx,5
    mov dx,offset buf
    mov ah,40h
    int 21h
    jc error
    
    ;关闭文件
    mov bx,handle
    mov ah,3eh
    int 21h
    jc error
    
    mov dx,offset message
    mov ah,9
    int 21h
    call dispc
    jmp end1
error:
	mov dx,offset error_message
	mov ah,9
	int 21h
	
end1:
    
    ;打开文件
    mov dx,offset path
   	mov al,0
   	mov ah,3dh
   	int 21h
    ;读取文件的内容,存入buf1
   
   
    mov bx,ax
    
    lea dx,buf1
    mov cx,5
    mov ah,3fh
    int 21h
    
    ;显示buf1中的内容
    mov cx,0
    mov si,offset buf1
next:
	mov dl,[si]
	mov ah,2
	int 21h
	add cx,1
	add si,1
	cmp cx,5
	jb next
	jmp end2
end2:	
	;关闭文件
	mov ah,3eh
	int 21h
	
    MOV AH,4CH
    INT 21H
;回车换行
dispc proc
     
     push ax
     push dx
     
     mov dl,13
     mov ah,2
     int 21h
     mov dl,10
     mov ah,2
     int 21h
     
     pop dx
     pop ax
     
     ret
     
dispc endp  
CODES ENDS
    END START

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值