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

文章目录


前言

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

一、程序

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值