标题:汇编怎么调用运行一个bat文件?
只看楼主
zjq20032006
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-4-6
 问题点数:0 回复次数:5 
汇编怎么调用运行一个bat文件?
汇编怎么调用运行一个bat文件?

方式   aaa.bat

其中是汇编源码生成的, aaa.bat是批处理文件.
2015-01-25 23:25
zjq20032006
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-4-6
得分:0 
看来是又是一个高深的问题!
2015-01-26 13:01
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
com 文件都不怎么研究了 现在  那是dos的时代

批处理需要调用os的shell解释器来运行吧

DO IT YOURSELF !
2015-01-26 13:30
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:0 
可以使用DOS中断来调用批处理文件。不过这没有多大的实用价值,WINDOWS系统不会充许的。

活到老,学到老! http://www. E-mail:hu-jj@
2015-01-26 13:56
zjq20032006
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-4-6
得分:0 
是在DOS下运行的,我用C编程了一个,MSDOS正常,FREEDOS不正常.我的工作环境刚好要用到freedos,所以来这寻帮忙,没想到高手..没有出
#include <stdio.h>
#include <string.h>
#include <process.h>

char *right(char *dst,char *src, int n);

int main(int argc, char *argv[])
{
if(argv[1]<2 )
   {
        printf("no argv!\nusage: runbat xxx.bat");
   }
else if(strcmp(right(4,argv[1],4),".bat")==0)
   {
        printf(argv[1]);
        system(argv[1]);
        exit(0);
   }
else
  {
  printf("usage: runbat xxx.bat");
  }
return 0;
}


/*从字符串的右边截取n个字符*/  
char *right(char *dst,char *src, int n)
{  
    char *p = src;  
    char *q = dst;  
    int len = strlen(src);  
    if(n>len) n = len;  
    p += (len-n);   /*从右边第n个字符开始,到0结束,很巧啊*/
    while(*(q++) = *(p++));  
    return dst;  
}

[ 本帖最后由 zjq20032006 于 2015-1-26 20:27 编辑 ]
2015-01-26 20:26
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
回复 5楼 zjq20032006
不明白你这个和汇编有神马关系

DO IT YOURSELF !
2015-01-28 09:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-441470-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.324476 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved