www.pudn.com > Demo_asm_80x86.rar > Param.asm


;****************************************************** 
;* 文件名:Param.asm 
;* 创建日期:2001.7.16 
;* 作者:陈文尧 
;* 功能:打印命令行中的参数 
;****************************************************** 
include system.inc 
 
;****************************************************** 
;* 以下代码由汇编专家产生,不要随便修改 
;****************************************************** 
.CODE 
	ifdef __COM__ 
		org	100h 
	endif 
@@Start: 
;------------------------------------------------------ 
; 初始化数据段 
;------------------------------------------------------ 
	InitDS	cs 
;------------------------------------------------------ 
; 调用主函数 
;------------------------------------------------------ 
	call	main 
;------------------------------------------------------ 
; 正常返回DOS 
;------------------------------------------------------ 
	ReturnDos 
 
;++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
;+ 主函数,加入实现程序功能的代码 
;++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
main	proc 
      ; 
      ;main函数刚开始时es=psp 
      ;.com文件cs=ds=es,但.exe文件并不如此 
      ; 
      ifdef __EXE__ 
         MovSeg	ds,es 
      endif 
      ; 
      ;命令行中的参数长度在psp:80h 
      ;从psp:81h开始是参数内容 
      ; 
	mov	si,80h 
	cld 
	lodsb 
	sub	cx,cx 
	mov	cl,al 
	jcxz	@Return 
	mov	ah,02h 
@LoopTop: 
	lodsb 
	mov	dl,al 
	int	21h 
	loop	@LoopTop 
@Return: 
	ret 
main	endp 
 
buffer	db	80h dup(?) 
;****************************************************** 
;* 标志程序结束并指定程序入口 
;****************************************************** 
	end	@@Start