añadido soporte de word
release 0.1.3
This commit is contained in:
parent
8f290a84ac
commit
5481e87aa1
|
@ -60,7 +60,7 @@
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="../../../bin"
|
||||
OutputDirectory="r:\dll\dinmem"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="2"
|
||||
CharacterSet="2">
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="../../../bin"
|
||||
OutputDirectory="r:\dll\edivstd"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="2"
|
||||
CharacterSet="2">
|
||||
|
|
|
@ -22,6 +22,10 @@ int ExportaFuncs(EXPORTAFUNCS_PARAMS)
|
|||
FUNCTION("fseek",3,eDiv_Fseek) ;
|
||||
FUNCTION("flush",0,eDiv_Flush) ;
|
||||
FUNCTION("fclose",1,eDiv_Fclose) ;
|
||||
|
||||
// FUNCTION("load",2,eDIV_Load);
|
||||
// FUNCTION("save",3,eDIV_Save);
|
||||
|
||||
return TRUE ;
|
||||
|
||||
}
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="../../../bin"
|
||||
OutputDirectory="r:\dll\file"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="2"
|
||||
CharacterSet="2">
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="../../../bin"
|
||||
OutputDirectory="r:\dll\graphics"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="2"
|
||||
CharacterSet="2">
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="../../../bin"
|
||||
OutputDirectory="r:\dll\input"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="2"
|
||||
CharacterSet="2">
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="../../../bin"
|
||||
OutputDirectory="r:\dll\math"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="2"
|
||||
CharacterSet="2">
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="../../../bin"
|
||||
OutputDirectory="r:\dll\text"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="2"
|
||||
CharacterSet="2"
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
4/4/2003
|
||||
--------
|
||||
* Añadido soporte para datos WORD. (Er_Makina)
|
||||
|
||||
3/4/2003
|
||||
--------
|
||||
* ARREGLADO EL BUG DEL KILL!!! :PPP por fin!!! por supuesto, como todo
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* eDiv Compiler
|
||||
* Copyright (C) 2000-2002 Sion, Ltd.
|
||||
* Copyright (C) 2000-2003 Sion, Ltd.
|
||||
* http://www.sionhq.com
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
|
@ -757,7 +757,7 @@ char* translate(int id_cadena)
|
|||
case 0: /* español */
|
||||
{
|
||||
static char* msg[] = {
|
||||
/* 0 */ " **** Compilador eDIV " VERSION " ****\nCopyleft (c) 2000-2002 Sion, Ltd.\nhttp://ediv.divsite.net\n",
|
||||
/* 0 */ " **** Compilador eDIV " VERSION " ****\nCopyleft (c) 2000-2003 Sion, Ltd.\nhttp://ediv.divsite.net\n",
|
||||
/* 1 */ "ATENCION: Esta version de eDIV esta inacabada.\nPor favor informe de cualquier bug a: ediv@divsite.net\n",
|
||||
/* 2 */ "Ayuda de opciones de comando:\n\n",
|
||||
/* 3 */ "%s [opciones] archivo.prg [ejecutable]\n\n",
|
||||
|
@ -825,7 +825,7 @@ char* translate(int id_cadena)
|
|||
case 1: /* italiano */
|
||||
{
|
||||
static char* msg[] = {
|
||||
/* 0 */ " **** Compilatore eDIV " VERSION " ****\nCopyleft (c) 2000-2002 Sion, Ltd.\nhttp://ediv.divsite.net\n",
|
||||
/* 0 */ " **** Compilatore eDIV " VERSION " ****\nCopyleft (c) 2000-2003 Sion, Ltd.\nhttp://ediv.divsite.net\n",
|
||||
/* 1 */ "ATTENZIONE: Questa versione di eDIV è incompleta.\nPer favore informa su qualunque bug a: ediv@divsite.net\n",
|
||||
/* 2 */ "Guida opzioni di comando:\n\n",
|
||||
/* 3 */ "%s [opzioni] archivio.prg [eseguibile]\n\n",
|
||||
|
@ -893,7 +893,7 @@ char* translate(int id_cadena)
|
|||
case 2: /* portugués */
|
||||
{
|
||||
static char* msg[] = {
|
||||
/* 0 */ " **** Compilador eDIV " VERSION " ****\nCopyleft (c) 2000-2002 Sion, Ltd.\nhttp://ediv.divsite.net\n",
|
||||
/* 0 */ " **** Compilador eDIV " VERSION " ****\nCopyleft (c) 2000-2003 Sion, Ltd.\nhttp://ediv.divsite.net\n",
|
||||
/* 1 */ "ATENÇÃO: Esta versão de eDIV está inacabada.\nPor favor informe-nos de qualquer bug a: ediv@divsite.net\n",
|
||||
/* 2 */ "Ajuda de opções de comando:\n\n",
|
||||
/* 3 */ "%s [opções] arquivo.prg [executavel]\n\n",
|
||||
|
@ -963,7 +963,7 @@ char* translate(int id_cadena)
|
|||
case 3: /* inglés */
|
||||
{
|
||||
static char* msg[] = {
|
||||
/* 0 */ " **** eDIV Compiler " VERSION " ****\nCopyleft (c) 2000-2002Sion, Ltd.\nhttp://ediv.divsite.net\n",
|
||||
/* 0 */ " **** eDIV Compiler " VERSION " ****\nCopyleft (c) 2000-2003Sion, Ltd.\nhttp://ediv.divsite.net\n",
|
||||
/* 1 */ "WARNING: This version of eDIV is unfinished.\nPlease report any bug to: ediv@divsite.net\n",
|
||||
/* 2 */ "Command line help:\n\n",
|
||||
/* 3 */ "%s [options] file.prg [executable]\n\n",
|
||||
|
@ -1031,7 +1031,7 @@ char* translate(int id_cadena)
|
|||
case 4: /* catalán */
|
||||
{
|
||||
static char* msg[] = {
|
||||
/* 0 */ " **** Compilador eDIV " VERSION " ****\nCopyleft (c) 2000-2002 Sion, Ltd.\nhttp://ediv.divsite.net\n",
|
||||
/* 0 */ " **** Compilador eDIV " VERSION " ****\nCopyleft (c) 2000-2003 Sion, Ltd.\nhttp://ediv.divsite.net\n",
|
||||
/* 1 */ "ATENCIÓ: Aquesta versió d' eDIV està sense acabar.\nSi us plau, informi de qualsevol bug a: ediv@divsite.net\n",
|
||||
/* 2 */ "Ajuda d' opcions de comand:\n\n",
|
||||
/* 3 */ "%s [opcions] arxiu.prg [executable]\n\n",
|
||||
|
@ -1098,7 +1098,7 @@ char* translate(int id_cadena)
|
|||
case 5: /* euskera */
|
||||
{
|
||||
static char* msg[] = {
|
||||
/* 0 */ " **** eDIV konpiladorea " VERSION " ****\nCopyleft (c) 2000-2002 Sion, Ltd.\nhttp://ediv.divsite.net\n",
|
||||
/* 0 */ " **** eDIV konpiladorea " VERSION " ****\nCopyleft (c) 2000-2003 Sion, Ltd.\nhttp://ediv.divsite.net\n",
|
||||
/* 1 */ "KONTUZ: eDIV bertsio hau ez dago bukaturik.\nMesedez eman berri edozein akatzi buruz helbide honetan: ediv@divsite.net\n",
|
||||
/* 2 */ "Komandoei buruzko laguntza:\n\n",
|
||||
/* 3 */ "%s [aukerak] archivo.prg [exekutagarria]\n\n",
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
#ifndef __EDIV_SHARED_H_
|
||||
#define __EDIV_SHARED_H_
|
||||
|
||||
#define VERSION "0.1.1 (Orion)" /* Version y codename */
|
||||
#define la_clave "Open_eDiv" /* Clave de cifrado */
|
||||
#define VERSION "0.1.3 (Betelgeuse)" /* Version y codename */
|
||||
#define la_clave "81ab50e9c20d" /* Clave de cifrado */
|
||||
|
||||
#define uchar char
|
||||
#define byte unsigned char
|
||||
|
@ -35,7 +35,7 @@
|
|||
#define ulong unsigned int
|
||||
#define dword unsigned int
|
||||
|
||||
#define magic "eDIV Stub\x1a\x0d\x0a\xff"
|
||||
#define magic "eDIVstub0\x1a\x0d\x0a\xff"
|
||||
|
||||
#define long_header 9 /* Longitud de la cabecera al inicio de los programas */
|
||||
|
||||
|
|
|
@ -652,6 +652,355 @@ int proceso( int num, int padre )
|
|||
sp-=2;
|
||||
mem[procs_s[num_proc].id+_param_offset]++;
|
||||
break;
|
||||
|
||||
/* OPERACIONES CON DATOS DE TIPO WORD */
|
||||
|
||||
case lptrwor:
|
||||
pila[sp-1]=(unsigned int)memw[pila[sp-1]*2+pila[sp]];
|
||||
sp--;
|
||||
break;
|
||||
case lasiwor:
|
||||
pila[sp-2]=(unsigned int)(memw[pila[sp-2]*2+pila[sp-1]]=(word)pila[sp]);
|
||||
sp-=2;
|
||||
break;
|
||||
case liptwor:
|
||||
pila[sp-1]=(unsigned int)++memw[pila[sp-1]*2+pila[sp]];
|
||||
sp--;
|
||||
break;
|
||||
case lptiwor:
|
||||
utemp=pila[sp-1];
|
||||
pila[sp-1]=(unsigned int)memw[utemp*2+pila[sp]]++;
|
||||
sp--;
|
||||
break;
|
||||
case ldptwor:
|
||||
pila[sp-1]=(unsigned int)--memw[pila[sp-1]*2+pila[sp]];
|
||||
sp--;
|
||||
break;
|
||||
case lptdwor:
|
||||
utemp=pila[sp-1];
|
||||
pila[sp-1]=(unsigned int)memw[utemp*2+pila[sp]]--;
|
||||
sp--;
|
||||
break;
|
||||
case ladawor:
|
||||
pila[sp-2]=(unsigned int)(memw[pila[sp-2]*2+pila[sp-1]]+=(word)pila[sp]);
|
||||
sp-=2;
|
||||
break;
|
||||
case lsuawor:
|
||||
pila[sp-2]=(unsigned int)(memw[pila[sp-2]*2+pila[sp-1]]-=(word)pila[sp]);
|
||||
sp-=2;
|
||||
break;
|
||||
case lmuawor:
|
||||
pila[sp-2]=(unsigned int)(memw[pila[sp-2]*2+pila[sp-1]]*=(word)pila[sp]);
|
||||
sp-=2;
|
||||
break;
|
||||
case ldiawor:
|
||||
/* #ifdef DEBUG
|
||||
if (pila[sp]==0) {
|
||||
memw[pila[sp-2]*2+pila[sp-1]]=0;
|
||||
sp-=2; pila[sp]=0;
|
||||
v_function=-2; e(145);
|
||||
if (call_to_debug) { process_stoped=id; return; }
|
||||
break;
|
||||
}
|
||||
#endif*/
|
||||
pila[sp-2]=(unsigned int)(memw[pila[sp-2]*2+pila[sp-1]]/=(word)pila[sp]);
|
||||
sp-=2;
|
||||
break;
|
||||
case lmoawor:
|
||||
/* #ifdef DEBUG
|
||||
if (pila[sp]==0) {
|
||||
memw[pila[sp-2]*2+pila[sp-1]]=0;
|
||||
sp-=2; pila[sp]=0;
|
||||
v_function=-2; e(145);
|
||||
if (call_to_debug) { process_stoped=id; return; }
|
||||
break;
|
||||
}
|
||||
#endif*/
|
||||
pila[sp-2]=(unsigned int)(memw[pila[sp-2]*2+pila[sp-1]]%=(word)pila[sp]);
|
||||
sp-=2;
|
||||
break;
|
||||
case lanawor:
|
||||
pila[sp-2]=(unsigned int)(memw[pila[sp-2]*2+pila[sp-1]]&=(word)pila[sp]);
|
||||
sp-=2;
|
||||
break;
|
||||
case lorawor:
|
||||
pila[sp-2]=(unsigned int)(memw[pila[sp-2]*2+pila[sp-1]]|=(word)pila[sp]);
|
||||
sp-=2;
|
||||
break;
|
||||
case lxoawor:
|
||||
pila[sp-2]=(unsigned int)(memw[pila[sp-2]*2+pila[sp-1]]^=(word)pila[sp]);
|
||||
sp-=2;
|
||||
break;
|
||||
case lsrawor:
|
||||
pila[sp-2]=(unsigned int)(memw[pila[sp-2]*2+pila[sp-1]]>>=(word)pila[sp]);
|
||||
sp-=2;
|
||||
break;
|
||||
case lslawor:
|
||||
pila[sp-2]=(unsigned int)(memw[pila[sp-2]*2+pila[sp-1]]<<=(word)pila[sp]);
|
||||
sp-=2;
|
||||
break;
|
||||
case lcpawor:
|
||||
_param_offset=reservedptr("param_offset");
|
||||
if ((unsigned)pila[mem[procs_s[num_proc].id+_param_offset]]<256) {
|
||||
memw[pila[sp-1]*2+pila[sp]]=(word)pila[mem[procs_s[num_proc].id+_param_offset]];
|
||||
} else {
|
||||
if (pila[mem[procs_s[num_proc].id+_param_offset]]<imem_max+258*4)
|
||||
memw[pila[sp-1]*2+pila[sp]]=memw[pila[mem[procs_s[num_proc].id+_param_offset]]*2];
|
||||
else
|
||||
memw[pila[sp-1]*2+pila[sp]]=(word)pila[mem[procs_s[num_proc].id+_param_offset]];
|
||||
} sp-=2; mem[procs_s[num_proc].id+_param_offset]++; break;
|
||||
|
||||
|
||||
/* OPERACIONES CON DATOS DE TIPO STRING */
|
||||
/* Nota: un puntero a cadena menor a 256 se trata siempre como "%c" */
|
||||
|
||||
#ifdef esto_pa_la_0_1_4
|
||||
|
||||
case lstrcpy:
|
||||
/* #ifdef DEBUG
|
||||
if ((mem[pila[sp-1]-1]&0xFFF00000)!=0xDAD00000) {
|
||||
sp--; v_function=-2; e(164);
|
||||
if (call_to_debug) { process_stoped=id; return; }
|
||||
break;
|
||||
}
|
||||
if ((unsigned)pila[sp]>255) if ((mem[pila[sp-1]-1]&0xFFFFF)+1<strlen((char*)&mem[pila[sp]])) {
|
||||
sp--; v_function=-2; e(140);
|
||||
if (call_to_debug) { process_stoped=id; return; }
|
||||
break;
|
||||
}
|
||||
#endif*/
|
||||
if ((unsigned)pila[sp]>255) strcpy((char*)&mem[pila[sp-1]],(char*)&mem[pila[sp]]);
|
||||
else sprintf((char*)&mem[pila[sp-1]],"%c\0",pila[sp]);
|
||||
sp--;
|
||||
break;
|
||||
|
||||
case lstrfix:
|
||||
if (pila[sp-1]>=(oo=strlen(&memb[pila[sp-2]*4]))) {
|
||||
for (;oo<pila[sp-1];oo++) {
|
||||
memb[pila[sp-2]*4+oo]=' ';
|
||||
} memb[pila[sp-2]*4+oo+1]=0;
|
||||
} break;
|
||||
|
||||
case lstrcat:
|
||||
/* #ifdef DEBUG
|
||||
if ((mem[pila[sp-1]-1]&0xFFF00000)!=0xDAD00000) {
|
||||
sp--; v_function=-2; e(164);
|
||||
if (call_to_debug) { process_stoped=id; return; }
|
||||
break;
|
||||
}
|
||||
if ((unsigned)pila[sp]>255) oo=strlen((char*)&mem[pila[sp]]); else oo=1;
|
||||
if ((mem[pila[sp-1]-1]&0xFFFFF)+1<strlen((char*)&mem[pila[sp-1]])+oo) {
|
||||
sp--; v_function=-2; e(140);
|
||||
if (call_to_debug) { process_stoped=id; return; }
|
||||
break;
|
||||
}
|
||||
#endif*/
|
||||
if ((unsigned)pila[sp]>255) strcat((char*)&mem[pila[sp-1]],(char*)&mem[pila[sp]]);
|
||||
else sprintf((char*)&mem[pila[sp-1]],"%s%c\0",(char*)&mem[pila[sp-1]],pila[sp]);
|
||||
sp--;
|
||||
break;
|
||||
|
||||
case lstradd: /* Strcat "en el aire" (ojo, el aire tiene tambien 0xDAD00402) */
|
||||
/* #ifdef DEBUG
|
||||
if ((unsigned)pila[sp-1]>255) oo=strlen((char*)&mem[pila[sp-1]]); else oo=1;
|
||||
if ((unsigned)pila[sp]>255) oo+=strlen((char*)&mem[pila[sp]]); else oo+=1;
|
||||
if (oo>=1028) {
|
||||
sp--; v_function=-2; e(140);
|
||||
if (call_to_debug) { process_stoped=id; return; }
|
||||
break;
|
||||
}
|
||||
#endif*/
|
||||
if ((unsigned)pila[sp-1]>255) {
|
||||
if ((unsigned)pila[sp]>255) {
|
||||
sprintf((char*)&mem[nullstring[nstring]],"%s%s\0",(char*)&mem[pila[sp-1]],(char*)&mem[pila[sp]]);
|
||||
} else {
|
||||
sprintf((char*)&mem[nullstring[nstring]],"%s%c\0",(char*)&mem[pila[sp-1]],pila[sp]);
|
||||
}
|
||||
} else {
|
||||
if ((unsigned)pila[sp]>255) {
|
||||
sprintf((char*)&mem[nullstring[nstring]],"%c%s\0",pila[sp-1],(char*)&mem[pila[sp]]);
|
||||
} else {
|
||||
sprintf((char*)&mem[nullstring[nstring]],"%c%c\0",pila[sp-1],pila[sp]);
|
||||
}
|
||||
}
|
||||
pila[--sp]=nullstring[nstring];
|
||||
nstring=((nstring+1)&3);
|
||||
break;
|
||||
|
||||
case lstrdec: /* cambio de tamaño "en el aire" (no da error, hace lo que puede) */
|
||||
oo=strlen((char*)&mem[pila[sp-1]]);
|
||||
if (oo<1028) {
|
||||
strcpy((char*)&mem[nullstring[nstring]],(char*)&mem[pila[sp-1]]);
|
||||
if (pila[sp]>0) { // Quitar caracteres
|
||||
if (pila[sp]>=oo) memb[nullstring[nstring]*4]=0;
|
||||
else memb[nullstring[nstring]*4+oo-pila[sp]]=0;
|
||||
} else if (pila[sp]<0) { // A¤adir (?) caracteres (por homogeneidad)
|
||||
pila[sp]=oo-pila[sp]; // Nueva longitud
|
||||
if (pila[sp]>1025) pila[sp]=1025;
|
||||
for (;oo<pila[sp];oo++) {
|
||||
memb[nullstring[nstring]*4+oo]=' ';
|
||||
} memb[nullstring[nstring]*4+oo]=0;
|
||||
}
|
||||
} else mem[nullstring[nstring]]=0;
|
||||
pila[--sp]=nullstring[nstring];
|
||||
nstring=((nstring+1)&3);
|
||||
break;
|
||||
|
||||
case lstrsub: /* cambio de tamaño a un string */
|
||||
oo=strlen((char*)&mem[pila[sp-1]]);
|
||||
/* #ifdef DEBUG
|
||||
if ((mem[pila[sp-1]-1]&0xFFF00000)!=0xDAD00000) {
|
||||
sp--; v_function=-2; e(164);
|
||||
if (call_to_debug) { process_stoped=id; return; }
|
||||
break;
|
||||
}
|
||||
if ((mem[pila[sp-1]-1]&0xFFFFF)+1<oo-pila[sp]) {
|
||||
sp--; v_function=-2; e(140);
|
||||
if (call_to_debug) { process_stoped=id; return; }
|
||||
break;
|
||||
}
|
||||
#endif*/
|
||||
if (pila[sp]>0) { // Quitar caracteres
|
||||
if (pila[sp]>=oo) memb[pila[sp-1]*4]=0;
|
||||
else memb[pila[sp-1]*4+oo-pila[sp]]=0;
|
||||
} else if (pila[sp]<0) { // A¤adir (?) caracteres (por homogeneidad)
|
||||
pila[sp]=oo-pila[sp]; // Nueva longitud
|
||||
for (;oo<pila[sp];oo++) {
|
||||
memb[pila[sp-1]*4+oo]=' ';
|
||||
} memb[pila[sp-1]*4+oo]=0;
|
||||
} sp--;
|
||||
break;
|
||||
|
||||
case lstrlen:
|
||||
if ((unsigned)pila[sp]>255) pila[sp]=strlen((char*)&mem[pila[sp]]); else pila[sp]=1;
|
||||
break;
|
||||
|
||||
case lstrigu:
|
||||
if ((unsigned)pila[sp-1]>255) {
|
||||
if ((unsigned)pila[sp]>255) {
|
||||
if (strcmp((char*)&mem[pila[sp-1]],(char*)&mem[pila[sp]])) pila[sp-1]=0; else pila[sp-1]=1;
|
||||
} else {
|
||||
if (strcmp((char*)&mem[pila[sp-1]],(char*)&pila[sp])) pila[sp-1]=0; else pila[sp-1]=1;
|
||||
}
|
||||
} else {
|
||||
if ((unsigned)pila[sp]>255) {
|
||||
if (strcmp((char*)&pila[sp-1],(char*)&mem[pila[sp]])) pila[sp-1]=0; else pila[sp-1]=1;
|
||||
} else {
|
||||
pila[sp-1]=(pila[sp-1]==pila[sp]);
|
||||
}
|
||||
} sp--; break;
|
||||
|
||||
case lstrdis:
|
||||
if ((unsigned)pila[sp-1]>255) {
|
||||
if ((unsigned)pila[sp]>255) {
|
||||
if (strcmp((char*)&mem[pila[sp-1]],(char*)&mem[pila[sp]])) pila[sp-1]=1; else pila[sp-1]=0;
|
||||
} else {
|
||||
if (strcmp((char*)&mem[pila[sp-1]],(char*)&pila[sp])) pila[sp-1]=1; else pila[sp-1]=0;
|
||||
}
|
||||
} else {
|
||||
if ((unsigned)pila[sp]>255) {
|
||||
if (strcmp((char*)&pila[sp-1],(char*)&mem[pila[sp]])) pila[sp-1]=1; else pila[sp-1]=0;
|
||||
} else {
|
||||
pila[sp-1]=(pila[sp-1]!=pila[sp]);
|
||||
}
|
||||
} sp--; break;
|
||||
break;
|
||||
|
||||
case lstrmay:
|
||||
if ((unsigned)pila[sp-1]>255) {
|
||||
if ((unsigned)pila[sp]>255) {
|
||||
if (strcmp((char*)&mem[pila[sp-1]],(char*)&mem[pila[sp]])>0) pila[sp-1]=1; else pila[sp-1]=0;
|
||||
} else {
|
||||
if (strcmp((char*)&mem[pila[sp-1]],(char*)&pila[sp])>0) pila[sp-1]=1; else pila[sp-1]=0;
|
||||
}
|
||||
} else {
|
||||
if ((unsigned)pila[sp]>255) {
|
||||
if (strcmp((char*)&pila[sp-1],(char*)&mem[pila[sp]])>0) pila[sp-1]=1; else pila[sp-1]=0;
|
||||
} else {
|
||||
pila[sp-1]=(pila[sp-1]>pila[sp]);
|
||||
}
|
||||
} sp--; break;
|
||||
break;
|
||||
|
||||
case lstrmen:
|
||||
if ((unsigned)pila[sp-1]>255) {
|
||||
if ((unsigned)pila[sp]>255) {
|
||||
if (strcmp((char*)&mem[pila[sp-1]],(char*)&mem[pila[sp]])<0) pila[sp-1]=1; else pila[sp-1]=0;
|
||||
} else {
|
||||
if (strcmp((char*)&mem[pila[sp-1]],(char*)&pila[sp])<0) pila[sp-1]=1; else pila[sp-1]=0;
|
||||
}
|
||||
} else {
|
||||
if ((unsigned)pila[sp]>255) {
|
||||
if (strcmp((char*)&pila[sp-1],(char*)&mem[pila[sp]])<0) pila[sp-1]=1; else pila[sp-1]=0;
|
||||
} else {
|
||||
pila[sp-1]=(pila[sp-1]<pila[sp]);
|
||||
}
|
||||
} sp--; break;
|
||||
break;
|
||||
|
||||
case lstrmei:
|
||||
if ((unsigned)pila[sp-1]>255) {
|
||||
if ((unsigned)pila[sp]>255) {
|
||||
if (strcmp((char*)&mem[pila[sp-1]],(char*)&mem[pila[sp]])<=0) pila[sp-1]=1; else pila[sp-1]=0;
|
||||
} else {
|
||||
if (strcmp((char*)&mem[pila[sp-1]],(char*)&pila[sp])<=0) pila[sp-1]=1; else pila[sp-1]=0;
|
||||
}
|
||||
} else {
|
||||
if ((unsigned)pila[sp]>255) {
|
||||
if (strcmp((char*)&pila[sp-1],(char*)&mem[pila[sp]])<=0) pila[sp-1]=1; else pila[sp-1]=0;
|
||||
} else {
|
||||
pila[sp-1]=(pila[sp-1]<=pila[sp]);
|
||||
}
|
||||
} sp--; break;
|
||||
break;
|
||||
|
||||
case lstrmai:
|
||||
if ((unsigned)pila[sp-1]>255) {
|
||||
if ((unsigned)pila[sp]>255) {
|
||||
if (strcmp((char*)&mem[pila[sp-1]],(char*)&mem[pila[sp]])>=0) pila[sp-1]=1; else pila[sp-1]=0;
|
||||
} else {
|
||||
if (strcmp((char*)&mem[pila[sp-1]],(char*)&pila[sp])>=0) pila[sp-1]=1; else pila[sp-1]=0;
|
||||
}
|
||||
} else {
|
||||
if ((unsigned)pila[sp]>255) {
|
||||
if (strcmp((char*)&pila[sp-1],(char*)&mem[pila[sp]])>=0) pila[sp-1]=1; else pila[sp-1]=0;
|
||||
} else {
|
||||
pila[sp-1]=(pila[sp-1]>=pila[sp]);
|
||||
}
|
||||
} sp--; break;
|
||||
break;
|
||||
|
||||
case lcpastr:
|
||||
/* #ifdef DEBUG
|
||||
if ((mem[pila[sp]-1]&0xFFF00000)!=0xDAD00000) {
|
||||
sp--; mem[id+_Param]++; v_function=-2; e(164);
|
||||
if (call_to_debug) { process_stoped=id; return; }
|
||||
break;
|
||||
}
|
||||
if ((unsigned)pila[mem[id+_Param]]>255) {
|
||||
if ((mem[pila[sp]-1]&0xFFFFF)+1<strlen((char*)&mem[pila[mem[id+_Param]]])) {
|
||||
sp--; mem[id+_Param]++; v_function=-2; e(140);
|
||||
if (call_to_debug) { process_stoped=id; return; }
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif*/
|
||||
if ((unsigned)pila[mem[id+_Param]]>255)
|
||||
strcpy((char*)&mem[pila[sp]],(char*)&mem[pila[mem[id+_Param]]]);
|
||||
else sprintf((char*)&mem[pila[sp]],"%c\0",pila[mem[id+_Param]]);
|
||||
sp--; mem[id+_Param]++;
|
||||
break;
|
||||
#endif
|
||||
|
||||
/* Comprobación de punteros nulos */
|
||||
case lnul:
|
||||
/* #ifdef DEBUG
|
||||
if (!pila[sp]) {
|
||||
v_function=-2; e(165);
|
||||
if (call_to_debug) { process_stoped=id; return; }
|
||||
}
|
||||
#endif*/
|
||||
break;
|
||||
}
|
||||
|
||||
#ifdef DBG
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* eDiv Compiler
|
||||
* Copyleft (C) 2000-2002 Sion Entertainment
|
||||
* Copyleft (C) 2000-2003 Sion Entertainment
|
||||
* http://www.sion-e.com
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="Release"
|
||||
OutputDirectory="r:\ediv"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2">
|
||||
|
|
Binary file not shown.
|
@ -60,7 +60,7 @@
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="Release"
|
||||
OutputDirectory="r:\encrypt"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2">
|
||||
|
@ -72,7 +72,10 @@
|
|||
AdditionalIncludeDirectories="../../shared"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
MinimalRebuild="FALSE"
|
||||
BasicRuntimeChecks="0"
|
||||
RuntimeLibrary="2"
|
||||
BufferSecurityCheck="TRUE"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
|
|
|
@ -67,7 +67,7 @@ makelib.bat win32.rel
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="Release"
|
||||
OutputDirectory="r:\stub"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2">
|
||||
|
@ -161,7 +161,7 @@ makelib.bat win32.dbg
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release con trazador|Win32"
|
||||
OutputDirectory="Release con trazador"
|
||||
OutputDirectory="r:\stub.rel"
|
||||
IntermediateDirectory="Release con trazador"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2">
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="../../../bin"
|
||||
OutputDirectory="r:\b2f"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2">
|
||||
|
@ -67,7 +67,7 @@
|
|||
OmitFramePointers="TRUE"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="../../../bin"
|
||||
OutputDirectory="r:\doku"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2">
|
||||
|
|
|
@ -56,7 +56,7 @@ int main(int argc, char* argv[])
|
|||
int i,j;
|
||||
int ok=0;
|
||||
|
||||
printf("eDIV IconChanger - Copyright (c) Sion Ltd. 2002\n\n");
|
||||
printf("eDIV IconChanger - Copyright (c) Sion Ltd. 2002-2003\n\n");
|
||||
if(argc!=3) {
|
||||
printf("Modo de uso:\n\n %s <programa.exe> <icono.ico>\n\n",argv[0]);
|
||||
exit(2);
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="../../../bin"
|
||||
OutputDirectory="r:\iconchanger"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2">
|
||||
|
|
Loading…
Reference in a new issue