如何实现dos下的命令行解析?

炖蛋白豆腐 2016-07-08 04:00:57
完成一个有复制文件功能的程序,有一项要求是:
“解析命令行参数,即完全实现Dos下的命令行解析.
例如,“mycopy c:\xyz\abc.txt xxx.txt””

请问这个要怎么实现?
...全文
92 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
baidu_23107797 2016-07-08
  • 打赏
  • 举报
回复
DOS会为程式保留100H作为系统和参数用,叫PSP段
程式参数列在PSP:80处,程式一开始DS和ES均指向PSP段
若在程式中段,DS,ES值已变,可以用INT 21H, AH=62H,传回的BX就是PSP段值。
PSP段中
80H是参数个数,图中红色的值,若没有参数,则为0
81H是参数起点,图中黄色的值,就是程式和参数间的空白。
所以真正参数应该在空白之后的位置,除非像这样DIR/W,[/]才会在81H
EX1.EXE C:\DATA\ABCD.TXT XYZ.TXT
图中浅蓝是C:\DATA\ABCD.TXT
图中绿色XYZ.TXT
参数最后的0D是回车符
结构说完了,楼主可以试写代码分析之


赵4老师 2016-07-08
  • 打赏
  • 举报
回复

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧