home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turbo Toolbox
/
Turbo_Toolbox.iso
/
1991
/
04
/
txl
/
3_preis
/
fast
/
txl.dsk
(
.txt
)
< prev
next >
Wrap
Turbo C Context File
|
1991-01-15
|
15KB
|
492 lines
Turbo C Context File
TEXTBUF.C
SCAN.C
NEUUTIL.C
NEUBEF.C
MAININT.C
INTUTIL.C
INTGLOB.C
INTERP.C
INSPGLIN.C
IBEFEHLE.C
ERROR.C
TEXTBUF.C
SCAN.C
NEUUTIL.C
NEUBEF.C
MAININT.C
INTUTIL.C
INTGLOB.C
INTERP.C
INSPGLIN.C
IBEFEHLE.C
ERROR.C
C:\TC\BIN\*.*
E:*.*
C:*.*
A:*.C
C:\TC\AKTUELL\*.C
E:\TC\*.C
E:*.C
E:*.H
E:\INTERPRE\MERLE\*.H
E:\INTERPRE\MERLE\*.TXL
void *.c
void *.c
answer
detectgraph
getsign
Alles
alles
Answer
*.OBJ
E:\INTERPRE\MERLE\FAST\MAININT.C
E:\INTERPRE\MERLE\FAST\NEUUTIL.C
E:\INTERPRE\MERLE\FAST\INTERP.H
E:\INTERPRE\MERLE\FAST\SCAN.C
E:\INTERPRE\MERLE\FAST\INTPROT.H
E:\INTERPRE\MERLE\FAST\INTGLOB.C
E:\INTERPRE\MERLE\FAST\INTERP.C
E:\INTERPRE\MERLE\FAST\NEUBEF.C
E:\INTERPRE\MERLE\FAST\INTGLOB.C
E:\INTERPRE\MERLE\FAST\INTERP.H
E:\INTERPRE\MERLE\FAST\HILFE.TXL
E:\INTERPRE\MERLE\FAST\INTGLOB.C
E:\INTERPRE\MERLE\FAST\INTERP.C
E:\INTERPRE\MERLE\FAST\INTERP.C
E:\INTERPRE\MERLE\FAST\INTERP.C
E:\INTERPRE\MERLE\FAST\INTGLOB.C
E:\INTERPRE\MERLE\FAST\INTERP.H
E:\INTERPRE\MERLE\FAST\INTPROT.H
E:\INTERPRE\MERLE\FAST\NEUBEF.C
/void sinus(dword winkel);
//---- Funktions-Prototypen --------------------------------
//---- Funktions-Prototypen --------------------------------
void main()
//---- Funktions-Prototypen --------------------------------
;
SINUS
Autor: Ulrich Schmitz & toolbox 1990
Compiler: Turbo C++
EINGABE: 4-Byte Winkelwert
AUSGABE: Sinus (RAD) des Winkelwertes als DWORD
bzw. FLOAT-Wert
Funktion: Berechnet den Sinus zu einem vorgegebenen
Winkel.
;
SINUS
Autor: Ulrich Schmitz & toolbox 1990
Compiler: Turbo C++
AUFRUF: dword sinus(dword winkel);
EINGABE: 4-Byte Winkelwert.
CKGABE: Sinus (RAD) des Winkelwertes als DWORD
bzw. float oder long-Wert.
Funktion: Berechnet den Sinus zu einem vorgegebenen
Winkel.
;
COPROZESSOR
Autor: Ulrich Schmitz & toolbox 1990
Assembler: Microsoft Assembler ab Version 5.1
AUFRUF: byte coprozessor(void);
EINGABE: keine.
CKGABE: 0 --> kein Coprozessor vorhanden.
1 --> Coprozessor installiert.
Funktion: Pr
ber den BIOS-Interrupt 11h sowie
direkt, ob ein Coprozessor vorhanden ist.
byte coprozessor(void)
dword Testwert = 0x0F, Ergebnis; // Beliebiger Testwert
byte Coproz;
union REGS regs;
// Abfrage des Konfigurationsbytes
ber BIOS-Funktion 11h
int86(0x11, ®s, ®s);
Coproz = regs.h.al << 6;
Coproz = Coproz >> 7;
// Wenn BIOS-Test auf Coprozessor negativ direkter Test
// (siehe auch toolbox 10'90, Seite 80-81, 80x87 Init.)
if (!Coproz)
asm FINIT;
asm FLD Testwert;
asm FMUL ST,ST
asm FST Ergebnis;
if(Ergebnis == (Testwert*Testwert))
Coproz = 1;
else printf("\n Coprozessor wurde vom BIOS erkannt!\n");
return Coproz;
Taste
K
L
M
N
O
P
Q
R
S
T
Ctrl
250B
260C
320D
310E
180F
1910
1011
1312
1F13
1414
Alt
2500
2600
3200
3100
1800
1900
1000
1300
1F00
1400
Taste
K
L
M
N
O
P
Q
R
S
T
Ctrl
250B
260C
320D
310E
180F
1910
1011
1312
1F13
1414
Alt
2500
2600
3200
3100
1800
1900
1000
1300
1F00
1400
Taste
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
Ohne
3B00
3C00
3D00
3E00
3F00
4000
4100
4200
4300
4400
Shift
5400
5500
5600
5700
5800
5900
5A00
5B00
5C00
5D00
Ctrl
5E00
5F00
6000
6100
6200
6300
6400
6500
6600
6700
Alt
6800
6900
6A00
6B00
6C00
6D00
6E00
6F00
7000
7100
Taste
A
B
C
D
E
F
G
H
I
J
Ctrl
1E01
3002
2E03
2004
1205
2106
2207
2308
1709
240A
Alt
1E00
3000
2E00
2000
1200
2100
2200
2300
1700
2400
#pragma startup test();
#pragma exit test() 100;
char test(void)
printf("\nTest\");
getch();
#pragma option [optionen...]
Setzen Sie dieses Pragma ein, wenn Sie
Optionen f
r den Kommandozeilen-Compiler
gleich mit in den Quelltext aufnehmen wollen.
Folgende Optionen d
rfen nicht in dieser
Direktive verwendet werden:
-B -Ifff -Q
-c -Lfff -S
-dxxx -lxset -Uxxx
-Dxxx = ccc -M -V
-efff -o -Y
Die folgenden Kommandozeilen-Optionen k
nur vor #if, #ifdef, #ifndef und #elif
Direktiven und vor der ersten C oder C++
Deklaration stehen:
jede Flie
komma-Option au
er -ff
jede Speichermodell-Option
-Efff
-nddd
-offf
Diese Optionen beeinflussen den Compiler nur,
wenn sie zwischen Funktions- und anderen
Objekt-Deklarationen ge
ndert werden:
-1 -k -r
-2 -N -rd
-a -O -v
-ff -P -y
Die folgenden Optionen k
nnen zu jeder Zeit
ndert werden und wirken sich sofort aus:
-A -gn -wxxx
-C -jn
-d -K
Hinweis: -wxxx entspricht #pragma warn.
InsertText(/******* Anfang ******************************/\n);
/* ---------
--------------- SINUS -------------------------------------
- --------- -
- Autor: Ulrich Schmitz & toolbox 1990 -
- Compiler: Turbo C++ -
- AUFRUF: dword sinus(dword winkel); -
- EINGABE: 4-Byte Winkelwert. -
- R
CKGABE: Sinus (RAD) des Winkelwertes als dword -
- bzw. float oder long-Wert. -
- Funktion: Berechnet den Sinus zu einem vorgegebenen -
- Winkel. -
-----------------------------------------------------------
int m_print(char *Fname)
int m_installed (void)
int m_print(char *Fname)
int m_installed (void)
void SoundOn()
void MakeSound(unsigned SoundFreq)
void MakeSound(unsigned SoundFreq)
void SoundOff()
void Pause(int PZeit)
/****************************************************************/
/***** SoundOn *****/
/****************************************************************/
void SoundOn()
Save42 = inp(0x42);
Save43 = inp(0x43);
Save61 = inp(0x61);
outp(0x43, 182);
/****************************************************************/
/***** MakeSound *****/
/****************************************************************/
void MakeSound(unsigned SoundFreq)
outp(0x42, (unsigned char)(1193180 / SoundFreq) & 0xFF);
outp(0x42, (unsigned char)(((1193180 / SoundFreq) & 0xFF00) / 256) & 0xFF);
outp(0x61, inp(0x61) | 0x03);
/****************************************************************/
/***** NoNoise *****/
/****************************************************************/
void NoNoise()
outp(0x61, inp(0x61) & 0xFC);
/****************************************************************/
/***** SoundOff *****/
/****************************************************************/
void SoundOff()
outp(0x42, Save42);
outp(0x43, Save43);
outp(0x61, Save61);
/****************************************************************/
/***** Pause *****/
/****************************************************************/
void Pause(int PZeit)
delay(PZeit * 30);
void SoundOn()
void MakeSound(unsigned SoundFreq)
void MakeSound(unsigned SoundFreq)
void SoundOff()
void Pause(int PZeit)
switch (operand) {
case MULTIPLY: x *= y; break;
case DIVIDE: x /= y; break;
case ADD: x += y; break;
case SUBTRACT: x -= y; break;
case INCREMENT2: x++;
case INCREMENT1: x++; break;
case EXPONENT:
case ROOT:
case MOD: printf("Nichts berechnet!\n");
break;
default: printf("Fehler!\n");
exit(1);
union REGS inregs, outregs;
struct SREGS segregs;
XAdrArray = XArray;
crtpage[20][10].ch = 'A';
crtpage[20][10].at = 7;
WriteCharXY( 1, 2, 3, 4);
crtpage[1][1].ch = 'A';
WriteTextXY(55+4, 5+5, "demn
chst in");
union REGS inregs, outregs;
struct SREGS segregs;
int lw;
inregs.h.ah = 0x47; /* aktuelles Verzeichnis ermitteln */
inregs.h.dl = 0x00; /* aktuelles Laufwerk */
inregs.x.si = FP_OFF( directory ); /* Offset Puffer */
segregs.ds = FP_SEG( directory ); /* Segment Puffer */
(void) int86x( 0x21, &inregs, &outregs, &segregs );
union REGS regs;
regs.h.ah = 2; /* Subfunktion
Cursor
postionieren
regs.h.dh = y;
regs.h.dl = x;
regs.h.bh = 0; /* Videoseite Nr. 0 */
int86(VIDEO, ®s, ®s);
union REGS inregs, outregs;
struct SREGS segregs;
int lw;
inregs.h.ah = 0x47; /* aktuelles Verzeichnis ermitteln */
inregs.h.dl = 0x00; /* aktuelles Laufwerk */
inregs.x.si = FP_OFF( directory ); /* Offset Puffer */
segregs.ds = FP_SEG( directory ); /* Segment Puffer */
(void) int86x( 0x21, &inregs, &outregs, &segregs );
regs.h.ah = 2; /* Subfunktion
Cursor
postionieren
regs.h.dh = y;
regs.h.dl = x;
regs.h.bh = 0; /* Videoseite Nr. 0 */
int86(VIDEO, ®s, ®s);
union REGS regs;
regs.h.ah = 2; /* Subfunktion
Cursor
postionieren
regs.h.dh = y;
regs.h.dl = x;
regs.h.bh = 0; /* Videoseite Nr. 0 */
int86(VIDEO, ®s, ®s);
/*------------------------------------------------------ */
union REGS regs;
regs.h.ah = 2; /* Subfunktion
Cursor
postionieren
regs.h.dh = y;
regs.h.dl = x;
regs.h.bh = 0; /* Videoseite Nr. 0 */
int86(VIDEO, ®s, ®s);
/* ------------------------------------------------------ */
for (ende = len; ende > 0; ende-= n)
{
for ( i = 0; i < ende; i+= n )
z1 = String[i];
z2 = String[i+n];
if ( z1 > z2 )
{
strncpy( h_String, String+i+n, n);
strncpy( String+i+n, String+i, n);
strncpy( String+i, h_String, n);
}
}
/*----- Zweite Stufe, zweiter Buchstabe ebenfalls sortieren ----*/
for (ende = len; ende > 0; ende-= n)
{
for ( i = 0; i < ende; i+= n )
z1 = String[i];
z2 = String[i+n];
zz1 = String[i+1];
zz2 = String[i+n+1];
if ( (z1 == z2) && ( zz1 > zz2) )
{
strncpy( h_String, String+i+n, n);
strncpy( String+i+n, String+i, n);
strncpy( String+i, h_String, n);
}
}
an den DMV-Verlag
Bestellungen sind an den DMV-Verlag
/* ****************************************************
Erzeugt einen Piepton
int cpiep()
int i;
for (i=0; i<=1000; i++)
{
sound(i);
nosound();
delay(1);
}
return(OK);