Category : Recently Uploaded Files
Archive   : QMOD12.ZIP
Filename : QUINCY.MOD

 
Output of file : QUINCY.MOD contained in archive : QMOD12.ZIP
November 27, 1994

Some comments on compile / fix for Quincy 4.0.

GENERAL NOTES: If a register is NOT available to support a loop type
variable, then changing to a 'static' will give a
significant improvement in speed with a small increase
in memory requirements for the program. This improvement
is a result of the way the 80x86 processor addresses types
of data. This note applies to all programs on 80x86
processors.

Also, in most cases the use of a for loop is much slower
than a while or do{}while construct. This is due to the
manipulation overhead in the function. By using the -S
option of bcc, you can examine the resulting xxx.asm file
to see the actual code generated by the compiler.

Avoid loop constructs that include x+?, x-?, x*? or x/?,etc.
Try to use a register or static that preprocesses the value
on a one-time basis, or use << or >> to do appropriate
effective / or * operations. Some compiler optimizations
will do the same, but is dependant on commandline options and
the source construct.

Use the '-S' option for bcc/tcc to view the actual xxx.asm
output for your program. Study 80x86 assembler at least
enough to understand the effects of various source constructs.

If you don't understand the basics of assembler, you will
NOT be able to program effectively in low level languages
such as C, C++ or FORTH, etc.

Other compilers than bcc/tcc offer options to generate
xxx.asm files.

Remember the use of the 'register' declaration is considered
a suggestion by the compiler, if the registers are NOT
available the result will be SLOW stack manipulation code.
If you specify a 'static" the result will be known.

1. In the file preproc.c in function PreProcess():
comment out per below, this will allow source files that do NOT
have a newline at the end.

// if(Line[strlen(Line)-1] != '\n') 11-27-94
// error(LINETOOLONGERR); 11-27-94

CAUTION: This change may have unknown side-effects.

change *cp to static for speed.

2. When compiling dflatq.lib, you must first delete all *.obj in the
dflat directory or the qnc.exe link will fail.

3. You must move dflatq.bld and makefile.dfq to the dflat directory
and build dfltq.lib in that directory.

4. Function bypassWhite(), change **cp to register for speed.

5. Function ExtractWord(), change **cp to register for speed.

6. Add -w and -K to the parameters for bcc in makefile.qnc.
- better warning info and resolves signed/unsigned char problems.

7. Quincy and D-Flat 18 will NOT compile as C++ (i.e. -P) due to
declarations that conflict with reserved C++ keywords.
- Appropriate changes in declarations would allow -P compile.

lb neal
Tucson, AZ


  3 Responses to “Category : Recently Uploaded Files
Archive   : QMOD12.ZIP
Filename : QUINCY.MOD

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/