获取命令行参数

  1. psp的值默认保存在DS,ES
  2. 80h保存参数的长度,81h开始保存参数,最长128byte
  3. 代码处DS:[80],如果没有段前缀不行,默认的前缀不就是DS吗??
  4. 输入的参数前面会多出一个空格不解?这个不知有什么含义?

代码
ASSUME CS:CODES
CODES SEGMENT
param db
128 dup(?)
START:
xor cx,cx
mov cl,ds:[80H]
jcxz _exit
cld
push cs
pop es
mov si,81H
mov di,offset param
rep movsb
mov al,'$'
stosb
push cs
pop ds
mov dx,offset param
mov ah,9
int 21h
_exit:
MOV AH,4CH
INT 21H
CODES ENDS
END START

原文地址:https://www.cnblogs.com/Jekhn/p/1909414.html