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

📄 vm51_command.c

📁 c51 单片机模拟器C++文件格式元代纳一边以
💻 C
字号:
#include "vm51.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

extern unsigned int code_len;					// programme file length
const char * usage = "VM51.EXE [-d] <FILE.BIN>\n";

int	VM51_parse_command(int argc,char *argv[])
{
    int 	fd;
    int		i;
    int		n;
    int		len;
    char	param[MAX_LINE];
	char	*p;
    FILE	*fp;
    
    if (argc < 2){
        fprintf(stderr,"invalid commandline...\n"
    				   "USAGE:\n"
       				   "%s",usage);
        exit(-1);
	}    
    
    for(i=1;i<argc;i++){
#ifdef __VM51_DEBUG__
    printf("argv[%d]:%s\n",i,argv[i]);
#endif
        strcpy(param,argv[i]);
        len = strlen(argv[i]);
        param[len] = '\0';
        if(strcmp(param,"-d")==0){            
            debug = ON;
        }else if(len > 4){
            if (param[len-4]=='.' && 
            	((param[len-3]=='B' && param[len-2]=='I' && param[len-1]=='N') ||
        	 	 (param[len-3]=='b' && param[len-2]=='i' && param[len-1]=='n'))){
                if ((fp = fopen(param,"rb")) == NULL){
                    fprintf(stderr,"io error: open file %s failed\n",param);
                    exit(-1);
                }
                code_len = 0;
                p = (char *)ROM;
                fd = fileno(fp);
                do{
                    if ((n=read(fd,p,BLOCK_SIZE))<0){
                        fprintf(stderr,"io error: read file %s failed\n",param);
                        exit(-1);
                    }
                    if (n==0) break;
                    code_len += n;
                    p += n;
                }while(TRUE);
                if (ferror(fp)){
                    fprintf(stderr,"io error: read file %s error\n",param);
                    exit(-1);
                }
                fclose(fp);
            }        
        }    
    }    
}    

⌨️ 快捷键说明

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