⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 execdemo.asm

📁 接口通信的串口通信工具
💻 ASM
字号:
;******************************************************
;* 文件名:ExecDemo.asm
;* 创建日期:2001.7.17
;* 作者:陈文尧
;* 功能:测试未来汇编库函数Exec和GetEnv
;* 备注:本程序是由Turbo Pascal的一个例子改编而来
;******************************************************
include system.inc

;******************************************************
;* 以下代码由汇编专家产生,不要随便修改
;******************************************************
.CODE
	ifdef __COM__
		org	100h
	endif
@@Start:
;------------------------------------------------------
; 初始化数据段
;------------------------------------------------------
	InitDS	cs
;------------------------------------------------------
; 释放多余内存
;------------------------------------------------------
	ModifyMemory	;xxx
;------------------------------------------------------
; 调用主函数
;------------------------------------------------------
	call	main
;------------------------------------------------------
; 正常返回DOS
;------------------------------------------------------
@@Exit:
	ReturnDos

;++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+ 主函数,加入实现程序功能的代码
;++++++++++++++++++++++++++++++++++++++++++++++++++++++
main	proc
	;
	;GetEnv函数返回字符串字符数在ax(不包括结尾的0),但这儿不用
	;
	LibCall		GetEnv,<offset EnvName>,<offset Comspec>
@Next:
	DisplayMessage	Prompt
	;
	;Gets函数返回字符串字符数在ax(不包括结尾的0)
	;
	LibCall		Gets,<offset @CmdLine>
	or			ax,ax
	jz			@End
	add			ax,03h
	mov			ds:Count,al
	;
	;Exec有两个参数:第一个是程序名,是以0结束的字符串地址偏移(其段地址为ds);
	;                第二个是参数名,是前面冠以其长度的字符串的地址偏移
	;如果调用成功cf=0,否则cf=1错误代码在ax
	;
	LibCall		Exec,<offset Comspec>,<offset CmdLine>
	jnc			@Skip
	DisplayMessage	ErrMsg
@Skip:
	jmp			@Next
@End:
	;
	ret
main	endp

Prompt	db	'Enter Dos Command:$'
ErrMsg	db	'Could not execute COMMAND.COM$'
EnvName	db	'COMSPEC',00h
Comspec	db	80h dup(?)
CmdLine	label	byte
Count		db	?
		db	'/C '    ;/C 选项为:执行命令并返回
@CmdLine	db	80h dup(?)
;******************************************************
;* 标志程序结束并指定程序入口
;******************************************************
	end	@@Start

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -