📄 vm51_command.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 + -