获取命令行参数
- psp的值默认保存在DS,ES
- 80h保存参数的长度,81h开始保存参数,最长128byte
- 代码处DS:[80],如果没有段前缀不行,默认的前缀不就是DS吗??
- 输入的参数前面会多出一个空格不解?这个不知有什么含义?
代码
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