forked from KolibriOS/kolibrios
upload fixed verion by paulcodeman
git-svn-id: svn://kolibrios.org@7700 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
26c8e413a9
commit
7984195956
@ -1,28 +1,27 @@
|
|||||||
Compiler = kos32-gcc
|
# sudo apt-get install gcc-multilib g++-multilib
|
||||||
Linker = kos32-ld
|
|
||||||
|
|
||||||
SDK_DIR:= $(abspath ../../../contrib/sdk)
|
Compiler = gcc
|
||||||
|
|
||||||
Includes = -Id:\TEMP\mprog\kos\includes -I$(SDK_DIR)/sources/newlib/libc/include
|
Compiler_Options = -m32 -c -fno-exceptions -D_UNIX_
|
||||||
|
#Compiler_Options = -c -fno-exceptions -O2 -D_WIN32_
|
||||||
|
|
||||||
Compatib_Posix = -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp
|
#-D: _WIN32_ or _UNIX_
|
||||||
|
#-D: for _WIN32_ add -D__CONSOLE__
|
||||||
|
|
||||||
Compiler_Options = -c -fno-exceptions -D_KOS_ -U_Win32 -U_WIN32 -U__MINGW32__ \
|
Exe_file = cmm
|
||||||
-mno-ms-bitfields -Wno-write-strings $(Includes) $(Compatib_Posix)
|
|
||||||
|
|
||||||
Exe_file = cmm.kex
|
|
||||||
|
|
||||||
|
|
||||||
Path_Libs = -Ld:/TEMP/Dev-Cpp/lib/kos -L $(SDK_DIR)/lib
|
|
||||||
#-Ld:/TEMP/Dev-Cpp/lib/gcc/mingw32/3.4.2 -Ld:/TEMP/Dev-Cpp/lib/gcc -Ld:/TEMP/Dev-Cpp/lib -Ld:/TEMP/Dev-Cpp/lib
|
|
||||||
|
|
||||||
Add_Libs =
|
Path_Libs = -Ld:/TEMP/Dev-Cpp/lib/gcc/mingw32/3.4.2 -Ld:/TEMP/Dev-Cpp/lib/gcc -Ld:/TEMP/Dev-Cpp/lib -Ld:/TEMP/Dev-Cpp/lib
|
||||||
|
|
||||||
#Link_Libs = -lc -lgcc
|
Add_Libs = d:/TEMP/Dev-Cpp/lib/gcc/mingw32/3.4.2/crtbegin.o d:/TEMP/Dev-Cpp/lib/crt2.o d:/TEMP/Dev-Cpp/lib/gcc/mingw32/3.4.2/crtend.o
|
||||||
Link_Libs = -static -S -nostdlib -T $(SDK_DIR)/sources/newlib/app-dynamic.lds \
|
|
||||||
--image-base 0 -lgcc -ldll -lc.dll
|
|
||||||
|
|
||||||
My_Libs = main.o port.o toka.o tokb.o tokc.o toke.o tokr.o errors.o debug.o outobj.o outpe.o disasm.o switch.o outle.o pointer.o new_type.o class.o res.o optreg.o libobj.o
|
Link_Libs = -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32
|
||||||
|
|
||||||
|
My_Libs = main.o toka.o tokb.o tokc.o toke.o tokr.o errors.o debug.o outobj.o outpe.o disasm.o switch.o outle.o pointer.o new_type.o class.o res.o optreg.o libobj.o port.o
|
||||||
|
|
||||||
|
|
||||||
|
#Link_Libs = -lmingw32 -lgcc -lmoldname -lmingwex -lmingw32 -lmoldname -lmingwex -lmsvcrt -lgcc -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32
|
||||||
|
|
||||||
####################
|
####################
|
||||||
## Makefile rules ##
|
## Makefile rules ##
|
||||||
@ -31,9 +30,12 @@ My_Libs = main.o port.o toka.o tokb.o tokc.o toke.o tokr.o errors.o debug.o o
|
|||||||
all : $(Exe_file)
|
all : $(Exe_file)
|
||||||
|
|
||||||
$(Exe_file) : $(My_Libs)
|
$(Exe_file) : $(My_Libs)
|
||||||
$(Linker) -o cmm.kex --stack 0x100000 $(Path_Libs) $(Add_Libs) $(My_Libs) $(Link_Libs)
|
# ld -o cmm.exe $(Path_Libs) $(Add_Libs) $(My_Libs) $(Link_Libs)
|
||||||
objcopy cmm.kex -O binary
|
$(Compiler) -m32 -o $(Exe_file) $(My_Libs)
|
||||||
kpack cmm.kex
|
# ld -o cmm.exe -Bdynamic d:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/crtend.o d:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/../../../crt2.o d:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/crtbegin.o -Ld:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2 -Ld:/TEMP/Dev-Cpp/bin/../lib/gcc -Ld:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/../../.. -Ld:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/../../.. main.o toka.o tokb.o tokc.o toke.o tokr.o errors.o debug.o outobj.o outpe.o disasm.o switch.o outle.o pointer.o new_type.o class.o res.o optreg.o libobj.o port.o -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32 -lmoldname -lmingwex -lmsvcrt -lgcc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm *.o
|
rm *.o
|
||||||
@ -108,4 +110,3 @@ port.o: port.cpp
|
|||||||
|
|
||||||
.asm.o:
|
.asm.o:
|
||||||
fasm $<
|
fasm $<
|
||||||
|
|
||||||
|
111
programs/develop/cmm/MakefileKolibriOS
Normal file
111
programs/develop/cmm/MakefileKolibriOS
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
Compiler = kos32-gcc
|
||||||
|
Linker = kos32-ld
|
||||||
|
|
||||||
|
SDK_DIR:= $(abspath ../../../contrib/sdk)
|
||||||
|
|
||||||
|
Includes = -Id:\TEMP\mprog\kos\includes -I$(SDK_DIR)/sources/newlib/libc/include
|
||||||
|
|
||||||
|
Compatib_Posix = -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp
|
||||||
|
|
||||||
|
Compiler_Options = -c -fno-exceptions -D_KOS_ -U_Win32 -U_WIN32 -U__MINGW32__ \
|
||||||
|
-mno-ms-bitfields -Wno-write-strings $(Includes) $(Compatib_Posix)
|
||||||
|
|
||||||
|
Exe_file = cmm.kex
|
||||||
|
|
||||||
|
|
||||||
|
Path_Libs = -Ld:/TEMP/Dev-Cpp/lib/kos -L $(SDK_DIR)/lib
|
||||||
|
#-Ld:/TEMP/Dev-Cpp/lib/gcc/mingw32/3.4.2 -Ld:/TEMP/Dev-Cpp/lib/gcc -Ld:/TEMP/Dev-Cpp/lib -Ld:/TEMP/Dev-Cpp/lib
|
||||||
|
|
||||||
|
Add_Libs =
|
||||||
|
|
||||||
|
#Link_Libs = -lc -lgcc
|
||||||
|
Link_Libs = -static -S -nostdlib -T $(SDK_DIR)/lib/app-dynamic.lds \
|
||||||
|
--image-base 0 -lgcc -ldll -lc.dll
|
||||||
|
|
||||||
|
My_Libs = main.o port.o toka.o tokb.o tokc.o toke.o tokr.o errors.o debug.o outobj.o outpe.o disasm.o switch.o outle.o pointer.o new_type.o class.o res.o optreg.o libobj.o
|
||||||
|
|
||||||
|
####################
|
||||||
|
## Makefile rules ##
|
||||||
|
####################
|
||||||
|
|
||||||
|
all : $(Exe_file)
|
||||||
|
|
||||||
|
$(Exe_file) : $(My_Libs)
|
||||||
|
$(Linker) -o cmm.kex --stack 0x100000 $(Path_Libs) $(Add_Libs) $(My_Libs) $(Link_Libs)
|
||||||
|
objcopy cmm.kex -O binary
|
||||||
|
kpack cmm.kex
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm *.o
|
||||||
|
|
||||||
|
|
||||||
|
# next are the exceptions that don't have to be compiled with the /zu option
|
||||||
|
# since they will never be called from a interrupt. hey.. I _tried_ to find
|
||||||
|
# a clean solution..
|
||||||
|
|
||||||
|
main.o : main.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
toka.o : toka.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
tokb.o : tokb.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
tokc.o : tokc.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
toke.o : toke.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
tokr.o : tokr.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
errors.o :errors.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
debug.o : debug.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
outobj.o : outobj.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
outpe.o : outpe.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
disasm.o : disasm.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
switch.o : switch.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
outle.o : outle.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
pointer.o : pointer.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
new_type.o : new_type.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
class.o : class.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
res.o : res.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
optreg.o : optreg.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
libobj.o : libobj.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
port.o: port.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
.cpp.o:
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
.asm.o:
|
||||||
|
fasm $<
|
||||||
|
|
110
programs/develop/cmm/MakefileUnixWin
Normal file
110
programs/develop/cmm/MakefileUnixWin
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
Compiler = gcc
|
||||||
|
|
||||||
|
Compiler_Options = -c -m32 -fno-exceptions -D_UNIX_
|
||||||
|
#Compiler_Options = -c -fno-exceptions -O2 -D_WIN32_
|
||||||
|
|
||||||
|
#-D: _WIN32_ or _UNIX_
|
||||||
|
#-D: for _WIN32_ add -D__CONSOLE__
|
||||||
|
|
||||||
|
Exe_file = cmm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Path_Libs = -Ld:/TEMP/Dev-Cpp/lib/gcc/mingw32/3.4.2 -Ld:/TEMP/Dev-Cpp/lib/gcc -Ld:/TEMP/Dev-Cpp/lib -Ld:/TEMP/Dev-Cpp/lib
|
||||||
|
|
||||||
|
Add_Libs = d:/TEMP/Dev-Cpp/lib/gcc/mingw32/3.4.2/crtbegin.o d:/TEMP/Dev-Cpp/lib/crt2.o d:/TEMP/Dev-Cpp/lib/gcc/mingw32/3.4.2/crtend.o
|
||||||
|
|
||||||
|
Link_Libs = -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32
|
||||||
|
|
||||||
|
My_Libs = main.o toka.o tokb.o tokc.o toke.o tokr.o errors.o debug.o outobj.o outpe.o disasm.o switch.o outle.o pointer.o new_type.o class.o res.o optreg.o libobj.o port.o
|
||||||
|
|
||||||
|
|
||||||
|
#Link_Libs = -lmingw32 -lgcc -lmoldname -lmingwex -lmingw32 -lmoldname -lmingwex -lmsvcrt -lgcc -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32
|
||||||
|
|
||||||
|
####################
|
||||||
|
## Makefile rules ##
|
||||||
|
####################
|
||||||
|
|
||||||
|
all : $(Exe_file)
|
||||||
|
|
||||||
|
$(Exe_file) : $(My_Libs)
|
||||||
|
# ld -o cmm.exe $(Path_Libs) $(Add_Libs) $(My_Libs) $(Link_Libs)
|
||||||
|
$(Compiler) -m32 -o $(Exe_file) $(My_Libs)
|
||||||
|
# ld -o cmm.exe -Bdynamic d:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/crtend.o d:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/../../../crt2.o d:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/crtbegin.o -Ld:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2 -Ld:/TEMP/Dev-Cpp/bin/../lib/gcc -Ld:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/../../.. -Ld:/TEMP/Dev-Cpp/bin/../lib/gcc/mingw32/3.4.2/../../.. main.o toka.o tokb.o tokc.o toke.o tokr.o errors.o debug.o outobj.o outpe.o disasm.o switch.o outle.o pointer.o new_type.o class.o res.o optreg.o libobj.o port.o -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32 -lmoldname -lmingwex -lmsvcrt -lgcc
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm *.o
|
||||||
|
|
||||||
|
|
||||||
|
# next are the exceptions that don't have to be compiled with the /zu option
|
||||||
|
# since they will never be called from a interrupt. hey.. I _tried_ to find
|
||||||
|
# a clean solution..
|
||||||
|
|
||||||
|
main.o : main.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
toka.o : toka.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
tokb.o : tokb.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
tokc.o : tokc.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
toke.o : toke.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
tokr.o : tokr.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
errors.o :errors.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
debug.o : debug.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
outobj.o : outobj.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
outpe.o : outpe.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
disasm.o : disasm.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
switch.o : switch.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
outle.o : outle.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
pointer.o : pointer.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
new_type.o : new_type.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
class.o : class.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
res.o : res.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
optreg.o : optreg.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
libobj.o : libobj.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
port.o: port.cpp
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
.cpp.o:
|
||||||
|
$(Compiler) $(Compiler_Options) $<
|
||||||
|
|
||||||
|
.asm.o:
|
||||||
|
fasm $<
|
File diff suppressed because one or more lines are too long
@ -1,94 +1 @@
|
|||||||
/* 吲栽 <20>帖 嶂平丞兒恥<E58592> 能恐<E883BD>洵悟 'FASTLIST.EXE' */
|
/* 吲栽 <20>帖 嶂平丞兒恥<E58592> 能恐<E883BD>洵悟 'FASTLIST.EXE' */
unsigned short ofsdir[27]={
0x0000,0x000F, //D a
0xFFFF,0x0045, //b c
0x0072,0x0090, //d e
0x00A5,0xFFFF, //f g
0xFFFF,0x00C0, //h i
0x010A,0xFFFF, //j k
0xFFFF,0x0118, //l m
0xFFFF,0xFFFF, //n o
0x0132,0xFFFF, //p q
0x015F,0x0184, //r s
0xFFFF,0x01F6, //t u
0xFFFF,0x0263, //v w
0xFFFF,0xFFFF, //x y
0xFFFF}; //z
unsigned char dirlist[]={
0x19,0x00,0x4F,0x53,0x72,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0, // DOSrequired
0xFF,0xFF, // end char 'D'
0x14,0x00,0x6C,0x69,0x67,0x6E,0, // align
0x32,0x00,0x6C,0x69,0x67,0x6E,0x63,0x6F,0x64,0x65,0, // aligncode
0x15,0x00,0x6C,0x69,0x67,0x6E,0x65,0x72,0, // aligner
0x16,0x00,0x6C,0x69,0x67,0x6E,0x77,0x6F,0x72,0x64,0, // alignword
0x03,0x00,0x72,0x67,0x63,0, // argc
0x0B,0x00,0x74,0x65,0x78,0x69,0x74,0, // atexit
0xFF,0xFF, // end char 'a'
0x30,0x00,0x6F,0x64,0x65,0x33,0x32,0, // code32
0x17,0x00,0x6F,0x64,0x65,0x73,0x69,0x7A,0x65,0, // codesize
0x35,0x00,0x6F,0x6D,0x70,0x69,0x6C,0x65,0x72,0x76,0x65,0x72,0x73,0x69,0x6F,0x6E,0, // compilerversion
0x00,0x00,0x74,0x72,0x6C,0x5F,0x63,0, // ctrl_c
0xFF,0xFF, // end char 'c'
0x0C,0x00,0x61,0x74,0x61,0x73,0x65,0x67,0, // dataseg
0x18,0x00,0x65,0x66,0x69,0x6E,0x65,0, // define
0x34,0x00,0x6F,0x73,0x73,0x74,0x72,0x69,0x6E,0x67,0, // dosstring
0xFF,0xFF, // end char 'd'
0x3B,0x00,0x6C,0x69,0x66,0, // elif
0x36,0x00,0x6C,0x73,0x65,0, // else
0x1A,0x00,0x6E,0x64,0x69,0x66,0, // endif
0xFF,0xFF, // end char 'e'
0x10,0x00,0x61,0x73,0x74,0x63,0x61,0x6C,0x6C,0x61,0x70,0x69,0, // fastcallapi
0x33,0x00,0x69,0x78,0x75,0x70,0x74,0x61,0x62,0x6C,0x65,0, // fixuptable
0xFF,0xFF, // end char 'f'
0x3A,0x00,0x66,0, // if
0x1B,0x00,0x66,0x64,0x65,0x66,0, // ifdef
0x1C,0x00,0x66,0x6E,0x64,0x65,0x66,0, // ifndef
0x13,0x00,0x6D,0x61,0x67,0x65,0x62,0x61,0x73,0x65,0, // imagebase
0x1D,0x00,0x6E,0x63,0x6C,0x75,0x64,0x65,0, // include
0x2E,0x00,0x6E,0x63,0x6C,0x75,0x64,0x65,0x70,0x61,0x74,0x68,0, // includepath
0x2F,0x00,0x6E,0x69,0x74,0x61,0x6C,0x6C,0x76,0x61,0x72,0, // initallvar
0x39,0x00,0x6E,0x6C,0x69,0x6E,0x65,0, // inline
0xFF,0xFF, // end char 'i'
0x01,0x00,0x75,0x6D,0x70,0x74,0x6F,0x6D,0x61,0x69,0x6E,0, // jumptomain
0xFF,0xFF, // end char 'j'
0x1E,0x00,0x61,0x78,0x65,0x72,0x72,0x6F,0x72,0x73,0, // maxerrors
0x0E,0x00,0x6F,0x76,0x65,0x64,0x61,0x74,0x61,0x72,0x6F,0x6D,0, // movedatarom
0xFF,0xFF, // end char 'm'
0x02,0x00,0x61,0x72,0x73,0x65,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x6C,0x69,0x6E,0x65,0, // parsecommandline
0x38,0x00,0x72,0x61,0x67,0x6D,0x61,0, // pragma
0x1F,0x00,0x72,0x69,0x6E,0x74,0, // print
0x20,0x00,0x72,0x69,0x6E,0x74,0x68,0x65,0x78,0, // printhex
0xFF,0xFF, // end char 'p'
0x21,0x00,0x61,0x6E,0x64,0x6F,0x6D,0x62,0x79,0x74,0x65,0, // randombyte
0x04,0x00,0x65,0x73,0x69,0x7A,0x65,0, // resize
0x05,0x00,0x65,0x73,0x69,0x7A,0x65,0x6D,0x65,0x73,0x73,0x61,0x67,0x65,0, // resizemessage
0xFF,0xFF, // end char 'r'
0x2C,0x00,0x65,0x74,0x64,0x69,0x6E,0x70,0x72,0x6F,0x63,0, // setdinproc
0x0D,0x00,0x69,0x7A,0x65,0x72,0x6F,0x6D,0, // sizerom
0x22,0x00,0x70,0x65,0x65,0x64,0, // speed
0x06,0x00,0x74,0x61,0x63,0x6B,0, // stack
0x07,0x00,0x74,0x61,0x72,0x74,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0, // startaddress
0x0F,0x00,0x74,0x61,0x72,0x74,0x75,0x70,0x74,0x6F,0x6D,0x61,0x69,0x6E,0, // startuptomain
0x11,0x00,0x74,0x61,0x72,0x74,0x75,0x73,0x65,0x76,0x61,0x72,0, // startusevar
0x08,0x00,0x79,0x73,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0, // sysattribute
0x0A,0x00,0x79,0x73,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0, // syscommand
0x09,0x00,0x79,0x73,0x6E,0x61,0x6D,0x65,0, // sysname
0xFF,0xFF, // end char 's'
0x31,0x00,0x6E,0x64,0x65,0x66,0, // undef
0x25,0x00,0x73,0x65,0x38,0x30,0x31,0x38,0x36,0, // use80186
0x26,0x00,0x73,0x65,0x38,0x30,0x32,0x38,0x36,0, // use80286
0x27,0x00,0x73,0x65,0x38,0x30,0x33,0x38,0x36,0, // use80386
0x28,0x00,0x73,0x65,0x38,0x30,0x34,0x38,0x36,0, // use80486
0x2B,0x00,0x73,0x65,0x38,0x30,0x37,0x38,0x36,0, // use80786
0x23,0x00,0x73,0x65,0x38,0x30,0x38,0x36,0, // use8086
0x24,0x00,0x73,0x65,0x38,0x30,0x38,0x38,0, // use8088
0x2A,0x00,0x73,0x65,0x4D,0x4D,0x58,0, // useMMX
0x29,0x00,0x73,0x65,0x50,0x65,0x6E,0x74,0x69,0x75,0x6D,0, // usePentium
0x12,0x00,0x73,0x65,0x73,0x74,0x61,0x72,0x74,0x75,0x70,0, // usestartup
0xFF,0xFF, // end char 'u'
0x2D,0x00,0x61,0x72,0x6E,0x69,0x6E,0x67,0, // warning
0x37,0x00,0x69,0x6E,0x6D,0x6F,0x6E,0x6F,0x62,0x6C,0x6F,0x63,0x6B,0, // winmonoblock
0xFF,0xFF // end char 'w'
};
|
||||||
|
|
||||||
short ofsdir[27]={
|
|
||||||
0x0000,0x000F, //D a
|
|
||||||
0xFFFF,0x0045, //b c
|
|
||||||
0x0072,0x0090, //d e
|
|
||||||
0x00A5,0xFFFF, //f g
|
|
||||||
0xFFFF,0x00C0, //h i
|
|
||||||
0x010A,0xFFFF, //j k
|
|
||||||
0xFFFF,0x0118, //l m
|
|
||||||
0xFFFF,0xFFFF, //n o
|
|
||||||
0x0132,0xFFFF, //p q
|
|
||||||
0x015F,0x0184, //r s
|
|
||||||
0xFFFF,0x01F6, //t u
|
|
||||||
0xFFFF,0x0263, //v w
|
|
||||||
0xFFFF,0xFFFF, //x y
|
|
||||||
0xFFFF}; //z
|
|
||||||
|
|
||||||
unsigned char dirlist[]={
|
|
||||||
0x19,0x00,0x4F,0x53,0x72,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0, // DOSrequired
|
|
||||||
0xFF,0xFF, // end char 'D'
|
|
||||||
0x14,0x00,0x6C,0x69,0x67,0x6E,0, // align
|
|
||||||
0x32,0x00,0x6C,0x69,0x67,0x6E,0x63,0x6F,0x64,0x65,0, // aligncode
|
|
||||||
0x15,0x00,0x6C,0x69,0x67,0x6E,0x65,0x72,0, // aligner
|
|
||||||
0x16,0x00,0x6C,0x69,0x67,0x6E,0x77,0x6F,0x72,0x64,0, // alignword
|
|
||||||
0x03,0x00,0x72,0x67,0x63,0, // argc
|
|
||||||
0x0B,0x00,0x74,0x65,0x78,0x69,0x74,0, // atexit
|
|
||||||
0xFF,0xFF, // end char 'a'
|
|
||||||
0x30,0x00,0x6F,0x64,0x65,0x33,0x32,0, // code32
|
|
||||||
0x17,0x00,0x6F,0x64,0x65,0x73,0x69,0x7A,0x65,0, // codesize
|
|
||||||
0x35,0x00,0x6F,0x6D,0x70,0x69,0x6C,0x65,0x72,0x76,0x65,0x72,0x73,0x69,0x6F,0x6E,0, // compilerversion
|
|
||||||
0x00,0x00,0x74,0x72,0x6C,0x5F,0x63,0, // ctrl_c
|
|
||||||
0xFF,0xFF, // end char 'c'
|
|
||||||
0x0C,0x00,0x61,0x74,0x61,0x73,0x65,0x67,0, // dataseg
|
|
||||||
0x18,0x00,0x65,0x66,0x69,0x6E,0x65,0, // define
|
|
||||||
0x34,0x00,0x6F,0x73,0x73,0x74,0x72,0x69,0x6E,0x67,0, // dosstring
|
|
||||||
0xFF,0xFF, // end char 'd'
|
|
||||||
0x3B,0x00,0x6C,0x69,0x66,0, // elif
|
|
||||||
0x36,0x00,0x6C,0x73,0x65,0, // else
|
|
||||||
0x1A,0x00,0x6E,0x64,0x69,0x66,0, // endif
|
|
||||||
0xFF,0xFF, // end char 'e'
|
|
||||||
0x10,0x00,0x61,0x73,0x74,0x63,0x61,0x6C,0x6C,0x61,0x70,0x69,0, // fastcallapi
|
|
||||||
0x33,0x00,0x69,0x78,0x75,0x70,0x74,0x61,0x62,0x6C,0x65,0, // fixuptable
|
|
||||||
0xFF,0xFF, // end char 'f'
|
|
||||||
0x3A,0x00,0x66,0, // if
|
|
||||||
0x1B,0x00,0x66,0x64,0x65,0x66,0, // ifdef
|
|
||||||
0x1C,0x00,0x66,0x6E,0x64,0x65,0x66,0, // ifndef
|
|
||||||
0x13,0x00,0x6D,0x61,0x67,0x65,0x62,0x61,0x73,0x65,0, // imagebase
|
|
||||||
0x1D,0x00,0x6E,0x63,0x6C,0x75,0x64,0x65,0, // include
|
|
||||||
0x2E,0x00,0x6E,0x63,0x6C,0x75,0x64,0x65,0x70,0x61,0x74,0x68,0, // includepath
|
|
||||||
0x2F,0x00,0x6E,0x69,0x74,0x61,0x6C,0x6C,0x76,0x61,0x72,0, // initallvar
|
|
||||||
0x39,0x00,0x6E,0x6C,0x69,0x6E,0x65,0, // inline
|
|
||||||
0xFF,0xFF, // end char 'i'
|
|
||||||
0x01,0x00,0x75,0x6D,0x70,0x74,0x6F,0x6D,0x61,0x69,0x6E,0, // jumptomain
|
|
||||||
0xFF,0xFF, // end char 'j'
|
|
||||||
0x1E,0x00,0x61,0x78,0x65,0x72,0x72,0x6F,0x72,0x73,0, // maxerrors
|
|
||||||
0x0E,0x00,0x6F,0x76,0x65,0x64,0x61,0x74,0x61,0x72,0x6F,0x6D,0, // movedatarom
|
|
||||||
0xFF,0xFF, // end char 'm'
|
|
||||||
0x02,0x00,0x61,0x72,0x73,0x65,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0x6C,0x69,0x6E,0x65,0, // parsecommandline
|
|
||||||
0x38,0x00,0x72,0x61,0x67,0x6D,0x61,0, // pragma
|
|
||||||
0x1F,0x00,0x72,0x69,0x6E,0x74,0, // print
|
|
||||||
0x20,0x00,0x72,0x69,0x6E,0x74,0x68,0x65,0x78,0, // printhex
|
|
||||||
0xFF,0xFF, // end char 'p'
|
|
||||||
0x21,0x00,0x61,0x6E,0x64,0x6F,0x6D,0x62,0x79,0x74,0x65,0, // randombyte
|
|
||||||
0x04,0x00,0x65,0x73,0x69,0x7A,0x65,0, // resize
|
|
||||||
0x05,0x00,0x65,0x73,0x69,0x7A,0x65,0x6D,0x65,0x73,0x73,0x61,0x67,0x65,0, // resizemessage
|
|
||||||
0xFF,0xFF, // end char 'r'
|
|
||||||
0x2C,0x00,0x65,0x74,0x64,0x69,0x6E,0x70,0x72,0x6F,0x63,0, // setdinproc
|
|
||||||
0x0D,0x00,0x69,0x7A,0x65,0x72,0x6F,0x6D,0, // sizerom
|
|
||||||
0x22,0x00,0x70,0x65,0x65,0x64,0, // speed
|
|
||||||
0x06,0x00,0x74,0x61,0x63,0x6B,0, // stack
|
|
||||||
0x07,0x00,0x74,0x61,0x72,0x74,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0, // startaddress
|
|
||||||
0x0F,0x00,0x74,0x61,0x72,0x74,0x75,0x70,0x74,0x6F,0x6D,0x61,0x69,0x6E,0, // startuptomain
|
|
||||||
0x11,0x00,0x74,0x61,0x72,0x74,0x75,0x73,0x65,0x76,0x61,0x72,0, // startusevar
|
|
||||||
0x08,0x00,0x79,0x73,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0, // sysattribute
|
|
||||||
0x0A,0x00,0x79,0x73,0x63,0x6F,0x6D,0x6D,0x61,0x6E,0x64,0, // syscommand
|
|
||||||
0x09,0x00,0x79,0x73,0x6E,0x61,0x6D,0x65,0, // sysname
|
|
||||||
0xFF,0xFF, // end char 's'
|
|
||||||
0x31,0x00,0x6E,0x64,0x65,0x66,0, // undef
|
|
||||||
0x25,0x00,0x73,0x65,0x38,0x30,0x31,0x38,0x36,0, // use80186
|
|
||||||
0x26,0x00,0x73,0x65,0x38,0x30,0x32,0x38,0x36,0, // use80286
|
|
||||||
0x27,0x00,0x73,0x65,0x38,0x30,0x33,0x38,0x36,0, // use80386
|
|
||||||
0x28,0x00,0x73,0x65,0x38,0x30,0x34,0x38,0x36,0, // use80486
|
|
||||||
0x2B,0x00,0x73,0x65,0x38,0x30,0x37,0x38,0x36,0, // use80786
|
|
||||||
0x23,0x00,0x73,0x65,0x38,0x30,0x38,0x36,0, // use8086
|
|
||||||
0x24,0x00,0x73,0x65,0x38,0x30,0x38,0x38,0, // use8088
|
|
||||||
0x2A,0x00,0x73,0x65,0x4D,0x4D,0x58,0, // useMMX
|
|
||||||
0x29,0x00,0x73,0x65,0x50,0x65,0x6E,0x74,0x69,0x75,0x6D,0, // usePentium
|
|
||||||
0x12,0x00,0x73,0x65,0x73,0x74,0x61,0x72,0x74,0x75,0x70,0, // usestartup
|
|
||||||
0xFF,0xFF, // end char 'u'
|
|
||||||
0x2D,0x00,0x61,0x72,0x6E,0x69,0x6E,0x67,0, // warning
|
|
||||||
0x37,0x00,0x69,0x6E,0x6D,0x6F,0x6E,0x6F,0x62,0x6C,0x6F,0x63,0x6B,0, // winmonoblock
|
|
||||||
0xFF,0xFF // end char 'w'
|
|
||||||
};
|
|
@ -706,7 +706,7 @@ char *second_f20f[]={
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
char *second_660f[]={
|
const char *second_660f[]={
|
||||||
|
|
||||||
// 0
|
// 0
|
||||||
|
|
||||||
@ -1152,7 +1152,7 @@ void addr_to_hex(long addr, unsigned char splitup)
|
|||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
static char buffer[12]; // fix by cppcheck
|
static char buffer[25];
|
||||||
|
|
||||||
WORD32 adr;
|
WORD32 adr;
|
||||||
|
|
||||||
@ -1848,7 +1848,7 @@ void floating_point(int e1)
|
|||||||
|
|
||||||
int esc = e1*8 + REG(modrm());
|
int esc = e1*8 + REG(modrm());
|
||||||
|
|
||||||
if(MOD(modrm())==3){ //2-‰ <20>€‰’>C0
|
if(MOD(modrm())==3){ //2-\89 \81\80\89\92>C0
|
||||||
|
|
||||||
if (fspecial[esc]) {
|
if (fspecial[esc]) {
|
||||||
|
|
||||||
@ -2572,7 +2572,7 @@ int c;
|
|||||||
|
|
||||||
getbyte();
|
getbyte();
|
||||||
|
|
||||||
ua_str(second_660f[getbyte()]);
|
ua_str((char *)second_660f[getbyte()]);
|
||||||
|
|
||||||
goto endp;
|
goto endp;
|
||||||
|
|
||||||
|
File diff suppressed because one or more lines are too long
@ -34,9 +34,9 @@ char modelmem=TINY;
|
|||||||
char *stubfile=NULL;
|
char *stubfile=NULL;
|
||||||
char *winstub=NULL;
|
char *winstub=NULL;
|
||||||
FILE *hout=NULL;
|
FILE *hout=NULL;
|
||||||
char *namestartupfile="startup.h--";
|
const char *namestartupfile="startup.h--";
|
||||||
|
|
||||||
char outext[4]="com";
|
char outext[4]="kex";
|
||||||
short extflag=TRUE;//ðàñøèðåíèå ìîæíî ïðèñâîèòü
|
short extflag=TRUE;//ðàñøèðåíèå ìîæíî ïðèñâîèòü
|
||||||
//int scrsize;
|
//int scrsize;
|
||||||
unsigned char gwarning=FALSE;
|
unsigned char gwarning=FALSE;
|
||||||
@ -78,73 +78,73 @@ unsigned char ESPloc=FALSE;
|
|||||||
int startupfile=-1;
|
int startupfile=-1;
|
||||||
int alignproc=8,aligncycle=8;
|
int alignproc=8,aligncycle=8;
|
||||||
|
|
||||||
char *usage[]={
|
const char *usage[]={
|
||||||
"USAGE: C-- [options] [FILE_NAME.INI] [SOURCE_FILE_NAME]",
|
"USAGE: C-- [options] [FILE_NAME.INI] [SOURCE_FILE_NAME]",
|
||||||
"",
|
"",
|
||||||
" C-- COMPILER OPTIONS",
|
" C-- COMPILER OPTIONS",
|
||||||
"",
|
"",
|
||||||
" OPTIMIZATION",
|
" OPTIMIZATION",
|
||||||
"/OC optimize for code size /DE enable temporary expansion variable",
|
"-OC optimize for code size -DE enable temporary expansion variable",
|
||||||
"/OS optimize for speed /OST enable optimization string",
|
"-OS optimize for speed -OST enable optimization string",
|
||||||
"/ON enable optimization number /AP[=n] align start function",
|
"-ON enable optimization number -AP[=n] align start function",
|
||||||
"/UST use startup code for variables /AC[=n] align start cycles",
|
"-UST use startup code for variables -AC[=n] align start cycles",
|
||||||
#ifdef OPTVARCONST
|
#ifdef OPTVARCONST
|
||||||
"/ORV replace variable on constant /OIR skip repeated initializing register",
|
"-ORV replace variable on constant -OIR skip repeated initializing register",
|
||||||
#else
|
#else
|
||||||
" /OIR skip repeated initializing register",
|
" -OIR skip repeated initializing register",
|
||||||
#endif
|
#endif
|
||||||
"",
|
"",
|
||||||
" CODE GENERATION",
|
" CODE GENERATION",
|
||||||
"/2 80286 code optimizations /SA=#### start code address",
|
"-2 80286 code optimizations -SA=#### start code address",
|
||||||
"/3 80386 code optimizations /AL=## set value insert byte",
|
"-3 80386 code optimizations -AL=## set value insert byte",
|
||||||
"/4 80486 code optimizations /WFA fast call API functions",
|
"-4 80486 code optimizations -WFA fast call API functions",
|
||||||
"/5 pentium code optimizations /IV initial all variables",
|
"-5 pentium code optimizations -IV initial all variables",
|
||||||
"/A enable address alignment /SUV=#### start address variables",
|
"-A enable address alignment -SUV=#### start address variables",
|
||||||
"/AS[=n] def. alignment in structures /LRS load in registers over stack",
|
"-AS[=n] def. alignment in structures -LRS load in registers over stack",
|
||||||
"/UL use 'lea' for adding registers /JS join stack calling functions",
|
"-UL use 'lea' for adding registers -JS join stack calling functions",
|
||||||
"/BA byte access to array",// /ASP addressing local variable via ESP",
|
"-BA byte access to array",// -ASP addressing local variable via ESP",
|
||||||
"",
|
"",
|
||||||
" PREPROCESSOR",
|
" PREPROCESSOR",
|
||||||
"/IP=<path> include file path /IA assembly instructions as identifier",
|
"-IP=<path> include file path -IA assembly instructions as identifier",
|
||||||
"/D=<idname> defined identifier /CRI- not check include file on repeated",
|
"-D=<idname> defined identifier -CRI- not check include file on repeated",
|
||||||
"/MIF=<file> main input file /IND=<name> import name from dll",
|
"-MIF=<file> main input file -IND=<name> import name from dll",
|
||||||
"/SF=<file> other startup file",
|
"-SF=<file> other startup file",
|
||||||
"",
|
"",
|
||||||
" LINKING",
|
" LINKING",
|
||||||
"/AT insert ATEXIT support block /NS disable stub",
|
"-AT insert ATEXIT support block -NS disable stub",
|
||||||
"/ARGC insert parse command line /S=##### set stack size",
|
"-ARGC insert parse command line -S=##### set stack size",
|
||||||
"/P insert parse command line /WIB=##### set image base address",
|
"-P insert parse command line -WIB=##### set image base address",
|
||||||
"/C insert CTRL<C> ignoring code /WFU add Fix Up table, for Windows",
|
"-C insert CTRL<C> ignoring code -WFU add Fix Up table, for Windows",
|
||||||
"/R insert resize memory block /WMB create Windows mono block",
|
"-R insert resize memory block -WMB create Windows mono block",
|
||||||
"/ENV insert variable with environ /WS=<name> set name stub file for win32",
|
"-ENV insert variable with environ -WS=<name> set name stub file for win32",
|
||||||
"/J0 disable initial jump to main() /WBSS set post data in bss section",
|
"-J0 disable initial jump to main() -WBSS set post data in bss section",
|
||||||
"/J1 initial jump to main() short /WO call API functions on ordinals",
|
"-J1 initial jump to main() short -WO call API functions on ordinals",
|
||||||
"/J2 initial jump to main() near /CPA clear post area",
|
"-J2 initial jump to main() near -CPA clear post area",
|
||||||
"/STUB= <name> set name stub file /WSI short import table, for Windows",
|
"-STUB= <name> set name stub file -WSI short import table, for Windows",
|
||||||
"/DOS4GW file running with DOS4GW /WAF=#### align Windows file (def 512)",
|
"-DOS4GW file running with DOS4GW -WAF=#### align Windows file (def 512)",
|
||||||
"/STM startup code in main function",
|
"-STM startup code in main function",
|
||||||
"",
|
"",
|
||||||
" OUTPUT FILES",
|
" OUTPUT FILES",
|
||||||
"/TEXE DOS EXE file (model TINY) /D32 EXE file (32bit code for DOS)",
|
"-TEXE DOS EXE file (model TINY) -D32 EXE file (32bit code for DOS)",
|
||||||
"/EXE DOS EXE file (model SMALL) /W32 EXE for Windows32 GUI",
|
"-EXE DOS EXE file (model SMALL) -W32 EXE for Windows32 GUI",
|
||||||
"/OBJ OBJ output file /W32C EXE for Windows32 console",
|
"-OBJ OBJ output file -W32C EXE for Windows32 console",
|
||||||
"/SOBJ slave OBJ output file /DLL DLL for Windows32",
|
"-SOBJ slave OBJ output file -DLL DLL for Windows32",
|
||||||
"/COFF OBJ COFF output file /DBG create debug information",
|
"-COFF OBJ COFF output file -DBG create debug information",
|
||||||
"/SYM COM file symbiosis /LST create assembly listing",
|
"-SYM COM file symbiosis -LST create assembly listing",
|
||||||
"/SYS device (SYS) file /B32 32bit binary files",
|
"-SYS device (SYS) file -B32 32bit binary files",
|
||||||
"/MEOS executable file for MeOS /MAP create function map file",
|
"-MEOS executable file for MeOS -MAP create function map file",
|
||||||
"/EXT= <ext> set file extension",
|
"-EXT= <ext> set file extension",
|
||||||
"",
|
"",
|
||||||
" MISCELLANEOUS",
|
" MISCELLANEOUS",
|
||||||
"/HELP /H /? help, this info /WORDS list of C-- reserved words",
|
"-HELP -H -? help, this info -WORDS list of C-- reserved words",
|
||||||
"/W enable warning /LAI list of assembler instructions",
|
"-W enable warning -LAI list of assembler instructions",
|
||||||
"/WF=<file> direct warnings to a file /ME display my name and my address",
|
"-WF=<file> direct warnings to a file -ME display my name and my address",
|
||||||
"/MER=## set maximum number errors /X disable SPHINX C-- header in output",
|
"-MER=## set maximum number errors -X disable SPHINX C-- header in output",
|
||||||
"/NW=## disable selected warnings /WE=## selected warning will be error",
|
"-NW=## disable selected warnings -WE=## selected warning will be error",
|
||||||
//" /SCD split code and date",
|
//" -SCD split code and date",
|
||||||
NULL};
|
NULL};
|
||||||
|
|
||||||
char *dir[]={
|
const char *dir[]={
|
||||||
"ME", "WORDS", "SYM", "LAI",
|
"ME", "WORDS", "SYM", "LAI",
|
||||||
|
|
||||||
"OBJ", "SOBJ", "J0", "J1", "J2", "C", "R",
|
"OBJ", "SOBJ", "J0", "J1", "J2", "C", "R",
|
||||||
@ -204,7 +204,7 @@ void compile();
|
|||||||
void PrintInfo(char **str);
|
void PrintInfo(char **str);
|
||||||
void LoadIni(char *name);
|
void LoadIni(char *name);
|
||||||
//void CheckNumStr();
|
//void CheckNumStr();
|
||||||
void ListId(int num,unsigned char *list,short *ofs);
|
void ListId(int num,unsigned char *list,unsigned short *ofs);
|
||||||
void printmemsizes();
|
void printmemsizes();
|
||||||
void print8item(char *str);
|
void print8item(char *str);
|
||||||
void doposts(void);
|
void doposts(void);
|
||||||
@ -222,6 +222,27 @@ int MakePE();
|
|||||||
int MakeObj();
|
int MakeObj();
|
||||||
void CheckUndefClassProc();
|
void CheckUndefClassProc();
|
||||||
|
|
||||||
|
|
||||||
|
void ListId(int numfirstchar,unsigned char *list,unsigned short *ofs)
|
||||||
|
{
|
||||||
|
char buf[40];
|
||||||
|
for(int i=0;i<numfirstchar;i++){
|
||||||
|
if((short)ofs[i]!=-1){
|
||||||
|
if(i<26)buf[0]=(char)('A'+i);
|
||||||
|
else if(i==26)buf[0]='_';
|
||||||
|
else buf[0]=(char)(i-27+'a');
|
||||||
|
unsigned char *ii=(unsigned char *)(list+ofs[i]);
|
||||||
|
while(*(short *)&*ii!=-1){
|
||||||
|
ii+=2;
|
||||||
|
strcpy(buf+1,(char *)ii);
|
||||||
|
ii+=strlen((char *)ii)+1;
|
||||||
|
puts(buf);
|
||||||
|
// CheckNumStr();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
void PrintTegList(structteg *tteg)
|
void PrintTegList(structteg *tteg)
|
||||||
{
|
{
|
||||||
@ -265,7 +286,7 @@ unsigned char pari=FALSE;
|
|||||||
if(rawfilename!=NULL)IncludePath(rawfilename);
|
if(rawfilename!=NULL)IncludePath(rawfilename);
|
||||||
|
|
||||||
rawfilename=rawext=NULL;
|
rawfilename=rawext=NULL;
|
||||||
LoadIni("c--.ini");
|
LoadIni((char *)"c--.ini");
|
||||||
|
|
||||||
for(count=1;count<argc;count++){ //îáðàáîòêà êîìàíäíîé ñòðîêè
|
for(count=1;count<argc;count++){ //îáðàáîòêà êîìàíäíîé ñòðîêè
|
||||||
//if(argv[count][0]=='/'||argv[count][0]=='-'){
|
//if(argv[count][0]=='/'||argv[count][0]=='-'){
|
||||||
@ -293,7 +314,7 @@ unsigned char pari=FALSE;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(rawfilename==NULL){
|
if(rawfilename==NULL){
|
||||||
PrintInfo(usage);
|
PrintInfo((char **)usage);
|
||||||
exit( e_noinputspecified );
|
exit( e_noinputspecified );
|
||||||
}
|
}
|
||||||
time(&systime); //òåêóùåå âðåìÿ
|
time(&systime); //òåêóùåå âðåìÿ
|
||||||
@ -315,13 +336,6 @@ int i;
|
|||||||
printf("Bad input file extension '%s'.",rawext);
|
printf("Bad input file extension '%s'.",rawext);
|
||||||
exit(e_badinputfilename);
|
exit(e_badinputfilename);
|
||||||
}
|
}
|
||||||
// Add dirname of the input file to include path.
|
|
||||||
char *slash_idx = strrchr((char*)rawfilename, DIV_FOLD);
|
|
||||||
if (slash_idx) {
|
|
||||||
*slash_idx = '\0';
|
|
||||||
IncludePath((char*)rawfilename);
|
|
||||||
*slash_idx = DIV_FOLD;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void compile()
|
void compile()
|
||||||
@ -695,7 +709,7 @@ errlate:
|
|||||||
int j,jj;
|
int j,jj;
|
||||||
puts("LIST OF RESERVED IDENTIFIERS:");
|
puts("LIST OF RESERVED IDENTIFIERS:");
|
||||||
numstr=1;
|
numstr=1;
|
||||||
ListId(53,id,idofs);
|
ListId(53,(unsigned char *)id,idofs);
|
||||||
for(j=0;j<ID2S;j++){
|
for(j=0;j<ID2S;j++){
|
||||||
puts(id2[j]);
|
puts(id2[j]);
|
||||||
// CheckNumStr();
|
// CheckNumStr();
|
||||||
@ -898,7 +912,7 @@ nexpardll:
|
|||||||
case c_help:
|
case c_help:
|
||||||
case c_h:
|
case c_h:
|
||||||
case c_hh:
|
case c_hh:
|
||||||
PrintInfo(usage);
|
PrintInfo((char **)usage);
|
||||||
exit(e_ok);
|
exit(e_ok);
|
||||||
case c_mif:
|
case c_mif:
|
||||||
if(ptr==NULL)return c_end;
|
if(ptr==NULL)return c_end;
|
||||||
@ -922,7 +936,7 @@ nexpardll:
|
|||||||
AlignCycle=(unsigned char)1^neg;
|
AlignCycle=(unsigned char)1^neg;
|
||||||
if(ptr!=NULL){
|
if(ptr!=NULL){
|
||||||
aligncycle=getnumber((unsigned char *)ptr);
|
aligncycle=getnumber((unsigned char *)ptr);
|
||||||
if(aligncycle<1 || aligncycle>4096)aligncycle=8; // fix by cppcheck
|
if(aligncycle<1&&aligncycle>4096)aligncycle=8;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case c_ws: //dos-stub for windows programs
|
case c_ws: //dos-stub for windows programs
|
||||||
@ -1254,25 +1268,7 @@ void GetMemExeDat()
|
|||||||
if(outputdata==output&&outputdata!=0)outputdata=(unsigned char *)MALLOC((size_t)MAXDATA);
|
if(outputdata==output&&outputdata!=0)outputdata=(unsigned char *)MALLOC((size_t)MAXDATA);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ListId(int numfirstchar,unsigned char *list,short *ofs)
|
|
||||||
{
|
|
||||||
char buf[40];
|
|
||||||
for(int i=0;i<numfirstchar;i++){
|
|
||||||
if((short)ofs[i]!=-1){
|
|
||||||
if(i<26)buf[0]=(char)('A'+i);
|
|
||||||
else if(i==26)buf[0]='_';
|
|
||||||
else buf[0]=(char)(i-27+'a');
|
|
||||||
unsigned char *ii=(unsigned char *)(list+ofs[i]);
|
|
||||||
while(*(short *)&*ii!=-1){
|
|
||||||
ii+=2;
|
|
||||||
strcpy(buf+1,(char *)ii);
|
|
||||||
ii+=strlen((char *)ii)+1;
|
|
||||||
puts(buf);
|
|
||||||
// CheckNumStr();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int writeoutput()
|
int writeoutput()
|
||||||
{
|
{
|
||||||
@ -1658,8 +1654,8 @@ char *ostartline;
|
|||||||
tok=ptr->rectok;
|
tok=ptr->rectok;
|
||||||
if(tok==tk_structvar)datasize+=initstructvar((structteg *)ptr->newid,ptr->recrm);
|
if(tok==tk_structvar)datasize+=initstructvar((structteg *)ptr->newid,ptr->recrm);
|
||||||
else{
|
else{
|
||||||
long type,ssize;
|
long type = 0,ssize = 0;
|
||||||
unsigned char typev;
|
unsigned char typev = 0;
|
||||||
if(tok>=tk_charvar&&tok<=tk_doublevar){
|
if(tok>=tk_charvar&&tok<=tk_doublevar){
|
||||||
type=tok-(tk_charvar-tk_char);
|
type=tok-(tk_charvar-tk_char);
|
||||||
typev=variable;
|
typev=variable;
|
||||||
@ -1671,7 +1667,6 @@ unsigned char typev;
|
|||||||
if(am32==FALSE&&((itok.flag&f_far)==0))ssize=2;
|
if(am32==FALSE&&((itok.flag&f_far)==0))ssize=2;
|
||||||
else ssize=4;
|
else ssize=4;
|
||||||
}
|
}
|
||||||
else printf("unexpected condition\n"); // fix by cppcheck
|
|
||||||
datasize+=initglobalvar(type,ptr->recsize/ssize,ssize,typev);
|
datasize+=initglobalvar(type,ptr->recsize/ssize,ssize,typev);
|
||||||
}
|
}
|
||||||
free(input);
|
free(input);
|
||||||
@ -1689,10 +1684,7 @@ FILE *CreateOutPut(char *ext,char *mode)
|
|||||||
{
|
{
|
||||||
char buf[256];
|
char buf[256];
|
||||||
FILE *diskout;
|
FILE *diskout;
|
||||||
if (comfile == file_meos)
|
sprintf(buf,"%s.%s",rawfilename,ext);
|
||||||
sprintf(buf,"%s",rawfilename);
|
|
||||||
else
|
|
||||||
sprintf(buf,"%s.%s",rawfilename,ext);
|
|
||||||
if((diskout=fopen(buf,mode))==NULL){
|
if((diskout=fopen(buf,mode))==NULL){
|
||||||
ErrOpenFile(buf);
|
ErrOpenFile(buf);
|
||||||
exit(e_notcreateoutput);
|
exit(e_notcreateoutput);
|
||||||
|
@ -33,7 +33,7 @@ int usebracket=FALSE;
|
|||||||
if(usebracket){
|
if(usebracket){
|
||||||
while(tok==tk_mult){
|
while(tok==tk_mult){
|
||||||
nexttok();
|
nexttok();
|
||||||
(*pointr)++; // fix by cppcheck
|
*pointr++;
|
||||||
}
|
}
|
||||||
if(tok!=tk_closebracket)expected(')');
|
if(tok!=tk_closebracket)expected(')');
|
||||||
else getoperand(reg);
|
else getoperand(reg);
|
||||||
|
File diff suppressed because one or more lines are too long
@ -99,7 +99,7 @@ int MultiByteToWideChar(
|
|||||||
int cchWideChar // size of buffer
|
int cchWideChar // size of buffer
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
int i = 0; // fix by cppcheck
|
int i = 0;
|
||||||
while ((lpMultiByteStr[i*2]!=0) && (lpMultiByteStr[i*2+1]!=0)) i++;
|
while ((lpMultiByteStr[i*2]!=0) && (lpMultiByteStr[i*2+1]!=0)) i++;
|
||||||
return i/2;
|
return i/2;
|
||||||
}
|
}
|
||||||
@ -147,7 +147,7 @@ int stat (const char* path, struct _stat* buf)
|
|||||||
|
|
||||||
char * getcwd (char *buffer, int size)
|
char * getcwd (char *buffer, int size)
|
||||||
{
|
{
|
||||||
volatile int len=0; // fix by cppcheck
|
int len=0;
|
||||||
if (size==0){
|
if (size==0){
|
||||||
if (buffer!=0)
|
if (buffer!=0)
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -90,15 +90,12 @@ bool OemToCharA(char*, char*);
|
|||||||
bool CharToOemA(char*, char*);
|
bool CharToOemA(char*, char*);
|
||||||
int MultiByteToWideChar(unsigned int,unsigned int,char*,int,wchar_t *,int);
|
int MultiByteToWideChar(unsigned int,unsigned int,char*,int,wchar_t *,int);
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
int stricmp(const char*, const char*);
|
|
||||||
int strnicmp(const char*, const char*, int);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
char* strupr(char* s);
|
char* strupr(char* s);
|
||||||
char* strlwr(char* s);
|
char* strlwr(char* s);
|
||||||
|
int stricmp(const char*, const char*);
|
||||||
|
int strnicmp(const char*, const char*, int);
|
||||||
|
|
||||||
#ifdef _PORT_CPP_
|
#ifdef _PORT_CPP_
|
||||||
|
|
||||||
|
@ -1,218 +1 @@
|
|||||||
#define CRT_NEWRESOURCE 0x2000
|
#define CRT_NEWRESOURCE 0x2000
#define CRT_ERROR 0x7FFF
#define CRT_CURSOR 1
#define CRT_BITMAP 2
#define CRT_ICON 3
#define CRT_MENU 4
#define CRT_DIALOG 5
#define CRT_STRING 6
#define CRT_FONTDIR 7
#define CRT_FONT 8
#define CRT_ACCELERATOR 9
#define CRT_RCDATA 10
#define CRT_MESSAGETABLE 11
#define CRT_GROUP_CURSOR 12
#define CRT_GROUP_ICON 14
#define CRT_VERSION 16
#define CRT_DLGINCLUDE 17
#define CRT_PLUGPLAY 19
#define CRT_VXD 20
#define CRT_ANICURSOR 21
#define CRT_ANIICON 22
#define CRT_NEWBITMAP (CRT_BITMAP|CRT_NEWRESOURCE)
#define CRT_NEWMENU (CRT_MENU|CRT_NEWRESOURCE)
#define CRT_NEWDIALOG (CRT_DIALOG|CRT_NEWRESOURCE)
#define TOTALTYPERES 22
#define NUMMENUPOPUP 8
struct RES{
int type; //⨯ à¥áãàá¢
char *tname; //¨¬ï ⨯
int id; //¥£® id
char *name; //¨¬ï à¥áãàá
unsigned short lang; //ï§ëª
unsigned char *res; //㪠§ ⥫ì â ¡«¨æã à¥áãàá
unsigned int size; //à §¬¥à â ¡«¨æë
};
#define DRESNUM 100
#define SIZERESBUF 2048
struct _STRINGS_{
char *id;
short val;
};
_STRINGS_ typemem[7]={
"MOVEABLE", 0x0010,
"FIXED", ~0x0010,
"PURE", 0x0020,
"IMPURE", ~0x0020,
"PRELOAD", 0x0040,
"LOADONCALL", ~0x0040,
"DISCARDABLE",0x1000
};
_STRINGS_ typeclass[6]={
"BUTTON", 0x80,
"EDIT", 0x81,
"STATIC", 0x82,
"LISTBOX", 0x83,
"SCROLLBAR",0x84,
"COMBOBOX", 0x85
};
_STRINGS_ typemenu[NUMMENUPOPUP]={
"GREYED", 0x0001,
"INACTIVE", 0x0002,
"BITMAP", 0x0004,
"OWNERDRAW", 0x0100,
"CHECKED", 0x0008,
"MENUBARBREAK",0x0020,
"MENUBREAK", 0x0040,
"HELP", 0x4000
};
_STRINGS_ typeacceler[5]={
"VIRTKEY", 0x01,
"NOINVERT", 0x02,
"SHIFT", 0x04,
"CONTROL", 0x08,
"ALT", 0x10
};
enum {v_fv=1,v_pv,v_ffm,v_ff,v_fo,v_ft,v_fs};
_STRINGS_ typeversion[7]={
(char *)"FILEVERSION",v_fv,
(char *)"PRODUCTVERSION",v_pv,
(char *)"FILEFLAGSMASK",v_ffm,
(char *)"FILEFLAGS",v_ff,
(char *)"FILEOS",v_fo,
(char *)"FILETYPE",v_ft,
(char *)"FILESUBTYPE",v_fs
};
enum{
rc_accelerators,rc_auto3state, rc_autocheckbox,rc_autoradiobutton,rc_bitmap,
rc_caption, rc_characteristics,rc_checkbox, rc_class, rc_combobox,
rc_control, rc_ctext, rc_cursor, rc_defpushbutton, rc_dialog,
rc_dialogex, rc_edittext, rc_exstyle, rc_font, rc_groupbox,
rc_icon, rc_listbox, rc_ltext, rc_menu, rc_menuex,
rc_menuitem, rc_messagetable, rc_popup, rc_pushbox, rc_pushbutton,
rc_radiobutton, rc_rcdata, rc_rtext, rc_scrollbar, rc_state3,
rc_stringtable, rc_style, rc_version, rc_versioninfo, rc_begin,
rc_end, rc_language
};
struct{
unsigned short dclass;
unsigned long style;
}defdialog[rc_state3+1]={
0,0,
0x80,6,//BS_AUTO3STATE
0X80,3|0x00010000,//BS_AUTOCHECKBOX|WS_TABSTOP,
0X80,9,//BS_AUTORADIOBUTTON,
0,0,
0,0,
0,0,
0X80,0x00010002,//BS_CHECKBOX|WS_TABSTOP,
0,0,
0X85,0x00010000,//0,WS_TABSTOP
0,0x40000000|0x10000000,//WS_CHILD|WS_VISIBLE,
0X82,1,//ES_CENTER,
0,0,
0X80,1|0x00010000,//BS_DEFPUSHBUTTON|WS_TABSTOP,
0,0,
0,0,
0X81,0x00800000|0x00010000,//ES_LEFT|WS_BORDER|WS_TABSTOP,
0,0,
0,0,
0X80,7|0x00010000,//BS_GROUPBOX,
0X82,3,//SS_ICON,
0X83,0x00800000|1,//WS_BORDER|LBS_NOTIFY,
0X82,0x00020000,//ES_LEFT|WS_GROUP,
0,0,
0,0,
0,0,
0,0,
0,0,
0X80,0x00010000,// ??? BS_PUSHBOX,
0X80,0x00010000,//BS_PUSHBUTTON|WS_TABSTOP,
0X80,4,//BS_RADIOBUTTON,
0,0,
0X82,2|0x00020000,//ES_RIGHT|WS_GROUP,
0X84,0,
0X80,5//BS_3STATE
};
union NameOrdinal
{
unsigned char *name;
unsigned short ordinal[2];
};
struct _DBH_ //áâàãªâãà ¤¨ «®£
{
unsigned long lStyle;
unsigned long lExtendedStyle;
unsigned short NumberOfItems;
unsigned short x;
unsigned short y;
unsigned short cx;
unsigned short cy;
NameOrdinal MenuName;
NameOrdinal ClassName;
char *Caption;
unsigned short FontSize;
char *FontName;
};
struct _CD_ //ª®â஫ìë¥ ¤ ë¥ ¤¨ «®£
{
unsigned long lStyle;
unsigned long lExtendedStyle;
unsigned short x;
unsigned short y;
unsigned short cx;
unsigned short cy;
unsigned short Id;
NameOrdinal ClassId;
NameOrdinal Text;
unsigned short Extra;
};
struct _ICOHEAD_
{
unsigned short res1;
unsigned short type;
unsigned short count;
// unsigned short res2;
};
struct _RESDIR_
{
unsigned char width;
unsigned char heigth;
unsigned char color;
unsigned char res1;
unsigned short planes;
unsigned short bitcount;
unsigned long binres;
unsigned short nameord;
// unsigned short res2;
};
struct _CURDIR_
{
unsigned short width;
unsigned short heigth;
unsigned short planes;
unsigned short bitcount;
unsigned long binres;
unsigned short nameord;
// unsigned short res2;
};
|
||||||
#define CRT_ERROR 0x7FFF
|
|
||||||
#define CRT_CURSOR 1
|
|
||||||
#define CRT_BITMAP 2
|
|
||||||
#define CRT_ICON 3
|
|
||||||
#define CRT_MENU 4
|
|
||||||
#define CRT_DIALOG 5
|
|
||||||
#define CRT_STRING 6
|
|
||||||
#define CRT_FONTDIR 7
|
|
||||||
#define CRT_FONT 8
|
|
||||||
#define CRT_ACCELERATOR 9
|
|
||||||
#define CRT_RCDATA 10
|
|
||||||
#define CRT_MESSAGETABLE 11
|
|
||||||
#define CRT_GROUP_CURSOR 12
|
|
||||||
#define CRT_GROUP_ICON 14
|
|
||||||
#define CRT_VERSION 16
|
|
||||||
#define CRT_DLGINCLUDE 17
|
|
||||||
#define CRT_PLUGPLAY 19
|
|
||||||
#define CRT_VXD 20
|
|
||||||
#define CRT_ANICURSOR 21
|
|
||||||
#define CRT_ANIICON 22
|
|
||||||
#define CRT_NEWBITMAP (CRT_BITMAP|CRT_NEWRESOURCE)
|
|
||||||
#define CRT_NEWMENU (CRT_MENU|CRT_NEWRESOURCE)
|
|
||||||
#define CRT_NEWDIALOG (CRT_DIALOG|CRT_NEWRESOURCE)
|
|
||||||
|
|
||||||
#define TOTALTYPERES 22
|
|
||||||
#define NUMMENUPOPUP 8
|
|
||||||
|
|
||||||
struct RES{
|
|
||||||
int type; //⨯ à¥áãàá¢
|
|
||||||
char *tname; //¨¬ï ⨯
|
|
||||||
int id; //¥£® id
|
|
||||||
char *name; //¨¬ï à¥áãàá
|
|
||||||
unsigned short lang; //ï§ëª
|
|
||||||
unsigned char *res; //㪠§ ⥫ì â ¡«¨æã à¥áãàá
|
|
||||||
unsigned int size; //à §¬¥à â ¡«¨æë
|
|
||||||
};
|
|
||||||
|
|
||||||
#define DRESNUM 100
|
|
||||||
#define SIZERESBUF 2048
|
|
||||||
|
|
||||||
struct _STRINGS_{
|
|
||||||
char *id;
|
|
||||||
short val;
|
|
||||||
};
|
|
||||||
|
|
||||||
_STRINGS_ typemem[7]={
|
|
||||||
"MOVEABLE", 0x0010,
|
|
||||||
"FIXED", ~0x0010,
|
|
||||||
"PURE", 0x0020,
|
|
||||||
"IMPURE", ~0x0020,
|
|
||||||
"PRELOAD", 0x0040,
|
|
||||||
"LOADONCALL", ~0x0040,
|
|
||||||
"DISCARDABLE",0x1000
|
|
||||||
};
|
|
||||||
|
|
||||||
_STRINGS_ typeclass[6]={
|
|
||||||
"BUTTON", 0x80,
|
|
||||||
"EDIT", 0x81,
|
|
||||||
"STATIC", 0x82,
|
|
||||||
"LISTBOX", 0x83,
|
|
||||||
"SCROLLBAR",0x84,
|
|
||||||
"COMBOBOX", 0x85
|
|
||||||
};
|
|
||||||
|
|
||||||
_STRINGS_ typemenu[NUMMENUPOPUP]={
|
|
||||||
"GREYED", 0x0001,
|
|
||||||
"INACTIVE", 0x0002,
|
|
||||||
"BITMAP", 0x0004,
|
|
||||||
"OWNERDRAW", 0x0100,
|
|
||||||
"CHECKED", 0x0008,
|
|
||||||
"MENUBARBREAK",0x0020,
|
|
||||||
"MENUBREAK", 0x0040,
|
|
||||||
"HELP", 0x4000
|
|
||||||
};
|
|
||||||
|
|
||||||
_STRINGS_ typeacceler[5]={
|
|
||||||
"VIRTKEY", 0x01,
|
|
||||||
"NOINVERT", 0x02,
|
|
||||||
"SHIFT", 0x04,
|
|
||||||
"CONTROL", 0x08,
|
|
||||||
"ALT", 0x10
|
|
||||||
};
|
|
||||||
|
|
||||||
enum {v_fv=1,v_pv,v_ffm,v_ff,v_fo,v_ft,v_fs};
|
|
||||||
|
|
||||||
_STRINGS_ typeversion[7]={
|
|
||||||
"FILEVERSION",v_fv,
|
|
||||||
"PRODUCTVERSION",v_pv,
|
|
||||||
"FILEFLAGSMASK",v_ffm,
|
|
||||||
"FILEFLAGS",v_ff,
|
|
||||||
"FILEOS",v_fo,
|
|
||||||
"FILETYPE",v_ft,
|
|
||||||
"FILESUBTYPE",v_fs
|
|
||||||
};
|
|
||||||
|
|
||||||
enum{
|
|
||||||
rc_accelerators,rc_auto3state, rc_autocheckbox,rc_autoradiobutton,rc_bitmap,
|
|
||||||
rc_caption, rc_characteristics,rc_checkbox, rc_class, rc_combobox,
|
|
||||||
rc_control, rc_ctext, rc_cursor, rc_defpushbutton, rc_dialog,
|
|
||||||
rc_dialogex, rc_edittext, rc_exstyle, rc_font, rc_groupbox,
|
|
||||||
rc_icon, rc_listbox, rc_ltext, rc_menu, rc_menuex,
|
|
||||||
rc_menuitem, rc_messagetable, rc_popup, rc_pushbox, rc_pushbutton,
|
|
||||||
rc_radiobutton, rc_rcdata, rc_rtext, rc_scrollbar, rc_state3,
|
|
||||||
rc_stringtable, rc_style, rc_version, rc_versioninfo, rc_begin,
|
|
||||||
rc_end, rc_language
|
|
||||||
};
|
|
||||||
|
|
||||||
struct{
|
|
||||||
unsigned short dclass;
|
|
||||||
unsigned long style;
|
|
||||||
}defdialog[rc_state3+1]={
|
|
||||||
0,0,
|
|
||||||
0x80,6,//BS_AUTO3STATE
|
|
||||||
0X80,3|0x00010000,//BS_AUTOCHECKBOX|WS_TABSTOP,
|
|
||||||
0X80,9,//BS_AUTORADIOBUTTON,
|
|
||||||
0,0,
|
|
||||||
0,0,
|
|
||||||
0,0,
|
|
||||||
0X80,0x00010002,//BS_CHECKBOX|WS_TABSTOP,
|
|
||||||
0,0,
|
|
||||||
0X85,0x00010000,//0,WS_TABSTOP
|
|
||||||
0,0x40000000|0x10000000,//WS_CHILD|WS_VISIBLE,
|
|
||||||
0X82,1,//ES_CENTER,
|
|
||||||
0,0,
|
|
||||||
0X80,1|0x00010000,//BS_DEFPUSHBUTTON|WS_TABSTOP,
|
|
||||||
0,0,
|
|
||||||
0,0,
|
|
||||||
0X81,0x00800000|0x00010000,//ES_LEFT|WS_BORDER|WS_TABSTOP,
|
|
||||||
0,0,
|
|
||||||
0,0,
|
|
||||||
0X80,7|0x00010000,//BS_GROUPBOX,
|
|
||||||
0X82,3,//SS_ICON,
|
|
||||||
0X83,0x00800000|1,//WS_BORDER|LBS_NOTIFY,
|
|
||||||
0X82,0x00020000,//ES_LEFT|WS_GROUP,
|
|
||||||
0,0,
|
|
||||||
0,0,
|
|
||||||
0,0,
|
|
||||||
0,0,
|
|
||||||
0,0,
|
|
||||||
0X80,0x00010000,// ??? BS_PUSHBOX,
|
|
||||||
0X80,0x00010000,//BS_PUSHBUTTON|WS_TABSTOP,
|
|
||||||
0X80,4,//BS_RADIOBUTTON,
|
|
||||||
0,0,
|
|
||||||
0X82,2|0x00020000,//ES_RIGHT|WS_GROUP,
|
|
||||||
0X84,0,
|
|
||||||
0X80,5//BS_3STATE
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
union NameOrdinal
|
|
||||||
{
|
|
||||||
unsigned char *name;
|
|
||||||
unsigned short ordinal[2];
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct _DBH_ //áâàãªâãà ¤¨ «®£
|
|
||||||
{
|
|
||||||
unsigned long lStyle;
|
|
||||||
unsigned long lExtendedStyle;
|
|
||||||
unsigned short NumberOfItems;
|
|
||||||
unsigned short x;
|
|
||||||
unsigned short y;
|
|
||||||
unsigned short cx;
|
|
||||||
unsigned short cy;
|
|
||||||
NameOrdinal MenuName;
|
|
||||||
NameOrdinal ClassName;
|
|
||||||
char *Caption;
|
|
||||||
unsigned short FontSize;
|
|
||||||
char *FontName;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _CD_ //ª®â஫ìë¥ ¤ ë¥ ¤¨ «®£
|
|
||||||
{
|
|
||||||
unsigned long lStyle;
|
|
||||||
unsigned long lExtendedStyle;
|
|
||||||
unsigned short x;
|
|
||||||
unsigned short y;
|
|
||||||
unsigned short cx;
|
|
||||||
unsigned short cy;
|
|
||||||
unsigned short Id;
|
|
||||||
NameOrdinal ClassId;
|
|
||||||
NameOrdinal Text;
|
|
||||||
unsigned short Extra;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _ICOHEAD_
|
|
||||||
{
|
|
||||||
unsigned short res1;
|
|
||||||
unsigned short type;
|
|
||||||
unsigned short count;
|
|
||||||
// unsigned short res2;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _RESDIR_
|
|
||||||
{
|
|
||||||
unsigned char width;
|
|
||||||
unsigned char heigth;
|
|
||||||
unsigned char color;
|
|
||||||
unsigned char res1;
|
|
||||||
unsigned short planes;
|
|
||||||
unsigned short bitcount;
|
|
||||||
unsigned long binres;
|
|
||||||
unsigned short nameord;
|
|
||||||
// unsigned short res2;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _CURDIR_
|
|
||||||
{
|
|
||||||
unsigned short width;
|
|
||||||
unsigned short heigth;
|
|
||||||
unsigned short planes;
|
|
||||||
unsigned short bitcount;
|
|
||||||
unsigned long binres;
|
|
||||||
unsigned short nameord;
|
|
||||||
// unsigned short res2;
|
|
||||||
};
|
|
@ -1,75 +1 @@
|
|||||||
/* 吲栽 <20>帖 嶂平丞兒恥<E58592> 能恐<E883BD>洵悟 'FASTLIST.EXE' */
|
/* 吲栽 <20>帖 嶂平丞兒恥<E58592> 能恐<E883BD>洵悟 'FASTLIST.EXE' */
unsigned short ofsres[26]={
0x0000,0x003B, //a b
0x004C,0x009B, //c d
0x00BE,0x00D8, //e f
0x00E0,0xFFFF, //g h
0x00EC,0xFFFF, //i j
0xFFFF,0x00F4, //k l
0x0110,0xFFFF, //m n
0xFFFF,0x0138, //o p
0xFFFF,0x0156, //q r
0x0174,0xFFFF, //s t
0xFFFF,0x019D, //u v
0xFFFF,0xFFFF, //w x
0xFFFF,0xFFFF}; //y z
unsigned char resMnem[]={
0x00,0x00,0x63,0x63,0x65,0x6C,0x65,0x72,0x61,0x74,0x6F,0x72,0x73,0, // accelerators
0x01,0x00,0x75,0x74,0x6F,0x33,0x73,0x74,0x61,0x74,0x65,0, // auto3state
0x02,0x00,0x75,0x74,0x6F,0x63,0x68,0x65,0x63,0x6B,0x62,0x6F,0x78,0, // autocheckbox
0x03,0x00,0x75,0x74,0x6F,0x72,0x61,0x64,0x69,0x6F,0x62,0x75,0x74,0x74,0x6F,0x6E,0, // autoradiobutton
0xFF,0xFF, // end char 'a'
0x27,0x00,0x65,0x67,0x69,0x6E,0, // begin
0x04,0x00,0x69,0x74,0x6D,0x61,0x70,0, // bitmap
0xFF,0xFF, // end char 'b'
0x05,0x00,0x61,0x70,0x74,0x69,0x6F,0x6E,0, // caption
0x06,0x00,0x68,0x61,0x72,0x61,0x63,0x74,0x65,0x72,0x69,0x73,0x74,0x69,0x63,0x73,0, // characteristics
0x07,0x00,0x68,0x65,0x63,0x6B,0x62,0x6F,0x78,0, // checkbox
0x08,0x00,0x6C,0x61,0x73,0x73,0, // class
0x09,0x00,0x6F,0x6D,0x62,0x6F,0x62,0x6F,0x78,0, // combobox
0x0A,0x00,0x6F,0x6E,0x74,0x72,0x6F,0x6C,0, // control
0x0B,0x00,0x74,0x65,0x78,0x74,0, // ctext
0x0C,0x00,0x75,0x72,0x73,0x6F,0x72,0, // cursor
0xFF,0xFF, // end char 'c'
0x0D,0x00,0x65,0x66,0x70,0x75,0x73,0x68,0x62,0x75,0x74,0x74,0x6F,0x6E,0, // defpushbutton
0x0E,0x00,0x69,0x61,0x6C,0x6F,0x67,0, // dialog
0x0F,0x00,0x69,0x61,0x6C,0x6F,0x67,0x65,0x78,0, // dialogex
0xFF,0xFF, // end char 'd'
0x10,0x00,0x64,0x69,0x74,0x74,0x65,0x78,0x74,0, // edittext
0x28,0x00,0x6E,0x64,0, // end
0x11,0x00,0x78,0x73,0x74,0x79,0x6C,0x65,0, // exstyle
0xFF,0xFF, // end char 'e'
0x12,0x00,0x6F,0x6E,0x74,0, // font
0xFF,0xFF, // end char 'f'
0x13,0x00,0x72,0x6F,0x75,0x70,0x62,0x6F,0x78,0, // groupbox
0xFF,0xFF, // end char 'g'
0x14,0x00,0x63,0x6F,0x6E,0, // icon
0xFF,0xFF, // end char 'i'
0x29,0x00,0x61,0x6E,0x67,0x75,0x61,0x67,0x65,0, // language
0x15,0x00,0x69,0x73,0x74,0x62,0x6F,0x78,0, // listbox
0x16,0x00,0x74,0x65,0x78,0x74,0, // ltext
0xFF,0xFF, // end char 'l'
0x17,0x00,0x65,0x6E,0x75,0, // menu
0x18,0x00,0x65,0x6E,0x75,0x65,0x78,0, // menuex
0x19,0x00,0x65,0x6E,0x75,0x69,0x74,0x65,0x6D,0, // menuitem
0x1A,0x00,0x65,0x73,0x73,0x61,0x67,0x65,0x74,0x61,0x62,0x6C,0x65,0, // messagetable
0xFF,0xFF, // end char 'm'
0x1B,0x00,0x6F,0x70,0x75,0x70,0, // popup
0x1C,0x00,0x75,0x73,0x68,0x62,0x6F,0x78,0, // pushbox
0x1D,0x00,0x75,0x73,0x68,0x62,0x75,0x74,0x74,0x6F,0x6E,0, // pushbutton
0xFF,0xFF, // end char 'p'
0x1E,0x00,0x61,0x64,0x69,0x6F,0x62,0x75,0x74,0x74,0x6F,0x6E,0, // radiobutton
0x1F,0x00,0x63,0x64,0x61,0x74,0x61,0, // rcdata
0x20,0x00,0x74,0x65,0x78,0x74,0, // rtext
0xFF,0xFF, // end char 'r'
0x21,0x00,0x63,0x72,0x6F,0x6C,0x6C,0x62,0x61,0x72,0, // scrollbar
0x22,0x00,0x74,0x61,0x74,0x65,0x33,0, // state3
0x23,0x00,0x74,0x72,0x69,0x6E,0x67,0x74,0x61,0x62,0x6C,0x65,0, // stringtable
0x24,0x00,0x74,0x79,0x6C,0x65,0, // style
0xFF,0xFF, // end char 's'
0x25,0x00,0x65,0x72,0x73,0x69,0x6F,0x6E,0, // version
0x26,0x00,0x65,0x72,0x73,0x69,0x6F,0x6E,0x69,0x6E,0x66,0x6F,0, // versioninfo
0xFF,0xFF // end char 'v'
};
|
||||||
|
|
||||||
short ofsres[26]={
|
|
||||||
0x0000,0x003B, //a b
|
|
||||||
0x004C,0x009B, //c d
|
|
||||||
0x00BE,0x00D8, //e f
|
|
||||||
0x00E0,0xFFFF, //g h
|
|
||||||
0x00EC,0xFFFF, //i j
|
|
||||||
0xFFFF,0x00F4, //k l
|
|
||||||
0x0110,0xFFFF, //m n
|
|
||||||
0xFFFF,0x0138, //o p
|
|
||||||
0xFFFF,0x0156, //q r
|
|
||||||
0x0174,0xFFFF, //s t
|
|
||||||
0xFFFF,0x019D, //u v
|
|
||||||
0xFFFF,0xFFFF, //w x
|
|
||||||
0xFFFF,0xFFFF}; //y z
|
|
||||||
|
|
||||||
unsigned char resMnem[]={
|
|
||||||
0x00,0x00,0x63,0x63,0x65,0x6C,0x65,0x72,0x61,0x74,0x6F,0x72,0x73,0, // accelerators
|
|
||||||
0x01,0x00,0x75,0x74,0x6F,0x33,0x73,0x74,0x61,0x74,0x65,0, // auto3state
|
|
||||||
0x02,0x00,0x75,0x74,0x6F,0x63,0x68,0x65,0x63,0x6B,0x62,0x6F,0x78,0, // autocheckbox
|
|
||||||
0x03,0x00,0x75,0x74,0x6F,0x72,0x61,0x64,0x69,0x6F,0x62,0x75,0x74,0x74,0x6F,0x6E,0, // autoradiobutton
|
|
||||||
0xFF,0xFF, // end char 'a'
|
|
||||||
0x27,0x00,0x65,0x67,0x69,0x6E,0, // begin
|
|
||||||
0x04,0x00,0x69,0x74,0x6D,0x61,0x70,0, // bitmap
|
|
||||||
0xFF,0xFF, // end char 'b'
|
|
||||||
0x05,0x00,0x61,0x70,0x74,0x69,0x6F,0x6E,0, // caption
|
|
||||||
0x06,0x00,0x68,0x61,0x72,0x61,0x63,0x74,0x65,0x72,0x69,0x73,0x74,0x69,0x63,0x73,0, // characteristics
|
|
||||||
0x07,0x00,0x68,0x65,0x63,0x6B,0x62,0x6F,0x78,0, // checkbox
|
|
||||||
0x08,0x00,0x6C,0x61,0x73,0x73,0, // class
|
|
||||||
0x09,0x00,0x6F,0x6D,0x62,0x6F,0x62,0x6F,0x78,0, // combobox
|
|
||||||
0x0A,0x00,0x6F,0x6E,0x74,0x72,0x6F,0x6C,0, // control
|
|
||||||
0x0B,0x00,0x74,0x65,0x78,0x74,0, // ctext
|
|
||||||
0x0C,0x00,0x75,0x72,0x73,0x6F,0x72,0, // cursor
|
|
||||||
0xFF,0xFF, // end char 'c'
|
|
||||||
0x0D,0x00,0x65,0x66,0x70,0x75,0x73,0x68,0x62,0x75,0x74,0x74,0x6F,0x6E,0, // defpushbutton
|
|
||||||
0x0E,0x00,0x69,0x61,0x6C,0x6F,0x67,0, // dialog
|
|
||||||
0x0F,0x00,0x69,0x61,0x6C,0x6F,0x67,0x65,0x78,0, // dialogex
|
|
||||||
0xFF,0xFF, // end char 'd'
|
|
||||||
0x10,0x00,0x64,0x69,0x74,0x74,0x65,0x78,0x74,0, // edittext
|
|
||||||
0x28,0x00,0x6E,0x64,0, // end
|
|
||||||
0x11,0x00,0x78,0x73,0x74,0x79,0x6C,0x65,0, // exstyle
|
|
||||||
0xFF,0xFF, // end char 'e'
|
|
||||||
0x12,0x00,0x6F,0x6E,0x74,0, // font
|
|
||||||
0xFF,0xFF, // end char 'f'
|
|
||||||
0x13,0x00,0x72,0x6F,0x75,0x70,0x62,0x6F,0x78,0, // groupbox
|
|
||||||
0xFF,0xFF, // end char 'g'
|
|
||||||
0x14,0x00,0x63,0x6F,0x6E,0, // icon
|
|
||||||
0xFF,0xFF, // end char 'i'
|
|
||||||
0x29,0x00,0x61,0x6E,0x67,0x75,0x61,0x67,0x65,0, // language
|
|
||||||
0x15,0x00,0x69,0x73,0x74,0x62,0x6F,0x78,0, // listbox
|
|
||||||
0x16,0x00,0x74,0x65,0x78,0x74,0, // ltext
|
|
||||||
0xFF,0xFF, // end char 'l'
|
|
||||||
0x17,0x00,0x65,0x6E,0x75,0, // menu
|
|
||||||
0x18,0x00,0x65,0x6E,0x75,0x65,0x78,0, // menuex
|
|
||||||
0x19,0x00,0x65,0x6E,0x75,0x69,0x74,0x65,0x6D,0, // menuitem
|
|
||||||
0x1A,0x00,0x65,0x73,0x73,0x61,0x67,0x65,0x74,0x61,0x62,0x6C,0x65,0, // messagetable
|
|
||||||
0xFF,0xFF, // end char 'm'
|
|
||||||
0x1B,0x00,0x6F,0x70,0x75,0x70,0, // popup
|
|
||||||
0x1C,0x00,0x75,0x73,0x68,0x62,0x6F,0x78,0, // pushbox
|
|
||||||
0x1D,0x00,0x75,0x73,0x68,0x62,0x75,0x74,0x74,0x6F,0x6E,0, // pushbutton
|
|
||||||
0xFF,0xFF, // end char 'p'
|
|
||||||
0x1E,0x00,0x61,0x64,0x69,0x6F,0x62,0x75,0x74,0x74,0x6F,0x6E,0, // radiobutton
|
|
||||||
0x1F,0x00,0x63,0x64,0x61,0x74,0x61,0, // rcdata
|
|
||||||
0x20,0x00,0x74,0x65,0x78,0x74,0, // rtext
|
|
||||||
0xFF,0xFF, // end char 'r'
|
|
||||||
0x21,0x00,0x63,0x72,0x6F,0x6C,0x6C,0x62,0x61,0x72,0, // scrollbar
|
|
||||||
0x22,0x00,0x74,0x61,0x74,0x65,0x33,0, // state3
|
|
||||||
0x23,0x00,0x74,0x72,0x69,0x6E,0x67,0x74,0x61,0x62,0x6C,0x65,0, // stringtable
|
|
||||||
0x24,0x00,0x74,0x79,0x6C,0x65,0, // style
|
|
||||||
0xFF,0xFF, // end char 's'
|
|
||||||
0x25,0x00,0x65,0x72,0x73,0x69,0x6F,0x6E,0, // version
|
|
||||||
0x26,0x00,0x65,0x72,0x73,0x69,0x6F,0x6E,0x69,0x6E,0x66,0x6F,0, // versioninfo
|
|
||||||
0xFF,0xFF // end char 'v'
|
|
||||||
};
|
|
@ -278,7 +278,7 @@ typedef struct _PE_HEADER_
|
|||||||
|
|
||||||
typedef struct _OBJECT_ENTRY_
|
typedef struct _OBJECT_ENTRY_
|
||||||
{
|
{
|
||||||
char name[8];
|
char name[16];
|
||||||
long vsize;
|
long vsize;
|
||||||
long sectionRVA;
|
long sectionRVA;
|
||||||
long psize;
|
long psize;
|
||||||
@ -414,7 +414,7 @@ struct paraminfo
|
|||||||
|
|
||||||
struct MEOSheader
|
struct MEOSheader
|
||||||
{
|
{
|
||||||
unsigned char sign[8];
|
unsigned char sign[25];
|
||||||
unsigned long vers;
|
unsigned long vers;
|
||||||
unsigned long start;
|
unsigned long start;
|
||||||
unsigned long size;
|
unsigned long size;
|
||||||
|
@ -191,14 +191,14 @@ extern int tok,tok2;
|
|||||||
|
|
||||||
#if !defined (_TOKR_)
|
#if !defined (_TOKR_)
|
||||||
extern char useasm;
|
extern char useasm;
|
||||||
extern short ofsmnem[];
|
extern unsigned short ofsmnem[];
|
||||||
extern unsigned char asmMnem[];
|
extern unsigned char asmMnem[];
|
||||||
extern char asmparam;
|
extern char asmparam;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined (_TOKA_)
|
#if !defined (_TOKA_)
|
||||||
extern unsigned char id[];
|
extern unsigned char id[];
|
||||||
extern short idofs[];
|
extern unsigned short idofs[];
|
||||||
extern char id2[ID2S][9];
|
extern char id2[ID2S][9];
|
||||||
extern char regs[2][8][4];
|
extern char regs[2][8][4];
|
||||||
extern char begs[8][3];
|
extern char begs[8][3];
|
||||||
@ -350,7 +350,7 @@ void InitStruct(); //
|
|||||||
unsigned long LocalStruct(int flag,int *localline); //èíèöèàëèçèðîâàòü ëîêàëüíóþ ñòðóêòóðó
|
unsigned long LocalStruct(int flag,int *localline); //èíèöèàëèçèðîâàòü ëîêàëüíóþ ñòðóêòóðó
|
||||||
struct structteg * FindTeg(int Global,char *name=itok.name); //íàéòè òåã
|
struct structteg * FindTeg(int Global,char *name=itok.name); //íàéòè òåã
|
||||||
void dostruct();
|
void dostruct();
|
||||||
int FastSearch(unsigned char *list,short *ofs,int type,char *str);
|
int FastSearch(unsigned char *list,short unsigned *ofs,int type,char *str);
|
||||||
void FindDirectiv();
|
void FindDirectiv();
|
||||||
unsigned long long scannumber(int *rm);
|
unsigned long long scannumber(int *rm);
|
||||||
void FastTok(int mode,int *tok4=&tok,ITOK *itok4=&itok);
|
void FastTok(int mode,int *tok4=&tok,ITOK *itok4=&itok);
|
||||||
@ -462,7 +462,7 @@ int procdo(int expectedreturn);
|
|||||||
int updatecall(unsigned int which,unsigned int where,unsigned int top);
|
int updatecall(unsigned int which,unsigned int where,unsigned int top);
|
||||||
void AddBackBuf(int,char);
|
void AddBackBuf(int,char);
|
||||||
void CharToBackBuf(char c);
|
void CharToBackBuf(char c);
|
||||||
void missingpar(char *name="");
|
void missingpar(char *name=(char *)"");
|
||||||
int CheckCodeSize();
|
int CheckCodeSize();
|
||||||
void CheckPosts();
|
void CheckPosts();
|
||||||
int doanyundefproc(int jumpsend=FALSE);
|
int doanyundefproc(int jumpsend=FALSE);
|
||||||
|
@ -663,7 +663,7 @@ int otok;
|
|||||||
void CheckReg(int idx,int base,int *reg1,int *reg2,int razr)
|
void CheckReg(int idx,int base,int *reg1,int *reg2,int razr)
|
||||||
{
|
{
|
||||||
if(razr==r32){
|
if(razr==r32){
|
||||||
unsigned char lreg[8];
|
unsigned char lreg[16];
|
||||||
int i;
|
int i;
|
||||||
for(i=0;i<8;i++){
|
for(i=0;i<8;i++){
|
||||||
if(i==ESP||i==EBP)lreg[i]=1;
|
if(i==ESP||i==EBP)lreg[i]=1;
|
||||||
@ -675,7 +675,7 @@ void CheckReg(int idx,int base,int *reg1,int *reg2,int razr)
|
|||||||
}
|
}
|
||||||
if(lreg[*reg1]==0)lreg[*reg1]=1;
|
if(lreg[*reg1]==0)lreg[*reg1]=1;
|
||||||
else{
|
else{
|
||||||
for(i=7;i>=0;i--){ // fix by cppcheck, side effect - enable EAX
|
for(i=8;i!=0;i--){
|
||||||
if(lreg[i]==0){
|
if(lreg[i]==0){
|
||||||
lreg[i]=1;
|
lreg[i]=1;
|
||||||
*reg1=i;
|
*reg1=i;
|
||||||
@ -685,7 +685,7 @@ void CheckReg(int idx,int base,int *reg1,int *reg2,int razr)
|
|||||||
}
|
}
|
||||||
// printf("\nreg1=%d",*reg1);
|
// printf("\nreg1=%d",*reg1);
|
||||||
if(lreg[*reg2]!=0){
|
if(lreg[*reg2]!=0){
|
||||||
for(i=7;i>=0;i--){ // fix by cppcheck, side effect - enable EAX
|
for(i=8;i!=0;i--){
|
||||||
if(lreg[i]==0){
|
if(lreg[i]==0){
|
||||||
*reg2=i;
|
*reg2=i;
|
||||||
break;
|
break;
|
||||||
@ -4094,7 +4094,7 @@ int GetDirective(char *str)
|
|||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
int FastSearch(unsigned char *list,short *ofs,int type,char *str)
|
int FastSearch(unsigned char *list,short unsigned *ofs,int type,char *str)
|
||||||
{
|
{
|
||||||
if((strlen(str)-1)>0){
|
if((strlen(str)-1)>0){
|
||||||
short offs=-1;
|
short offs=-1;
|
||||||
|
File diff suppressed because one or more lines are too long
@ -9976,7 +9976,7 @@ void unpackteg(structteg *tteg)
|
|||||||
int i;
|
int i;
|
||||||
elementteg *bazael;
|
elementteg *bazael;
|
||||||
structteg *newteg;
|
structteg *newteg;
|
||||||
int ssize=4,count; // fix by cppcheck
|
int ssize=0,count;
|
||||||
idrec *newrec,*ptr;
|
idrec *newrec,*ptr;
|
||||||
if(alignword){ //âűđîâí˙ňü íŕ ÷ĺňíűé ŕäđĺń
|
if(alignword){ //âűđîâí˙ňü íŕ ÷ĺňíűé ŕäđĺń
|
||||||
if(am32==0){
|
if(am32==0){
|
||||||
|
Loading…
Reference in New Issue
Block a user