80x86汇编习题
题目描述:编写一个程序,新建一个文件:d:\abc.txt,从键盘输入文件的内容(不超过100个字符)
思路:
1,定义好文件名,记得末尾+0
2,定义好缓冲区
3,创建文件,成功的话,把AX的文件代号存到FH中,也要处理失败情况
4,准备A号功能缓冲区,用A号功能一次性接收
5,把缓冲区的内容写到文件里
6,关闭文件
DATAS SEGMENTBUF DB 255,?,255 DUP(?)FN DB 'abc001.txt',0FH DW ?ERR_MSG DB 'ERROR!','$'SUC_MSG DB 'SUCCESS!','$'
DATAS ENDSSTACKS SEGMENTDW 100H DUP(?)TOP LABEL WORD
STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKS
START:MOV AX,DATASMOV DS,AXMOV AX,STACKSMOV SS,AXLEA SP,TOP ;初始化LEA DX,FN ;地址MOV CX,0 ;文件属性MOV AH,3CH ;创建文件INT 21HJC ERRR ;创建失败,CF为1,跳转错误MOV FH,AX ;创建成功返回AX是文件代号,放入HANDLELEA DX,BUF ;准备A号功能的缓冲区MOV AH,0AHINT 21HXOR CH,CHMOV CL,[BUF+1] ;BUF+1位置存储的是写入的字节数LEA DX,BUF+2 ;BUF+2是字符串首MOV BX,FH ;文件代号MOV AH,40H ;写功能INT 21HJC ERRR ;错误的话CF为1MOV BX,FH ;关闭文件MOV AH,3EHINT 21HJNC EXIT ;CF为0,正常关闭就退出ERRR:LEA DX,ERR_MSGMOV AH,9INT 21HEXIT: MOV AH,4CHINT 21H
CODES ENDSEND START