当前位置: 首页 > news >正文

汇编语言程序设计 - 新建一个文件:d:\abc.txt,从键盘输入文件的内容(不超过100个字符)

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

http://www.lryc.cn/news/375562.html

相关文章:

  • 【Linux】进程间通信2——命名管道
  • 语音翻译软件app排名来啦,这些工具让旅游畅通无阻
  • nginx脚本原理if指令实现详解
  • 数据提取与治理:企业数字化转型的双引擎
  • Java8 新特性 记录【持续更新】
  • Protobuf详解及入门指南
  • [Java基本语法] 逻辑控制与方法
  • 新手教学系列-​​​​​​基础知识(SSH使用)
  • 如何通过细节处理,让展馆展示效果倍增?
  • 汽车IVI中控开发入门及进阶(二十九):i.MX6
  • 2024-Pop!_OS新版本,新桌面环境的消息
  • 三分钟了解链动3+1模式
  • 加密excel(Python)
  • 解决Unity-2020 安卓异形屏黑边
  • python-给你比个五彩斑斓的❤️
  • 【Go】使用Go语言实现AES CBC No Padding加密和解密
  • 安装VS Code 提示This User Installer is not meant to be run as an Administrator问题
  • keepalived服务详解与实验 基于centos8
  • vue技巧(十)全局配置使用(打包后可修改配置文件)
  • 计算机网络 —— 运输层(运输层概述)
  • BKP备份寄存器RTC实时时钟
  • 基于协同过滤算法的电影推荐
  • IEEE754、linear11、linear16浮点数应用原理
  • 6、 垃圾回收 浏览器事件循环
  • Java多线程面试重点-2
  • LLaMA Factory多卡微调的实战教程(持续更新)
  • IOUtils的妙用
  • 目标检测——室内服务机器人LifelongSLAM数据集
  • Mysql学习笔记-进阶篇
  • AI写真:ControlNet 之 InstantID