Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 7544 → Rev 7543

/programs/cmm/c--/manual_c--.htm
1,217 → 1,218
<html>
<head>
<title>Äîêóìåíòàöèÿ íà C--</title>
<HTML>
<HEAD><TITLE>Äîêóìåíòàöèÿ íà C--</TITLE></HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style>
body, a, pre {
font-family: 'Courier New', Courier, 'Lucida Sans Typewriter', 'Lucida Typewriter', monospace !important;
}
a {
color: #0000ff;
}
#contents a {
font-weight: bold;
text-decoration: none;
}
h1 {
color: #F000F0;
font-size: 200%;
}
h2 {
color: #f00;
font-size: 100%;
margin-bottom: 0;
}
</style>
</head>
<body LINK="#0000ff" VLINK="#800080">
<h1>Ñîäåðæàíèå</h1>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="1"></td>
<td width="1"></td>
<td width="100%">
<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td bgcolor="#000000"><img src="images/-.gif" width="1" height="1"></td></tr>
<tr><td><img src="images/-.gif" width="1" height="1"></td></tr>
<tr><td bgcolor="#000000"><img src="images/-.gif" width="1" height="1"></td></tr>
<tr><td align="middle" bgcolor="#008080">
<font color="#FFFFFF" face="Times New Roman" size=3>
<strong><em>Äîêóìåíòàöèÿ íà C--.</em></strong></font>
</td></tr>
<tr><td bgcolor="#000000"><img src="images/-.gif" width="1" height="1"></td></tr>
<tr><td><img src="images/-.gif" width="1" height="1"></td></tr>
<tr><td bgcolor="#000000"><img src="images/-.gif" width="1" height="1"></td></tr>
<td width="100%">
<BODY LINK="#0000ff" VLINK="#800080" background="images/sphinx6.jpg" bgproperties="fixed">
 
<A name=contents>
<p align="center"><font color="#F000F0" face="Times New Roman" size=5><strong>
Ñîäåðæàíèå.
</strong></font></p></a>
<pre>
<div id="contents">
<a href="#intro">1 Ââåäåíèå.
 
<B><FONT FACE="Courier" COLOR="#ff0000">
<A href="#intro" style="TEXT-DECORATION: none">1 Ââåäåíèå.
1.1 Èñòîðèÿ ñîçäàíèÿ è ðàçâèòèÿ.</A>
<a href="#1.2">1.2 ×òî òàêîå C--?</a>
<a href="#1.3">1.3 Êàê óñòàíîâèòü C--.</a>
<A href="#1.2" style="TEXT-DECORATION: none">1.2 ×òî òàêîå C--?</a>
<A href="#1.3" style="TEXT-DECORATION: none">1.3 Êàê óñòàíîâèòü C--.</a>
<A name=contents2>
<a href="#2.1">2. Óïðàâëåíèå êîìïèëÿöèåé.
<A href="#2.1" style="TEXT-DECORATION: none">2. Óïðàâëåíèå êîìïèëÿöèåé.
2.1 Ïàðàìåòðû êîìàíäíîé ñòðîêè êîìïèëÿòîðà C--.</a>
<a href="#2.1.1">2.1.1 /ON - Îïòèìèçàöèÿ ÷èñëîâûõ âûðàæåíèé.</a>
<a href="#2.1.2">2.1.2 /DE - Âðåìåííîå ðàñøèðåíèå ðàçðÿäíîñòè ïåðåìåííîé.</a>
<a href="#2.1.3">2.1.3 /ARGC - Àëüòåðíàòèâíûé îáðàáîò÷èê êîìàíäíîé ñòðîêè.</a>
<a href="#2.1.4">2.1.4 /OST - ñëèÿíèå îäèíàêîâûõ ñòðîêîâûõ êîíñòàíò.</a>
<a href="#2.1.5">2.1.5 /D - óñòàíîâêà èäåíòèôèêàòîðà â TRUE èç êîìàíäíîé ñòðîêè.</a>
<a href="#2.1.6">2.1.6 /IA - óïðîùåííûé ââîä àññåìáëåðíûõ èíñòðóêöèé.</a>
<a href="#2.1.7">2.1.7 /CRI - ïðîïóñê ïîâòîðíî âêëþ÷àåìîãî ôàéëà.</a>
<a href="#2.1.8">2.1.8 /IND - èìïîðò èìåí ïðîöåäóð èç DLL.</a>
<a href="#2.1.9">2.1.9 /WS - çàäàòü èìÿ stub ôàéëà äëÿ ïðîãðàìì ïîä windows.</a>
<a href="#2.1.10">2.1.10 /WBSS - ðàçìåñòèòü íå èíèöèàëèçèðîâàííûå äàííûå â îòäåëüíîé ñåêöèè.</a>
<a href="#2.1.11">2.1.11 /DBG - ñîçäàíèå îòëàäî÷íîé èíôîðìàöèè.</a>
<a href="#2.1.12">2.1.12 /J0 /J1 /J2.</a>
<a href="#2.1.13">2.1.13 /LST - Ñîçäàíèå àññåìáëåðíîãî ëèñòèíãà.</a>
<a href="#2.1.14">2.1.14 /ENV - Ñîõðàíåíèå àäðåñà ïåðåìåííûõ îêðóæåíèÿ.</a>
<a href="#2.1.15">2.1.15 /CPA - Î÷èñòêà post-îáëàñòè äàííûõ.</a>
<a href="#2.1.16">2.1.16 /W - âûâîä ïðåäóïðåæäåíèé.</a>
<a href="#2.1.17">2.1.17 /NW - Âûáîðî÷íîå îòêëþ÷åíèå òèïîâ ïðåäóïðåæäåíèé.</a>
<a href="#2.1.18">2.1.18 /WSI - êîðîòêàÿ òàáëèöà èìïîðòà.</a>
<a href="#2.2">2.2 Äèðåêòèâû òðàíñëÿòîðà.</a>
<a href="#2.2.1">2.2.1 ?ifdef/?ifndef</a>
<a href="#2.2.2">2.2.2 ?initallvar</a>
<a href="#2.2.3">2.2.3 ?usestartup</a>
<a href="#2.2.4">2.2.4 ?startusevar</a>
<a href="#2.2.5">2.2.5 ?atexit</a>
<a href="#2.2.6">2.2.6 ?startuptomain</a>
<a href="#2.2.7">2.2.7 ?undef</a>
<a href="#2.2.8">2.2.8 ?align è ?aligncode</a>
<a href="#2.2.9">2.2.9 ?pragma</a>
<A href="#2.1.1" style="TEXT-DECORATION: none">2.1.1 /ON - Îïòèìèçàöèÿ ÷èñëîâûõ âûðàæåíèé.</a>
<A href="#2.1.2" style="TEXT-DECORATION: none">2.1.2 /DE - Âðåìåííîå ðàñøèðåíèå ðàçðÿäíîñòè ïåðåìåííîé.</a>
<A href="#2.1.3" style="TEXT-DECORATION: none">2.1.3 /ARGC - Àëüòåðíàòèâíûé îáðàáîò÷èê êîìàíäíîé ñòðîêè.</a>
<A href="#2.1.4" style="TEXT-DECORATION: none">2.1.4 /OST - ñëèÿíèå îäèíàêîâûõ ñòðîêîâûõ êîíñòàíò.</a>
<A href="#2.1.5" style="TEXT-DECORATION: none">2.1.5 /D - óñòàíîâêà èäåíòèôèêàòîðà â TRUE èç êîìàíäíîé ñòðîêè.</a>
<A href="#2.1.6" style="TEXT-DECORATION: none">2.1.6 /IA - óïðîùåííûé ââîä àññåìáëåðíûõ èíñòðóêöèé.</a>
<A href="#2.1.7" style="TEXT-DECORATION: none">2.1.7 /CRI - ïðîïóñê ïîâòîðíî âêëþ÷àåìîãî ôàéëà.</a>
<A href="#2.1.8" style="TEXT-DECORATION: none">2.1.8 /IND - èìïîðò èìåí ïðîöåäóð èç DLL.</a>
<A href="#2.1.9" style="TEXT-DECORATION: none">2.1.9 /WS - çàäàòü èìÿ stub ôàéëà äëÿ ïðîãðàìì ïîä windows.</a>
<A href="#2.1.10" style="TEXT-DECORATION: none">2.1.10 /WBSS - ðàçìåñòèòü íå èíèöèàëèçèðîâàííûå äàííûå â îòäåëüíîé ñåêöèè.</a>
<A href="#2.1.11" style="TEXT-DECORATION: none">2.1.11 /DBG - ñîçäàíèå îòëàäî÷íîé èíôîðìàöèè.</a>
<A href="#2.1.12" style="TEXT-DECORATION: none">2.1.12 /J0 /J1 /J2.</a>
<A href="#2.1.13" style="TEXT-DECORATION: none">2.1.13 /LST - Ñîçäàíèå àññåìáëåðíîãî ëèñòèíãà.</a>
<A href="#2.1.14" style="TEXT-DECORATION: none">2.1.14 /ENV - Ñîõðàíåíèå àäðåñà ïåðåìåííûõ îêðóæåíèÿ.</a>
<A href="#2.1.15" style="TEXT-DECORATION: none">2.1.15 /CPA - Î÷èñòêà post-îáëàñòè äàííûõ.</a>
<A href="#2.1.16" style="TEXT-DECORATION: none">2.1.16 /W - âûâîä ïðåäóïðåæäåíèé.</a>
<A href="#2.1.17" style="TEXT-DECORATION: none">2.1.17 /NW - Âûáîðî÷íîå îòêëþ÷åíèå òèïîâ ïðåäóïðåæäåíèé.</a>
<A href="#2.1.18" style="TEXT-DECORATION: none">2.1.18 /WSI - êîðîòêàÿ òàáëèöà èìïîðòà.</a>
<A href="#2.2" style="TEXT-DECORATION: none">2.2 Äèðåêòèâû òðàíñëÿòîðà.</a>
<A href="#2.2.1" style="TEXT-DECORATION: none">2.2.1 ?ifdef/?ifndef</a>
<A href="#2.2.2" style="TEXT-DECORATION: none">2.2.2 ?initallvar</a>
<A href="#2.2.3" style="TEXT-DECORATION: none">2.2.3 ?usestartup</a>
<A href="#2.2.4" style="TEXT-DECORATION: none">2.2.4 ?startusevar</a>
<A href="#2.2.5" style="TEXT-DECORATION: none">2.2.5 ?atexit</a>
<A href="#2.2.6" style="TEXT-DECORATION: none">2.2.6 ?startuptomain</a>
<A href="#2.2.7" style="TEXT-DECORATION: none">2.2.7 ?undef</a>
<A href="#2.2.8" style="TEXT-DECORATION: none">2.2.8 ?align è ?aligncode</a>
<A href="#2.2.9" style="TEXT-DECORATION: none">2.2.9 ?pragma</a>
<A name=contents3>
<a href="#3.1">3. Êîíñòàíòû.
<A href="#3.1" style="TEXT-DECORATION: none">3. Êîíñòàíòû.
3.1 ×èñëîâûå êîíñòàíòû.</a>
<a href="#3.2">3.2 Ñèìâîëüíûå êîíñòàíòû.</a>
<a href="#3.3">3.3 Ñòðîêîâûå êîíñòàíòû.</a>
<a href="#3.4">3.4 Ïîñòîÿííûå âûðàæåíèÿ.</a>
<A href="#3.2" style="TEXT-DECORATION: none">3.2 Ñèìâîëüíûå êîíñòàíòû.</a>
<A href="#3.3" style="TEXT-DECORATION: none">3.3 Ñòðîêîâûå êîíñòàíòû.</a>
<A href="#3.4" style="TEXT-DECORATION: none">3.4 Ïîñòîÿííûå âûðàæåíèÿ.</a>
<A name=contents4>
<a href="#4.1">4. Âûðàæåíèÿ.
<A href="#4.1" style="TEXT-DECORATION: none">4. Âûðàæåíèÿ.
4.1 Òèïû âûðàæåíèé.</a>
<a href="#4.2">4.2 Âûðàæåíèÿ òèïà EAX/AX/AL.</a>
<a href="#4.3">4.3 Âûðàæåíèÿ èñïîëüçóþùèå ïîëó÷àòåëü ïðè âû÷èñëåíèè âûðàæåíèÿ.</a>
<a href="#4.4">4.4 Íå - EAX/AX/AL âûðàæåíèÿ.</a>
<a href="#4.5">4.5 Óñëîâíûå âûðàæåíèÿ.</a>
<a href="#4.5.1">4.5.1 Ïðîñòûå óñëîâíûå âûðàæåíèÿ.</a>
<a href="#4.5.2">4.5.2 Ñëîæíûå óñëîâíûå âûðàæåíèÿ.</a>
<a href="#4.6">4.6 Èçìåíåíèå òèïà âûðàæåíèÿ ïðè ïðèñâàèâàíèè.</a>
<a href="#4.7">4.7 Âû÷èñëåíèå â ðåãèñòðû EAX/AX/AL ñî çíàêîì.</a>
<A href="#4.2" style="TEXT-DECORATION: none">4.2 Âûðàæåíèÿ òèïà EAX/AX/AL.</a>
<A href="#4.3" style="TEXT-DECORATION: none">4.3 Âûðàæåíèÿ èñïîëüçóþùèå ïîëó÷àòåëü ïðè âû÷èñëåíèè âûðàæåíèÿ.</a>
<A href="#4.4" style="TEXT-DECORATION: none">4.4 Íå - EAX/AX/AL âûðàæåíèÿ.</a>
<A href="#4.5" style="TEXT-DECORATION: none">4.5 Óñëîâíûå âûðàæåíèÿ.</a>
<A href="#4.5.1" style="TEXT-DECORATION: none">4.5.1 Ïðîñòûå óñëîâíûå âûðàæåíèÿ.</a>
<A href="#4.5.2" style="TEXT-DECORATION: none">4.5.2 Ñëîæíûå óñëîâíûå âûðàæåíèÿ.</a>
<A href="#4.6" style="TEXT-DECORATION: none">4.6 Èçìåíåíèå òèïà âûðàæåíèÿ ïðè ïðèñâàèâàíèè.</a>
<A href="#4.7" style="TEXT-DECORATION: none">4.7 Âû÷èñëåíèå â ðåãèñòðû EAX/AX/AL ñî çíàêîì.</a>
<A name=contents5>
<a href="#5.1">5. Èäåíòèôèêàòîðû.
<A href="#5.1" style="TEXT-DECORATION: none">5. Èäåíòèôèêàòîðû.
5.1 Ôîðìàò èäåíòèôèêàòîðà.</a>
<a href="#5.2">5.2 Çàðåçåðâèðîâàííûå èäåíòèôèêàòîðû.</a>
<a href="#5.3">5.3 Óíèâåðñàëüíûå ðåãèñòðû äëÿ 16 è 32-áèòíîãî ðåæèìà.</a>
<a href="#5.4">5.4 Ïðåäîïðåäåëåííûå èäåíòèôèêàòîðû.</a>
<A href="#5.2" style="TEXT-DECORATION: none">5.2 Çàðåçåðâèðîâàííûå èäåíòèôèêàòîðû.</a>
<A href="#5.3" style="TEXT-DECORATION: none">5.3 Óíèâåðñàëüíûå ðåãèñòðû äëÿ 16 è 32-áèòíîãî ðåæèìà.</a>
<A href="#5.4" style="TEXT-DECORATION: none">5.4 Ïðåäîïðåäåëåííûå èäåíòèôèêàòîðû.</a>
<A name=contents6>
<a href="#6.1">6. Ïåðåìåííûå.
<A href="#6.1" style="TEXT-DECORATION: none">6. Ïåðåìåííûå.
6.1 Òèïû ïåðåìåííûõ.</a>
<a href="#6.2">6.2 Îáúÿâëåíèå ïåðåìåííûõ.</a>
<a href="#6.3">6.3 Ãëîáàëüíûå ïåðåìåííûå.</a>
<a href="#6.4">6.4 Ëîêàëüíûå ïåðåìåííûå.</a>
<a href="#6.5">6.5 Äèíàìè÷åñêèå ïåðåìåííûå è ñòðóêòóðû.</a>
<a href="#6.6">6.6 Ïðèñâàèâàíèå îäíîãî çíà÷åíèÿ íåñêîëüêèì ïåðåìåííûì.</a>
<a href="#6.7.1">6.7 Ïåðåìåííûå òèïà float.
<A href="#6.2" style="TEXT-DECORATION: none">6.2 Îáúÿâëåíèå ïåðåìåííûõ.</a>
<A href="#6.3" style="TEXT-DECORATION: none">6.3 Ãëîáàëüíûå ïåðåìåííûå.</a>
<A href="#6.4" style="TEXT-DECORATION: none">6.4 Ëîêàëüíûå ïåðåìåííûå.</a>
<A href="#6.5" style="TEXT-DECORATION: none">6.5 Äèíàìè÷åñêèå ïåðåìåííûå è ñòðóêòóðû.</a>
<A href="#6.6" style="TEXT-DECORATION: none">6.6 Ïðèñâàèâàíèå îäíîãî çíà÷åíèÿ íåñêîëüêèì ïåðåìåííûì.</a>
<A href="#6.7.1" style="TEXT-DECORATION: none">6.7 Ïåðåìåííûå òèïà float.
6.7.1 Ôîðìàò ïåðåìåííûõ òèïà float.</a>
<a href="#6.7.2">6.7.2 Êîíñòàíòû ñ ïëàâàþùåé òî÷êîé.</a>
<a href="#6.7.3">6.7.3 Äèàïàçîí äîïóñòèìûõ çíà÷åíèé.</a>
<a href="#6.7.4">6.7.4 Ìàòåìàòè÷åñêèå îïåðàöèè.</a>
<a href="#6.7.5">6.7.5 Ïðåîáðàçîâàíèÿ òèïîâ.</a>
<a href="#6.7.6">6.7.6 Îïåðàöèè ñðàâíåíèÿ.</a>
<a href="#6.7.7">6.7.7 Ñðàâíåíèå ïåðåìåííûõ òèïà float ñ 32-áèòíûì ðåãèñòðîì.</a>
<a href="#6.8">6.8 Óêàçàòåëè.</a>
<A href="#6.7.2" style="TEXT-DECORATION: none">6.7.2 Êîíñòàíòû ñ ïëàâàþùåé òî÷êîé.</a>
<A href="#6.7.3" style="TEXT-DECORATION: none">6.7.3 Äèàïàçîí äîïóñòèìûõ çíà÷åíèé.</a>
<A href="#6.7.4" style="TEXT-DECORATION: none">6.7.4 Ìàòåìàòè÷åñêèå îïåðàöèè.</a>
<A href="#6.7.5" style="TEXT-DECORATION: none">6.7.5 Ïðåîáðàçîâàíèÿ òèïîâ.</a>
<A href="#6.7.6" style="TEXT-DECORATION: none">6.7.6 Îïåðàöèè ñðàâíåíèÿ.</a>
<A href="#6.7.7" style="TEXT-DECORATION: none">6.7.7 Ñðàâíåíèå ïåðåìåííûõ òèïà float ñ 32-áèòíûì ðåãèñòðîì.</a>
<A href="#6.8" style="TEXT-DECORATION: none">6.8 Óêàçàòåëè.</a>
<A name=contents7>
<a href="#7.1">7. Àäðåñàöèÿ.
<A href="#7.1" style="TEXT-DECORATION: none">7. Àäðåñàöèÿ.
7.1 Îòíîñèòåëüíàÿ àäðåñàöèÿ.</a>
<a href="#7.2">7.2 Àáñîëþòíàÿ àäðåñàöèÿ.</a>
<A href="#7.2" style="TEXT-DECORATION: none">7.2 Àáñîëþòíàÿ àäðåñàöèÿ.</a>
<A name=contents8>
<a href="#8.1.1">8. Ðàáîòà ñ áëîêàìè äàííûõ.
<A href="#8.1.1" style="TEXT-DECORATION: none">8. Ðàáîòà ñ áëîêàìè äàííûõ.
8.1 Ñòðóêòóðû.
8.1.1 ×òî òàêîå ñòðóêòóðû.</a>
<a href="#8.1.2">8.1.2 Ñèíòàêñèñ.</a>
<a href="#8.1.3">8.1.3 Èíèöèàëèçàöèÿ ñòðóêòóð ïðè îáúÿâëåíèè.</a>
<a href="#8.1.4">8.1.4 Èíèöèàëèçàöèÿ ñòðóêòóðû ïðè âûïîëíåíèè ïðîãðàììû.</a>
<a href="#8.1.5">8.1.5 Îïåðàöèè ñ ýëåìåíòàìè ñòðóêòóð.</a>
<a href="#8.1.6">8.1.6 Âëîæåííûå ñòðóêòóðû.</a>
<a href="#8.1.7">8.1.7 Îòîáðàæåíèå òåãà ñòðóêòóðû íà áëîê ïàìÿòè.</a>
<a href="#8.1.8">8.1.8 Áèòîâûå ïîëÿ ñòðóêòóð.</a>
<a href="#8.2">8.2 Îáúåäèíåíèÿ.</a>
<a href="#8.3">8.3 Êîìàíäû FROM è EXTRACT.</a>
<A href="#8.1.2" style="TEXT-DECORATION: none">8.1.2 Ñèíòàêñèñ.</a>
<A href="#8.1.3" style="TEXT-DECORATION: none">8.1.3 Èíèöèàëèçàöèÿ ñòðóêòóð ïðè îáúÿâëåíèè.</a>
<A href="#8.1.4" style="TEXT-DECORATION: none">8.1.4 Èíèöèàëèçàöèÿ ñòðóêòóðû ïðè âûïîëíåíèè ïðîãðàììû.</a>
<A href="#8.1.5" style="TEXT-DECORATION: none">8.1.5 Îïåðàöèè ñ ýëåìåíòàìè ñòðóêòóð.</a>
<A href="#8.1.6" style="TEXT-DECORATION: none">8.1.6 Âëîæåííûå ñòðóêòóðû.</a>
<A href="#8.1.7" style="TEXT-DECORATION: none">8.1.7 Îòîáðàæåíèå òåãà ñòðóêòóðû íà áëîê ïàìÿòè.</a>
<A href="#8.1.8" style="TEXT-DECORATION: none">8.1.8 Áèòîâûå ïîëÿ ñòðóêòóð.</a>
<A href="#8.2" style="TEXT-DECORATION: none">8.2 Îáúåäèíåíèÿ.</a>
<A href="#8.3" style="TEXT-DECORATION: none">8.3 Êîìàíäû FROM è EXTRACT.</a>
<A name=contents9>
<a href="#9.1">9. Îïåðàòîðû.
<A href="#9.1" style="TEXT-DECORATION: none">9. Îïåðàòîðû.
9.1 Óñëîâíûå èíñòðóêöèè.</a>
<a href="#9.2">9.2 Öèêëû do{} while.</a>
<a href="#9.3">9.3 Öèêëû loop, LOOPNZ, loopnz.</a>
<a href="#9.4">9.4 Öèêë while, WHILE.</a>
<a href="#9.5">9.5 Öèêë for, FOR.</a>
<a href="#9.6">9.6 Îïåðàòîð ïåðåêëþ÷àòåëü switch.</a>
<a href="#9.7">9.7 Îïåðàòîð ïåðåõîäà goto, GOTO.</a>
<a href="#9.8">9.8 Îïåðàòîð ðàçðûâà break, BREAK.</a>
<a href="#9.9">9.9 Îïåðàòîð ïðîäîëæåíèÿ continue, CONTINUE.</a>
<a href="#9.10">9.10 Ëîãè÷åñêîå îáúåäèíåíèå óñëîâèé.</a>
<a href="#9.11">9.11 Ïåðåõîä ÷åðåç öèêëû.</a>
<a href="#9.12">9.12 Èíâåðòèðîâàíèå ôëàãà ïðîâåðêè óñëîâèé.</a>
<a href="#9.13">9.13 Âû÷èñëåíèå âûðàæåíèÿ, à çàòåì ïðîâåðêà óñëîâèÿ.</a>
<a href="#9.14">9.14 Ïðîâåðêà áèòîâ ïðè îïåðàöèè ñðàâíåíèÿ.</a>
<a href="#9.15">9.15 Îïåðàòîð ïåðåñòàíîâêè.</a>
<a href="#9.16">9.16 Îïåðàòîð îòðèöàíèÿ.</a>
<a href="#9.17">9.17 Îïåðàòîð èíâåðñèè.</a>
<a href="#9.18">9.18 Ñïåöèàëüíûå óñëîâíûå âûðàæåíèÿ.</a>
<a href="#9.19">9.19 Ñèìâîë $ - âñòàâëÿåò òåêóùèé àäðåñ ïðîãðàììû.</a>
<a href="#9.20">9.20 Êëþ÷åâîå ñëîâî static è îïåðàòîð ::.</a>
<a href="#9.21">9.21 Îïåðàòîð sizeof.</a>
<a href="#9.22">9.22 Ìåòêè ïåðåõîäà.</a>
<A href="#9.2" style="TEXT-DECORATION: none">9.2 Öèêëû do{} while.</a>
<A href="#9.3" style="TEXT-DECORATION: none">9.3 Öèêëû loop, LOOPNZ, loopnz.</a>
<A href="#9.4" style="TEXT-DECORATION: none">9.4 Öèêë while, WHILE.</a>
<A href="#9.5" style="TEXT-DECORATION: none">9.5 Öèêë for, FOR.</a>
<A href="#9.6" style="TEXT-DECORATION: none">9.6 Îïåðàòîð ïåðåêëþ÷àòåëü switch.</a>
<A href="#9.7" style="TEXT-DECORATION: none">9.7 Îïåðàòîð ïåðåõîäà goto, GOTO.</a>
<A href="#9.8" style="TEXT-DECORATION: none">9.8 Îïåðàòîð ðàçðûâà break, BREAK.</a>
<A href="#9.9" style="TEXT-DECORATION: none">9.9 Îïåðàòîð ïðîäîëæåíèÿ continue, CONTINUE.</a>
<A href="#9.10" style="TEXT-DECORATION: none">9.10 Ëîãè÷åñêîå îáúåäèíåíèå óñëîâèé.</a>
<A href="#9.11" style="TEXT-DECORATION: none">9.11 Ïåðåõîä ÷åðåç öèêëû.</a>
<A href="#9.12" style="TEXT-DECORATION: none">9.12 Èíâåðòèðîâàíèå ôëàãà ïðîâåðêè óñëîâèé.</a>
<A href="#9.13" style="TEXT-DECORATION: none">9.13 Âû÷èñëåíèå âûðàæåíèÿ, à çàòåì ïðîâåðêà óñëîâèÿ.</a>
<A href="#9.14" style="TEXT-DECORATION: none">9.14 Ïðîâåðêà áèòîâ ïðè îïåðàöèè ñðàâíåíèÿ.</a>
<A href="#9.15" style="TEXT-DECORATION: none">9.15 Îïåðàòîð ïåðåñòàíîâêè.</a>
<A href="#9.16" style="TEXT-DECORATION: none">9.16 Îïåðàòîð îòðèöàíèÿ.</a>
<A href="#9.17" style="TEXT-DECORATION: none">9.17 Îïåðàòîð èíâåðñèè.</a>
<A href="#9.18" style="TEXT-DECORATION: none">9.18 Ñïåöèàëüíûå óñëîâíûå âûðàæåíèÿ.</a>
<A href="#9.19" style="TEXT-DECORATION: none">9.19 Ñèìâîë $ - âñòàâëÿåò òåêóùèé àäðåñ ïðîãðàììû.</a>
<A href="#9.20" style="TEXT-DECORATION: none">9.20 Êëþ÷åâîå ñëîâî static è îïåðàòîð ::.</a>
<A href="#9.21" style="TEXT-DECORATION: none">9.21 Îïåðàòîð sizeof.</a>
<A href="#9.22" style="TEXT-DECORATION: none">9.22 Ìåòêè ïåðåõîäà.</a>
<A name=contents10>
<a href="#10.1">10. Àññåìáëåð.
<A href="#10.1" style="TEXT-DECORATION: none">10. Àññåìáëåð.
10.1 Ïîääåðæêà êîìàíä àññåìáëåðà.</a>
<a href="#10.2">10.2 Êëþ÷åâîå ñëîâî asm.</a>
<a href="#10.3">10.3 Ïðåôèêñ dup - ïîâòîðåíèå èíñòðóêöèé DB/DW/DD.</a>
<a href="#10.4">10.4 Èíñòðóêöèè ïðîöåññîðà Pentium III.</a>
<A href="#10.2" style="TEXT-DECORATION: none">10.2 Êëþ÷åâîå ñëîâî asm.</a>
<A href="#10.3" style="TEXT-DECORATION: none">10.3 Ïðåôèêñ dup - ïîâòîðåíèå èíñòðóêöèé DB/DW/DD.</a>
<A href="#10.4" style="TEXT-DECORATION: none">10.4 Èíñòðóêöèè ïðîöåññîðà Pentium III.</a>
<A name=contents11>
<a href="#11.1">11. Ïðîöåäóðû.
<A href="#11.1" style="TEXT-DECORATION: none">11. Ïðîöåäóðû.
11.1 Òèïû ïðîöåäóð, ôóíêöèé è ìàêðîêîìàíä.</a>
<a href="#11.2">11.2 Ñòåêîâûå ïðîöåäóðû.</a>
<a href="#11.3">11.3 Ðåãèñòðîâûå ïðîöåäóðû.</a>
<a href="#11.4">11.4 Äèíàìè÷åñêèå ïðîöåäóðû.</a>
<a href="#11.4.1">11.4.1 Óñòàíîâêà äèíàìè÷åñêîé ïðîöåäóðû â îïðåäåëåííîå ìåñòî ïðîãðàììû.</a>
<a href="#11.5">11.5 inline-ïðîöåäóðû.</a>
<a href="#11.5.1">11.5.1 Äðóãîå ïðèìåíåíèå inline.</a>
<a href="#11.6">11.6 Ïðîöåäóðû îáðàáîòêè ïðåðûâàíèé.</a>
<a href="#11.7">11.7 Çàìåíà return íà goto.</a>
<a href="#11.8">11.8 Âîçâðàùàåìûå çíà÷åíèÿ.</a>
<a href="#11.9">11.9 Îáúÿâëåíèå ïàðàìåòðîâ â ðåãèñòðîâûõ ïðîöåäóðàõ.</a>
<a href="#11.10">11.10 Îáúÿâëåíèå ïàðàìåòðîâ â ñòåêîâûõ ïðîöåäóðàõ.</a>
<a href="#11.11">11.11 Èñïîëüçîâàíèå ìàêðîêîìàíä.</a>
<a href="#11.12">11.12 Ïåðåäà÷à ïàðàìåòðîâ â ñòåêîâûå ïðîöåäóðû ÷åðåç ðåãèñòðû.</a>
<a href="#11.13">11.13 Âûçîâ ïðîöåäóð ñ àäðåñîì â ðåãèñòðå.</a>
<a href="#11.14">11.14 Âñòîåííûå â êîìïèëÿòîð ïðîöåäóðû.</a>
<a href="#11.14.1">11.14.1 Ïðîöåäóðû ABORT, ATEXIT è EXIT.</a>
<a href="#11.14.2">11.14.2 Ïðîöåäóðû inp/inportb, inport, inportd, outp/outportb, outport è
<A href="#11.2" style="TEXT-DECORATION: none">11.2 Ñòåêîâûå ïðîöåäóðû.</a>
<A href="#11.3" style="TEXT-DECORATION: none">11.3 Ðåãèñòðîâûå ïðîöåäóðû.</a>
<A href="#11.4" style="TEXT-DECORATION: none">11.4 Äèíàìè÷åñêèå ïðîöåäóðû.</a>
<A href="#11.4.1" style="TEXT-DECORATION: none">11.4.1 Óñòàíîâêà äèíàìè÷åñêîé ïðîöåäóðû â îïðåäåëåííîå ìåñòî ïðîãðàììû.</a>
<A href="#11.5" style="TEXT-DECORATION: none">11.5 inline-ïðîöåäóðû.</a>
<A href="#11.5.1" style="TEXT-DECORATION: none">11.5.1 Äðóãîå ïðèìåíåíèå inline.</a>
<A href="#11.6" style="TEXT-DECORATION: none">11.6 Ïðîöåäóðû îáðàáîòêè ïðåðûâàíèé.</a>
<A href="#11.7" style="TEXT-DECORATION: none">11.7 Çàìåíà return íà goto.</a>
<A href="#11.8" style="TEXT-DECORATION: none">11.8 Âîçâðàùàåìûå çíà÷åíèÿ.</a>
<A href="#11.9" style="TEXT-DECORATION: none">11.9 Îáúÿâëåíèå ïàðàìåòðîâ â ðåãèñòðîâûõ ïðîöåäóðàõ.</a>
<A href="#11.10" style="TEXT-DECORATION: none">11.10 Îáúÿâëåíèå ïàðàìåòðîâ â ñòåêîâûõ ïðîöåäóðàõ.</a>
<A href="#11.11" style="TEXT-DECORATION: none">11.11 Èñïîëüçîâàíèå ìàêðîêîìàíä.</a>
<A href="#11.12" style="TEXT-DECORATION: none">11.12 Ïåðåäà÷à ïàðàìåòðîâ â ñòåêîâûå ïðîöåäóðû ÷åðåç ðåãèñòðû.</a>
<A href="#11.13" style="TEXT-DECORATION: none">11.13 Âûçîâ ïðîöåäóð ñ àäðåñîì â ðåãèñòðå.</a>
<A href="#11.14" style="TEXT-DECORATION: none">11.14 Âñòîåííûå â êîìïèëÿòîð ïðîöåäóðû.</a>
<A href="#11.14.1" style="TEXT-DECORATION: none">11.14.1 Ïðîöåäóðû ABORT, ATEXIT è EXIT.</a>
<A href="#11.14.2" style="TEXT-DECORATION: none">11.14.2 Ïðîöåäóðû inp/inportb, inport, inportd, outp/outportb, outport è
outportd.</a>
<a href="#11.14.3">11.14.3 Ïðîöåäóðû äëÿ ðàáîòû ñ âåùåñòâåííûìè ÷èñëàìè.</a>
<a href="#11.15.1">11.15 Êëàññû.
<A href="#11.14.3" style="TEXT-DECORATION: none">11.14.3 Ïðîöåäóðû äëÿ ðàáîòû ñ âåùåñòâåííûìè ÷èñëàìè.</a>
<A href="#11.15.1" style="TEXT-DECORATION: none">11.15 Êëàññû.
11.15.1 Îáúÿâëåíèå ïðîöåäóð â ñòðóêòóðàõ.</a>
<a href="#11.15.2">11.15.2 Íàñëåäîâàíèå.</a>
<a href="#11.15.3">11.15.3 Íàñëåäîâàíèå ïðîöåäóð.</a>
<A href="#11.15.2" style="TEXT-DECORATION: none">11.15.2 Íàñëåäîâàíèå.</a>
<A href="#11.15.3" style="TEXT-DECORATION: none">11.15.3 Íàñëåäîâàíèå ïðîöåäóð.</a>
<A name=contents12>
<a href="#12.1">12. Òèïû âûõîäíûõ ôàéëîâ.
<A href="#12.1" style="TEXT-DECORATION: none">12. Òèïû âûõîäíûõ ôàéëîâ.
12.1 Âûõîäíûå ôàéëû òèïà COM.</a>
<a href="#12.2">12.2 Âûõîäíûå ôàéëû òèïà EXE.</a>
<a href="#12.3">12.3 Âûõîäíîé ôàéë *.EXE ñ ìîäåëüþ ïàìÿòè tiny.</a>
<a href="#12.4">12.4 Îáúåêòíûé âûõîäíîé ôàéë OBJ.</a>
<a href="#12.5.1">12.5 COM ôàéë symbiosis.
<A href="#12.2" style="TEXT-DECORATION: none">12.2 Âûõîäíûå ôàéëû òèïà EXE.</a>
<A href="#12.3" style="TEXT-DECORATION: none">12.3 Âûõîäíîé ôàéë *.EXE ñ ìîäåëüþ ïàìÿòè tiny.</a>
<A href="#12.4" style="TEXT-DECORATION: none">12.4 Îáúåêòíûé âûõîäíîé ôàéë OBJ.</a>
<A href="#12.5.1" style="TEXT-DECORATION: none">12.5 COM ôàéë symbiosis.
12.5.1 ÑÈÌÁÈÎÇ - ÷òî ýòî òàêîå?</a>
<a href="#12.5.2">12.5.2 Êàê ýòî äåëàòü.</a>
<a href="#12.5.3">12.5.3 Èñïîëüçîâàíèå.</a>
<a href="#12.5.4">12.5.4 Çëîóïîòðåáëåíèÿ.</a>
<a href="#12.6">12.6 SYS - äðàéâåðû óñòðîéñòâ.</a>
<a href="#12.7">12.7 Êîìïèëÿöèÿ êîäà ðàñøèðèòåëåé ROM-BIOS.</a>
<a href="#12.8.1">12.8 32-áèòíûå ôàéëû.
<A href="#12.5.2" style="TEXT-DECORATION: none">12.5.2 Êàê ýòî äåëàòü.</a>
<A href="#12.5.3" style="TEXT-DECORATION: none">12.5.3 Èñïîëüçîâàíèå.</a>
<A href="#12.5.4" style="TEXT-DECORATION: none">12.5.4 Çëîóïîòðåáëåíèÿ.</a>
<A href="#12.6" style="TEXT-DECORATION: none">12.6 SYS - äðàéâåðû óñòðîéñòâ.</a>
<A href="#12.7" style="TEXT-DECORATION: none">12.7 Êîìïèëÿöèÿ êîäà ðàñøèðèòåëåé ROM-BIOS.</a>
<A href="#12.8.1" style="TEXT-DECORATION: none">12.8 32-áèòíûå ôàéëû.
12.8.1 32-áèòíûé êîä ïîä DOS.</a>
<a href="#12.8.2">12.8.2 32-áèòíûé êîä ïîä Windows.</a>
<a href="#12.8.3">12.8.3 Âûçîâ API ïðîöåäóð ïî îðäèíàëàì.</a>
<a href="#12.8.4">12.8.4 Ñîçäàíèå DLL ïîä Windows.</a>
<a href="#12.8.5">12.8.5 Èíèöèàëèçàöèÿ DLL ïðè çàãðóçêå.</a>
<a href="#12.8.6">12.8.6 Êîìïèëÿöèÿ ðåñóðñîâ.</a>
<a href="#12.9">12.9 Âûõîäíûå ôàéëû äëÿ MeOS.</a>
<A href="#12.8.2" style="TEXT-DECORATION: none">12.8.2 32-áèòíûé êîä ïîä Windows.</a>
<A href="#12.8.3" style="TEXT-DECORATION: none">12.8.3 Âûçîâ API ïðîöåäóð ïî îðäèíàëàì.</a>
<A href="#12.8.4" style="TEXT-DECORATION: none">12.8.4 Ñîçäàíèå DLL ïîä Windows.</a>
<A href="#12.8.5" style="TEXT-DECORATION: none">12.8.5 Èíèöèàëèçàöèÿ DLL ïðè çàãðóçêå.</a>
<A href="#12.8.6" style="TEXT-DECORATION: none">12.8.6 Êîìïèëÿöèÿ ðåñóðñîâ.</a>
<A href="#12.9" style="TEXT-DECORATION: none">12.9 Âûõîäíûå ôàéëû äëÿ MeOS.</a>
<A name=contents13>
<a href="#13.1">13. Ïðèëîæåíèÿ.
<A href="#13.1" style="TEXT-DECORATION: none">13. Ïðèëîæåíèÿ.
13.1 Ïîèñê âêëþ÷àåìûõ ôàéëîâ.</a>
<a href="#13.2">13.2 Ðåãèñòðû, êîòîðûå äîëæíû áûòü ñîõðàíåíû.</a>
<a href="#13.3">13.3 C--.ini ôàéë.</a>
<a href="#13.4">13.4 startup.h-- ôàéë.</a>
<a href="#13.5">13.5 mainlib.ldp ôàéë.</a>
<a href="#13.6">13.6 C-- ñèìâîëû.</a>
</div>
<A href="#13.2" style="TEXT-DECORATION: none">13.2 Ðåãèñòðû, êîòîðûå äîëæíû áûòü ñîõðàíåíû.</a>
<A href="#13.3" style="TEXT-DECORATION: none">13.3 C--.ini ôàéë.</a>
<A href="#13.4" style="TEXT-DECORATION: none">13.4 startup.h-- ôàéë.</a>
<A href="#13.5" style="TEXT-DECORATION: none">13.5 mainlib.ldp ôàéë.</a>
<A href="#13.6" style="TEXT-DECORATION: none">13.6 C-- ñèìâîëû.</a>
</FONT></B>
 
 
<h2 id=intro>1. Âñòóïëåíèå.
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=intro>1. Âñòóïëåíèå.
 
1.1 Èñòîðèÿ ñîçäàíèÿ è ðàçâèòèÿ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Àâòîðîì ÿçûêà SPHINX C-- ÿâëÿåòñÿ Peter Cellik (CANADA). Ïîñëåäíÿÿ
àâòîðñêàÿ âåðñèÿ SPHINX C-- v0.203 îò 28.Oct.96. Ê ñîæàëåíèþ àâòîð
250,12 → 251,12
ïðåäëîæåíèå áóäåò öåííûì (íà ìîé âçãëÿä, òàê ÷òî Âàì ïðèäåòñÿ ñâîå
ïðåäëîæåíèå õîðîøî àðãóìåíòèðîâàòü) è åãî áóäåò âîçìîæíûì ðåàëèçîâàòü, îíî
áåç ñîìíåíèÿ íàéäåò ìåñòî â êîìïèëÿòîðå.
<a href="#contents"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=1.2>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=1.2>
1.2 ×òî òàêîå C--?
</h2>
</A></B></FONT><FONT FACE="Courier">
 
C-- áûë ðàçðàáîòàí, äëÿ òîãî ÷òîáû ñòðîèòü ìàëåíüêèå è áûñòðûå
ïðîãðàììû. Ýòî íàèáîëåå ïîäõîäèò äëÿ ñîçäàíèÿ ðåçèäåíòíûõ ïðîãðàìì (TSR),
279,12 → 280,12
C-- ðàçðàáîòàí òîëüêî äëÿ èñïîëüçîâàíèÿ íà êîìïüþòåðàõ ñ ïðîöåññîðàìè
ñîâìåñòèìûìè ñ ñåìåéñòâîì 80x86. Êîìïèëÿòîð ìîæåò ðàáîòàòü òîëüêî ñ
îïåðàöèîííûìè ñèñòåìàìè DOS è ñåìåéñòâîì Windows.
<a href="#contents"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=1.3>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=1.3>
1.3 Êàê óñòàíîâèòü C--.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Êîìïèëÿòîðó C-- äëÿ ðàáîòû íóæíû ñîâñåì íåçíà÷èòåëüíûå ðåñóðñû:
ïðîöåññîð 386 èëè ëó÷øå, ÷óòü áîëåå 1 Ìá äèñêîâîãî ïðîñòðàíñòâà è 4Ìá
319,14 → 320,14
êîìïèëÿòîðà íåò. Ñóùåñòâóåò íåñêîëüêî äðóãèõ ñïîñîáîâ, óêàçàòü êîìïèëÿòîðó
ìåñòî ðàñïîëîæåíèÿ áèáëèîòåê. Ïîýòîìó îïðåäåëÿòü èëè íå îïðåäåëÿòü
ïåðåìåííóþ îêðóæåíèÿ äåëî âàøåãî âêóñà è ïðèâû÷åê.
<a href="#contents"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.1>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.1>
2. Óïðàâëåíèå êîìïèëÿöèåé.
 
2.1 Ïàðàìåòðû êîìàíäíîé ñòðîêè êîìïèëÿòîðà C--.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ôîðìàò êîìàíäíîé ñòðîêè âûçîâà êîìïèëÿòîðà C--:
 
497,12 → 498,12
 
Ïàðàìåòðû êîìàíäíîé ñòðîêè ìîæíî ïèñàòü êàê áîëüøèìè, òàê è
ìàëåíüêèìè áóêâàìè.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.1.1>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.1.1>
2.1.1 /ON - Îïòèìèçàöèÿ ÷èñëîâûõ âûðàæåíèé.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ïðè âêëþ÷åíèè â êîìàíäíóþ ñòðîêó îïöèè <b>/ON</b> èëè â ôàéë C--.INI ñòðî÷êè
<b>ON</b>, êîìïèëÿòîð áóäåò àíàëèçèðîâàòü îïåðàöèè íàä ÷èñëàìè è ãäå ýòî
542,12 → 543,12
AX = AX / 16;
AX = AX * 16;
var = AX;
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.1.2>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.1.2>
2.1.2 /DE - Âðåìåííîå ðàñøèðåíèå ðàçðÿäíîñòè ïåðåìåííîé.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Êàê èçâåñòíî, ïîñëå óìíîæåíèÿ ìîæåò ïðîèçîéòè ïåðåïîëíåíèå, ò.å
ðàçðÿäíîñòü ðåçóëüòàòà ìîæåò ïðåâûñèòü ðàçðÿäíîñòü èñõîäíûõ îïåðàíäîâ è
571,12 → 572,12
åñëè çíà÷åíèÿ ïåðåìåííûõ b = 0xC000, c = 0x1000, d=0x10, ïîñëå çàïóñêà
òàêàÿ ïðîãðàììà çàâèñíåò ñ ñîîáùåíèåì î òîì, ÷òî ïðîèçîøëî ïåðåïîëíåíèå
ïðè äåëåíèè.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.1.3>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.1.3>
2.1.3 /ARGC - Àëüòåðíàòèâíûé îáðàáîò÷èê êîìàíäíîé ñòðîêè.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Îòëè÷èå ýòîãî îáðàáîò÷èêà êîìàíäíîé ñòðîêè îò <b>parsecommandline</b>
çàêëþ÷àåòñÿ â òîì, ÷òî ïðè âûçîâå <b>PARAMSTR(0)</b>; Âû ïîëó÷èòå àäðåñ ñòðîêè â
588,12 → 589,12
Àëüòåðíàòèâíûé îáðàáîò÷èê êîìàíäíîé ñòðîêè âêëþ÷àåòñÿ äèðåêòèâîé
<b>?argc TRUE</b> èëè èç êîìàíäíîé ñòðîêè êîìïèëÿòîðà êëþ÷îì <b>/argc</b> èëè
ñòðî÷êîé <b>argc</b> â ôàéëå C--.INI.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.1.4>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.1.4>
2.1.4 /OST - ñëèÿíèå îäèíàêîâûõ ñòðîêîâûõ êîíñòàíò.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Åñëè ýòîò ðåæèì îïòèìèçàöèè áóäåò àêòèâèçèðîâàí, òî êîìïèëÿòîð áóäåò
çàïîìèíàòü âñå ñòðîêîâûå êîíñòàíòû è ïðè îáíàðóæåíèè îäèíàêîâûõ â êîä
620,12 → 621,12
Âêëþ÷àåòñÿ ýòîò ðåæèì îïòèìèçàöèè ëèáî ñ êîìàíäíîé ñòðîêè <b>/ost</b>, ëèáî
äèðåêòèâîé <b>#pragma option ost</b>, ëèáî ñòðîêîé â ôàéëå c--.ini - <b>ost</b>.
Îòêëþ÷èòü, âêëþ÷åííûé ðàíåå, ýòîò ðåæèì ìîæíî äèðåêòèâîé <b>#pragma option ost-</b>.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.1.5>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.1.5>
2.1.5 /D - óñòàíîâêà èäåíòèôèêàòîðà â TRUE èç êîìàíäíîé ñòðîêè.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Åñëè Âû íàïèñàëè ïðîãðàììó, êîòîðàÿ ìîæåò êîìïèëèðîâàòüñÿ ïî ðàçíîìó,
â çàâèñèìîñòè îò ñîñòîÿíèÿ íåêîòîðûõ èäåíòèôèêàòîðîâ (èñïîëüçóåòñÿ ðåæèì
635,12 → 636,12
ïðîãðàììû.
 
Èäåíòèôèêàòîð ââîäèòñÿ ñ êîìàíäíîé ñòðîêè êëþ÷îì <b>/d=idname</b>.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.1.6>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.1.6>
2.1.6 /IA - óïðîùåííûé ââîä àññåìáëåðíûõ èíñòðóêöèé.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ñòàëî âîçìîæíûì èñïîëüçîâàòü àññåìáëåðíûå èíñòðóêöèè áåç ïðåôèêñà <b>$</b>
è âíå áëîêà <b>asm</b>. Ýòîò ðåæèì âêëþ÷àåòñÿ: ñ êîìàíäíîé ñòðîêè îïöèåé <b>/ia</b>;
651,12 → 652,12
êà÷åñòâå èìåí ïåðåìåííûõ èëè ïðîöåäóð. Àññåìáëåðíûå èíñòðóêöèè êîìïèëÿòîð
ðàñïîçíàåò íåçàâèñèìî îò òîãî, íàïèñàíû îíè ìàëåíüêèìè èëè áîëüøèìè
áóêâàìè.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.1.7>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.1.7>
2.1.7 /CRI - ïðîïóñê ïîâòîðíî âêëþ÷àåìîãî ôàéëà.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
×àùå âñåãî, ïîâòîðíî âêëþ÷àòü ôàéë â êîìïèëèðóåìûé ïðîåêò, íåò
íåîáõîäèìîñòè, íî ýòî èíîãäà ïðîèñõîäèò èç-çà òîãî, ÷òî íåêîòîðûå
670,12 → 671,12
<b>/cri-</b>, êîòîðàÿ çàïðåùàåò êîìïèëÿòîðó äåëàòü ïðîâåðêó íà ïîâòîðíîå
âêëþ÷åíèå. Ñîîòâåòñòâåííî, äëÿ c--.ini ôàéëà, ýòî ìîæíî ñäåëàòü ñòðîêîé
<b>cri-</b> èëè äèðåêòèâîé â êîìïèëèðóåìîì ôàéëå - <b>#pragma option cri-</b>.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.1.8>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.1.8>
2.1.8 /IND - èìïîðò èìåí ïðîöåäóð èç DLL.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Åñëè Âû õîòèòå â ñâîåé ïðîãðàììå èñïîëüçîâàòü DLL, äëÿ êîòîðîé íåò
çàãîëîâî÷íîãî ôàéëà ñ îïèñàíèåì ïðîöåäóð, òî êîìïèëÿòîð ìîæåò
691,12 → 692,12
êîíòðîëèðîâàòü ÷èñëî ïàðàìåòðîâ ïåðåäàâàåìûõ ïðîöåäóðå. È, ê ñîæàëåíèþ,
êîìïèëÿòîð óìååò èìïîðòèðîâàòü èìåíà èç áèáëèîòåê èìåþùèõ òîëüêî ôîðìàò
PE-ôàéëà.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.1.9>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.1.9>
2.1.9 /WS - çàäàòü èìÿ stub ôàéëà äëÿ ïðîãðàìì ïîä windows.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Êàê èçâåñòíî, â ïðîãðàììàõ ïîä windows åñòü DOS çàãëóøêà, íàçûâàåìàÿ
stub, êîòîðîé ïåðåäàåòñÿ óïðàâëåíèå ïðè çàïóñêå òàêîé ïðîãðàììû â ÷èñòîì
710,12 → 711,12
 
Òàêèì îáðàçîì, ó Âàñ ïîÿâèëàñü âîçìîæíîñòü ñîçäàâàòü ïðîãðàììû,
ðàáîòàþùèå è ïîä DOS è ïîä windows.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.1.10>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.1.10>
2.1.10 /WBSS - ðàçìåñòèòü íå èíèöèàëèçèðîâàííûå äàííûå â îòäåëüíîé ñåêöèè.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ñåêöèÿ <b>.bss</b> ñîçäàåòñÿ àâòîìàòè÷åñêè ïðè êîìïèëÿöèè ïðîãðàìì ñ êëþ÷îì
<b>/w32</b>. Åñëè Âû õîòèòå èìåòü ýòó ñåêöèþ è ïðè êîìïèëÿöèè ïðîãðàìì ñ
727,12 → 728,12
ôàéëà. Òåîðåòè÷åñêè, äëÿ ïðîöåññîðîâ, ó êîòîðûõ åñòü îòäåëüíûé êýø äëÿ
äàííûõ, èñïîëüçîâàíèå ñåêöèè <b>.bss</b>, äîëæíî ïîâûøàòü ñêîðîñòü ðàáîòû
ïðîãðàììû.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.1.11>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.1.11>
2.1.11 /DBG - ñîçäàíèå îòëàäî÷íîé èíôîðìàöèè.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Åñëè ïðè êîìïèëÿöèè ïðîãðàììû â êîìàíäíóþ ñòðîêó äîáàâèòü êëþ÷ <b>/dbg</b>,
èëè â ôàéë êîíôèãóðàöèè c--.ini äîáàâèòü ñòðîêó <b>dbg</b>, òî êîìïèëÿòîð ïîñëå
756,12 → 757,12
äåëàòü. Åñëè Âû çíàåòå, êàê ñîçäàâàòü 32-áèòíûå ïðîãðàììû ñ
DOS-ðàñøèðèòåëåì êîìïèëÿòîðàìè ôèðìû Borland ñ âêëþ÷åíèåì â íèõ îòëàäî÷íîé
èíôîðìàöèè, òî ðàññêàæèòå ìíå. À ÿ ïîïðîáóþ ïðèìåíèòü ýòî äëÿ C--.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.1.12>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.1.12>
2.1.12 /J0 /J1 /J2
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ñèíîíèìîì êëþ÷åé <b>/J0 /J1 /J2</b> ÿâëÿåòñÿ äèðåêòèâà <b>#jumptomain</b> ñ
ïàðàìåòðàìè <b>NONE, SHORT è NEAR</b> ñîîòâåòñòâåííî.
810,12 → 811,12
{
...
}
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.1.13>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.1.13>
2.1.13 /LST - Ñîçäàíèå àññåìáëåðíîãî ëèñòèíãà.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ñ ïîìîùüþ äîïîëíèòåëüíîé îïöèè êîìàíäíîé ñòðîêè <b>-lst</b> Âû ìîæåòå
ïîëó÷èòü âìåñòå ñ èñïîëíèòåëüíûì ôàéëîì è åãî àññåìáëåðíûé ëèñòèíã.
824,12 → 825,12
 
Àññåìáëåðíûé ëèñòèíã ñîçäàåòñÿ íåçàâèñèìîé îò êîìïèëÿòîðà ÷àñòüþ êîäà
ñ èñïîëüçîâàíèåì èíôîðìàöèè íàêàïëèâàåìîé ïðè êîìïèëÿöèè ïðîãðàììû.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.1.14>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.1.14>
2.1.14 /ENV - Ñîõðàíåíèå àäðåñà ïåðåìåííûõ îêðóæåíèÿ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Åñëè ïðè êîìïèëÿöèè ïðîãðàììû Âû â êîìàíäíóþ ñòðîêó äîáàâèòå îïöèþ
<b>-ENV</b> èëè â ôàéë c--.ini ñòðîêà <b>ENV</b>, òî êîìïèëÿòîð äîáàâèò â âàøó
837,12 → 838,12
àäðåñ ïåðåìåííûõ îêðóæåíèÿ çàïóñêàåìîé ïðîãðàììû. Äëÿ ïðîãðàìì ïîä
Windows ýòî áóäåò ïîëíûé àäðåñ, à äëÿ îñòàëüíûõ â ýòîé ïåðåìåííîé áóäåò
ñîõðàíÿòüñÿ òîëüêî àäðåñ ñåãìåíòà.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.1.15>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.1.15>
2.1.15 /CPA - Î÷èñòêà post-îáëàñòè äàííûõ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ïåðåìåííûå, êîòîðûì â òåëå ïðîãðàììû íå áûëî ïðèñâîåíî íèêàêîå
çíà÷åíèå, íå âêëþ÷àþòñÿ â òåëî ñêîìïèëèðîâàííîé ïðîãðàììû. Äëÿ íèõ
852,12 → 853,12
Åñëè Âàì íåîáõîäèìî, ÷òîáû íåèíèöèàëèçèðîâàííûå ïåðåìåííûå ïðè
çàãðóçêå ïðîãðàììû âñåãäà ñîäåðæàëè îäíî è òîæå çíà÷åíèå (íîëü) -
âêëþ÷èòå â êîìàíäíóþ ñòðîêó îïöèþ <b>-CPA</b>.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.1.16>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.1.16>
2.1.16 /W - âûâîä ïðåäóïðåæäåíèé.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ïî óìîë÷àíèþ êîìïèëÿòîð íå âûâîäèò ïðåäóïðåæäåíèÿ è ìíîãèå äàæå íå
ïîäîçðåâàþò î ñóùåñòâîâàíèè òàêîé ïîëåçíîé îïöèè. Â C-- ïðåäóïðåæäåíèÿ
878,12 → 879,12
wf=warning
 
Âû áóäåòå ïîëó÷àòü â ôàéëå <b>warning</b> ïðåäóïðåæäåíèÿ.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.1.17>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.1.17>
2.1.17 /NW - Âûáîðî÷íîå îòêëþ÷åíèå òèïîâ ïðåäóïðåæäåíèé.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ñåé÷àñ êîìïèëÿòîð ìîæåò âûäàâàòü 12 òèïîâ ïðåäóïðåæäåíèé è, èíîãäà èõ
áûâàåò òàê ìíîãî, ÷òî ñòàíîâèòñÿ òðóäíî â íèõ îðèåíòèðîâàòüñÿ. Òåïåðü
904,12 → 905,12
10 - Return flag was destroyed
11 - Code may not be executable
12 - Don't use local/parametric values in inline procedures
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.1.18>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.1.18>
2.1.18 /WSI - êîðîòêàÿ òàáëèöà èìïîðòà.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Òàáëèöà èìïîðòà îáû÷íî ñîñòîèò â ñâîþ î÷åðåäü èç ÷åòûðåõ òàáëèö. Äâå
òàáëèöû <b>LookUp Table</b> è <b>Import Address Table</b> àáñîëþòíî îäèíàêîâû.
919,12 → 920,12
òîëüêî <b>Import Address Table</b>). Òåì ñàìûì ó Âàñ ïîëó÷èòñÿ áîëåå êîìïàêòíàÿ
òàáëèöà èìïîðòà, ÷òî ïðèâåäåò, â íåêîòîðûõ ñëó÷àÿõ, ê ñîçäàíèþ áîëåå
êîìïàêòíîãî âûõîäíîãî ôàéëà.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.2>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.2>
2.2 Äèðåêòèâû òðàíñëÿòîðà.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
C-- íå ñîäåðæèò ïðåïðîöåññîð. Òåì íå ìåíåå, åñòü íåñêîëüêî ôóíêöèé
î÷åíü ïîõîæèõ íà ôóíêöèè C ïðåïðîöåññîðà.
1128,12 → 1129,12
<b>? usestartup</b> ðàçðåøàåò êîìïèëÿòîðó èñïîëüçîâàòü ÿ÷åéêè
ïàìÿòè, çàíèìàåìûå êîäîì íà÷àëüíîé
èíèöèàëèçàöèè ïðîãðàììû.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.2.1>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.2.1>
2.2.1 ?ifdef/?ifndef
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ðàíåå äèðåêòèâà <b>?ifdef</b> ñðàáàòûâàëà íà íàëè÷èå êîíñòàíòû íåçàâèñèìî
îò çíà÷åíèÿ åå âåëè÷èíû, à äèðåêòèâà <b>?ifndef</b> ñðàáàòûâàëà íà îòñóòñòâèå
1158,12 → 1159,12
 
Ýòà äèðåêòèâà ïîçâîëèò Âàì ïèñàòü îäíó ïðîöåäóðó äëÿ ðàçëè÷íûõ òèïîâ
CPU.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.2.2>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.2.2>
2.2.2 ?initallvar
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Äèðåêòèâîé <b>?initallvar TRUE</b> âêëþ÷àåòñÿ ðåæèì ïðè êîòîðîì âñåì
íåèíèöèàëèçèðîâàííûì ïåðåìåííûì áóäåò ïðèñâîåíî íóëåâîå çíà÷åíèå è îíè
1173,12 → 1174,12
 
Ïàðàìåòð FALSE ýòîé äèðåêòèâû îòêëþ÷àåò ýòîò ðåæèì.
Ïî óìîë÷àíèþ ýòà äèðåêòèâà óñòàíîâëåíà â FALSE.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.2.3>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.2.3>
2.2.3 ?usestartup
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Äèðåêòèâà <b>?usestartup</b> ðàçðåøàåò êîìïèëÿòîðó èñïîëüçîâàòü ÿ÷åéêè êîäà
íà÷àëüíîé èíèöèàëèçàöèè ïðîãðàììû (startup) äëÿ ïîñëåäóþùåãî ðàçìåùåíèÿ â
1187,12 → 1188,12
ðåçèäåíòíûõ.
 
Ýòó äèðåêòèâó ïðèìåíÿþò òîëüêî äëÿ ãåíåðàöèè *.COM ôàéëîâ.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.2.4>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.2.4>
2.2.4 ?startusevar
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Äèðåêòèâîé <b>?startusevar</b> ìîæíî óêàçàòü íà÷àëüíûé àäðåñ ñ êîòîðîãî
êîìïèëÿòîð áóäåò ðàñïðåäåëÿòü ïàìÿòü äëÿ íåèíèöèàëèçèðîâàííûõ ïåðåìåííûõ.
1202,12 → 1203,12
ðåçèäåíòíûõ, òàê è äëÿ îáû÷íûõ ïðîãðàìì.
 
Ýòó äèðåêòèâó ïðèìåíÿþò òîëüêî äëÿ ãåíåðàöèè *.COM ôàéëîâ.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.2.5>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.2.5>
2.2.5 ?atexit
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Äèðåêòèâà <b>?atexit</b> äîáàâëÿåò â startup ïðîãðàììû êîä ïîääåðæêè
ïðîöåäóðû <b>ATEXIT</b>, ðåçåðâèðóåò ìåñòî äëÿ õðàíåíèÿ 16 àäðåñîâ ïðîöåäóð è
1220,12 → 1221,12
 
Âñåãî ìîæíî çàðåãèñòðèðîâàòü äî 16 ïðîöåäóð. Ïðîöåäóðû âûçûâàþòñÿ â
ïîðÿäêå îáðàòíîì ïîðÿäêó èõ ðåãèñòðàöèè.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.2.6>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.2.6>
2.2.6 ?startuptomain
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ïî ýòîé äèðåêòèâå êîìïèëÿòîð â íà÷àëå ôàéëà äåëàåò <b>jmp</b> íà íà÷àëî
ïðîöåäóðû main(). Ïåðåä íà÷àëîì êîìïèëÿöèè ýòîé ïðîöåäóðû êîìïèëÿòîð
1235,22 → 1236,22
êîìïèëÿöèè ðåçèäåíòíûõ ïðîãðàìì (TSR).
 
Äèðåêòèâà ?startuptomain ðàáîòàåò òîëüêî ïðè êîìïèëÿöèè com-ôàéëîâ.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.2.7>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.2.7>
2.2.7 ?undef
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ýòà äèðåêòèâà óíè÷òîæàåò êîíñòàíòû îáúÿâëåííûå äèðåêòèâîé <b>?define</b>. Åå
ìîæíî ïðèìåíÿòü äëÿ èçìåíåíèÿ â ïðîöåññå êîìïèëÿöèè çíà÷åíèÿ êàêîé-íèáóäü
êîíñòàíòû.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.2.8>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.2.8>
2.2.8 ?align è ?aligncode
</h2>
</A></B></FONT><FONT FACE="Courier">
 
 C-- ñóùåñòâóåò äèðåêòèâà <b>?align</b>, êîòîðàÿ äåëàåò îäíîêðàòíîå
âûðàâíèâàíèå äàííûõ íà ÷åòíûé àäðåñ. Íî åñëè ê ýòîé äèðåêòèâå äîáàâèòü
1269,12 → 1270,12
äèðåêòèâó ìîæíî ïðèìåíÿòü è âíóòðè èñïîëíÿåìîãî êîäà. Íàïðèìåð, åñëè Âû
õîòèòå ïîëó÷èòü áûñòðûé êîä íà 486 ïðîöåññîðå, òî ðåêîìåíäóåòñÿ äåëàòü
âûðàâíèâàíèå íà÷àëà ïðîöåäóð è öèêëîâ íà àäðåñ êðàòíûé 16.
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=2.2.9>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=2.2.9>
2.2.9 ?pragma
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Äèðåêòèâà <b>#pragma</b> ýòî ìíîãîôóíêöèîíàëüíàëüíàÿ äèðåêòèâà, êîòîðàÿ â
ñâîþ î÷åðåäü èìååò ñâîè äèðåêòèâû:
1329,14 → 1330,14
END
 
#pragma resource end
<a href="#contents2"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents2" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=3.1>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=3.1>
3. Êîíñòàíòû.
 
3.1 ×èñëîâûå êîíñòàíòû.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ïðåäñòàâëåíèå ÷èñëîâûõ êîíñòàíò â âèäå äåñÿòè÷íûõ ÷èñåë (÷èñåë ñ
îñíîâàíèåì 10) è øåñòíàäöàòåðè÷íûõ ÷èñåë (îñíîâàíèå ñ÷èñëåíèÿ 16) ïîëíîñòüþ
1381,12 → 1382,12
 
Ýòè ñóôôèêñû íå çàâèñÿò îò ðåãèñòðà, ò.å. èõ ìîæíî ïèñàòü êàê
ìàëåíüêèìè, òàê è áîëüøèìè áóêâàìè.
<a href="#contents3"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents3" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=3.2>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=3.2>
3.2 Ñèìâîëüíûå êîíñòàíòû.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Îäèíî÷íûå ñèìâîëüíûå êîíñòàíòû, êàê è â <b>C</b>, äîëæíû çàêëþ÷àòüñÿ â
îäèíî÷íûå êàâû÷êè <b>'</b>.
1433,12 → 1434,12
ñèìâîëîâ. Äëÿ ìíîãîáóêâåííûõ ñèìâîëüíûõ êîíñòàíò ïåðâûé ñèìâîë
ñîîòâåòñòâóåò ñòàðøèì ðàçðÿäàì, òàêèì îáðàçîì, çíà÷åíèå äëÿ <b>ab</b> áóäåò
çàêîäèðîâàíî êàê <b>a*256+b</b>.
<a href="#contents3"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents3" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=3.3>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=3.3>
3.3 Ñòðîêîâûå êîíñòàíòû.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ñòðîêîâûå êîíñòàíòû, êàê è â C, çàêëþ÷àþòñÿ â äâîéíûå êàâû÷êè (").
Ñïåöèàëüíûå ñèìâîëû âíóòðè ñòðîê îáîçíà÷àþòñÿ òàê æå, êàê è â ñèìâîëüíûõ
1450,12 → 1451,12
 íàñòîÿùåå âðåìÿ íàèáîëüøàÿ äëèíà ñòðîêîâîé êîíñòàíòû - 2048 ñèìâîëîâ,
âêëþ÷àÿ ñèìâîë-îãðàíè÷èòåëü 0, òàêèì îáðàçîì, ìàêñèìóì 2047 çíà÷àùèõ
ñèìâîëîâ.
<a href="#contents3"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents3" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=3.4>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=3.4>
3.4 Ïîñòîÿííûå âûðàæåíèÿ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ïîñòîÿííîå âûðàæåíèå - îäèíî÷íàÿ ÷èñëîâàÿ êîíñòàíòà èëè íåñêîëüêî
÷èñëîâûõ êîíñòàíò, ñâÿçàííûõ ìåæäó ñîáîé îïåðàòîðàìè. ×èñëîâîå çíà÷åíèå
1473,25 → 1474,25
1 * 2 * 3 / 2 + 4 // ðàâíÿåòñÿ 7
Ïðèìåðû ñ ïðèìåíåíèåì âåùåñòâåííûõ ÷èñåë:
3.23*1.53+2.0E2 // ðàâíÿåòñÿ 204.9419
<a href="#contents3"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents3" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=4.1>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=4.1>
4. Âûðàæåíèÿ.
 
4.1 Òèïû âûðàæåíèé.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Èìåþòñÿ òðè òèïà âûðàæåíèé â C--, íå ñ÷èòàÿ ïîñòîÿííûõ âûðàæåíèé. Ýòî
âûðàæåíèÿ òèïà <b>EAX/AX/AL</b>, âûðàæåíèÿ òèïà <b>íåEAX/AX/AL</b> è óñëîâíûå âûðàæåíèÿ.
Âñå C-- âûðàæåíèÿ âû÷èñëÿþòñÿ ñëåâà íàïðàâî, íåçàâèñèìî îò ñòàðøèíñòâà
âõîäÿùèõ â âûðàæåíèå ìàòåìàòè÷åñêèõ îïåðàöèé.
<a href="#contents4"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents4" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=4.2>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=4.2>
4.2 Âûðàæåíèÿ òèïà EAX/AX/AL.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ýòîò òèï âûðàæåíèé ïðèìåíÿåòñÿ â ñëó÷àå, êîãäà åãî ðåçóëüòàò ìîæåò áûòü
ñîõðàíåí â ïåðåìåííîé â ïàìÿòè èëè â ðåãèñòðå <b>EAX</b> èëè <b>AX</b> èëè <b>AL</b>.
1504,12 → 1505,12
 
Åñëè ðåçóëüòàò ìîæåò áûòü ñîõðàíåí â ïåðåìåííûõ òèïà <b>dword, long</b> èëè
<b>float</b>, èñïîëüçóåòñÿ íîòàöèÿ <b>EAX</b>.
<a href="#contents4"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents4" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=4.3>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=4.3>
4.3 Âûðàæåíèÿ èñïîëüçóþùèå ïîëó÷àòåëü ïðè âû÷èñëåíèè âûðàæåíèÿ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Åñëè â ïðàâîé ÷àñòè âûðàæåíèÿ èñïîëüçóåòñÿ ïåðåìåííàÿ ÿâëÿþùàÿñÿ
îäíîâðåìåííî è ïðèåìíèêîì, òî òàêèå âûðàæåíèÿ äàþò ðàçëè÷íûå ðåçóëüòàòû â
1523,12 → 1524,12
var = BX = 2;
var = 3 + var; // ðåçóëüòàòîì áóäåò 5
BX = 3 + BX; // ðåçóëüòàòîì áóäåò 6
<a href="#contents4"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents4" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=4.4>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=4.4>
4.4 Íå - EAX/AX/AL âûðàæåíèÿ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ýòîò òèï âûðàæåíèé ïðèìåíÿåòñÿ â ñëó÷àå, êîãäà åãî ðåçóëüòàò äîëæåí
áûòü ñîõðàíåí â ëþáîì äðóãîì ðåãèñòðå, îòëè÷íîì îò àêêóìóëÿòîðà <b>EAX, AX</b>
1560,12 → 1561,12
÷èñëà: 0, 1, 2, 4, 8, 16, 32, 64 è 128. Âñå ýòè îãðàíè÷åíèÿ ñâÿçàíû ñî
ñòðåìëåíèåì íå ðàçðóøàòü äðóãèå ðåãèñòðû ïðè èñïîëüçîâàíèè <b>íå-EAX/AX/AL</b>
âûðàæåíèé.
<a href="#contents4"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents4" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=4.5>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=4.5>
4.5 Óñëîâíûå âûðàæåíèÿ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Óñëîâíûå âûðàæåíèÿ - âûðàæåíèÿ, ðåçóëüòàòîì âû÷èñëåíèÿ êîòîðûõ ÿâëÿåòñÿ
ëîãè÷åñêîå çíà÷åíèå äà èëè íåò, èñïîëüçóåìîå â îïåðàòîðå <b>if</b> è öèêëàõ <b>do {}</b>
1574,22 → 1575,22
Èìåþòñÿ äâà òèïà óñëîâíûõ âûðàæåíèé, ïðîñòûå è ñëîæíûå.
 
Âîçìîæíî ëîãè÷åñêîå îáúåäèíåíèå óñëîâèé.
<a href="#contents4"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents4" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=4.5.1>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=4.5.1>
4.5.1 Ïðîñòûå óñëîâíûå âûðàæåíèÿ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ïðîñòûå óñëîâíûå âûðàæåíèÿ - îäèíî÷íàÿ ëåêñåìà èëè âûðàæåíèå, êîòîðîå
ïðèìåò çíà÷åíèå äà, åñëè ðàñ÷åòíîå çíà÷åíèå îòëè÷íî îò íóëÿ, èëè çíà÷åíèå
íåò, åñëè ðàñ÷åòíîå çíà÷åíèå ðàâíî íóëþ.
<a href="#contents4"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents4" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=4.5.2>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=4.5.2>
4.5.2 Ñëîæíûå óñëîâíûå âûðàæåíèÿ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ñëîæíûå óñëîâíûå âûðàæåíèÿ èìåþò ñëåäóþùóþ ôîðìó:
 
1621,12 → 1622,12
(x+y >= x-y) // ïðàâàÿ ÷àñòü íå ÿâëÿåòñÿ îäèíî÷íîé ëåêñåìîé èëè
ïîñòîÿííûì âûðàæåíèåì.
(Z = y) // âìåñòî == îøèáî÷íî ïîñòàâëåí =
<a href="#contents4"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents4" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=4.6>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=4.6>
4.6 Èçìåíåíèå òèïà âûðàæåíèÿ ïðè ïðèñâàèâàíèè.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Åñëè ïîñëå çíàêà ðàâåíñòâà íàïèñàòü òèï îòëè÷íûé îò òèïà âû÷èñëÿåìîé
ïåðåìåííîé, òî âñå ïåðåìåííûå ó÷àñòâóþùèå â ïðîöåññå âû÷èñëåíèÿ, áóäóò
1648,12 → 1649,12
òî ïåðåìåííûå a, b, è c â ýòîì ïðèìåðå ïåðåä âû÷èñëåíèåì áóäóò
ïðåîáðàçîâàíû ê òèïó <b>long</b>, à êîíå÷íûé ðåçóëüòàò áóäåò ïðåîáðàçîâàí ê òèïó
ïåðåìåííîé i - <b>int</b>.
<a href="#contents4"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents4" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=4.7>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=4.7>
4.7 Âû÷èñëåíèå â ðåãèñòðû EAX/AX/AL ñî çíàêîì.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ïî óìîë÷àíèþ âñå âû÷èñëåíèÿ â ðåãèñòðû ïðîèçâîäÿòñÿ êàê ñ áåç çíàêîâûìè
âåëè÷èíàìè.
1673,14 → 1674,14
Îáðàùàþ âàøå âíèìàíèå, ÷òî äëÿ ðåãèñòðà <b>AL</b> ìîæíî èñïîëüçîâàòü òîëüêî
ìîäèôèêàòîð <b>char</b>, äëÿ <b>AX</b> ñîîòâåòñòâåííî òîëüêî <b>int</b>, à äëÿ <b>EAX - long</b>. Äëÿ
îñòàëüíûõ ðåãèñòðîâ ïîäîáíîå äåëàòü íåëüçÿ.
<a href="#contents4"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents4" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=5.1>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=5.1>
5. Èäåíòèôèêàòîðû.
 
5.1 Ôîðìàò èäåíòèôèêàòîðà.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Èäåíòèôèêàòîðû â C-- äîëæíû íà÷èíàòüñÿ èëè ñ ñèìâîëà ïîä÷åðêèâàíèÿ <b>_</b>
èëè çàãëàâíûõ èëè ñòðî÷íûõ áóêâ. Ñëåäóþùèå ñèìâîëû ìîãóò áûòü ëþáîé
1703,12 → 1704,12
/*äëèíà èäåíòèôèêàòîðà ïðåâûøàåò 64 */
Y_es sir /* ïðîáåëû íåäîïóñòèìû */
The-end /* äåôèñû íåäîïóñòèìû */
<a href="#contents5"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents5" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=5.2>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=5.2>
5.2 Çàðåçåðâèðîâàííûå èäåíòèôèêàòîðû.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ñïèñîê çàðåçåðâèðîâàííûõ â C-- èäåíòèôèêàòîðîâ, êîòîðûå íå ìîãóò
èñïîëüçîâàòüñÿ êàê îáùèå èäåíòèôèêàòîðû, ïîñêîëüêó îíè óæå áûëè îïðåäåëåíû
1777,12 → 1778,12
tr0 tr1 tr2 tr3 tr4 tr5 tr6 tr7
mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7
xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7
</b><a href="#contents5"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
</b><A href="#contents5" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=5.3>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=5.3>
5.3 Óíèâåðñàëüíûå ðåãèñòðû äëÿ 16 è 32-áèòíîãî ðåæèìà.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ïðè ñîçäàíèè áèáëèîòå÷íûõ ïðîöåäóð î÷åíü ÷àñòî ïðèõîäèòñÿ ïèñàòü
âàðèàíòû ïðîöåäóðû äëÿ ðàáîòû â 16-áèòíîì è 32-áèòíîì ðåæèìàõ, êîòîðûå
1798,12 → 1799,12
 
Èñïîëüçîâàíèå àâòîìàòè÷åñêèõ ðåãèñòðîâ ïîçâîëèò óïðîñòèòü áèáëèîòå÷íûå
ôàéëû è ñäåëàòü èõ áîëåå ïîíÿòíûìè.
<a href="#contents5"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents5" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=5.4>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=5.4>
5.4 Ïðåäîïðåäåëåííûå èäåíòèôèêàòîðû.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Èäåíòèôèêàòîðû, îïðåäåëÿåìûå êîìïèëÿòîðîì â çàâèñèìîñòè îò ðåæèìà
êîìïèëÿöèè:
1841,14 → 1842,14
óñëîâèé:
 
#ifdef cpu > 3 //åñëè òèï ïðîöåññîðà áîëüøå 80386
<a href="#contents5"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents5" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=6.1>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=6.1>
6. Ïåðåìåííûå.
 
6.1 Òèïû ïåðåìåííûõ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
 C-- èìååòñÿ ñåìü òèïîâ ïåðåìåííûõ (èìåíîâàííûõ îáëàñòåé ïàìÿòè), ýòî:
<b>byte, word, dword, char, int, long, float.</b>
1897,12 → 1898,12
òàêèå ñâîéñòâà òèïà <b>int</b> âíîñÿò íåêîòîðóþ ïóòàíèöó, íî ýòî äàåò áîëüøîé
âûèãðûø ïðè èñïîëüçîâàíèè ýòîãî òèïà â áèáëèîòå÷íûõ ôàéëàõ, êîòîðûå ìîãóò
áûòü èñïîëüçîâàíû ïðè êîìïèëÿöèè 16-áèòíûõ è 32-áèòíûõ ïðîãðàìì.
<a href="#contents6"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents6" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=6.2>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=6.2>
6.2 Îáúÿâëåíèå ïåðåìåííûõ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ñèíòàêñèñ äëÿ îáúÿâëåíèÿ ïåðåìåííûõ ñëåäóþùèé:
 
1939,12 → 1940,12
è ìàññèâ ñ èìåíåì x, ñîñòîÿùèé èç 27 ýëåìåíòîâ òèïà int */
long size=0; /* îáúÿâëåíà ïåðåìåííàÿ òèïà long ñ èìåíåì size è åé ïðèñâîåíî
çíà÷åíèå 0. */
<a href="#contents6"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents6" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=6.3>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=6.3>
6.3 Ãëîáàëüíûå ïåðåìåííûå.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ãëîáàëüíûå ïåðåìåííûå - ýòî ïåðåìåííûå, îáëàñòü äåéñòâèÿ êîòîðûõ
ðàñïðîñòðàíÿåòñÿ íà âñþ ïðîãðàììó. Â C-- èñïîëüçîâàòü ãëîáàëüíûå ïåðåìåííûå
1978,12 → 1979,12
çíà÷åíèå), òî ïåðåìåííàÿ áóäåò âêëþ÷åíà â êîä êîìïèëèðóåìîãî ôàéëà. Åñëè
ïåðåìåííàÿ íå èíèöèàëèçèðóåòñÿ, òî ìåñòî äëÿ ïåðåìåííîé áóäåò
çàðåçåðâèðîâàíî ñðàçó æå çà ïîñëåäíèì áàéòîì ñêîìïèëèðîâàííîé ïðîãðàììû.
<a href="#contents6"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents6" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=6.4>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=6.4>
6.4 Ëîêàëüíûå ïåðåìåííûå.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ëîêàëüíûå ïåðåìåííûå - ýòî ïåðåìåííûå îáëàñòü äåéñòâèÿ êîòîðûõ
ðàñïðîñòðàíÿåòñÿ ëèøü â ïðåäåëàõ îäíîé ïðîöåäóðû. Îáúÿâëÿòü ëîêàëüíûå
2020,12 → 2021,12
int locproc; // à íà ýòî îáúÿâëåíèå ïåðåìåííîé êîìïèëÿòîð âûäàñò ñîîáùåíèå
// îá îøèáêå, ò.ê. óæå íà÷àëîñü òåëî ïðîöåäóðû
}
<a href="#contents6"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents6" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=6.5>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=6.5>
6.5 Äèíàìè÷åñêèå ïåðåìåííûå è ñòðóêòóðû.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Íàðÿäó ñ óæå èçâåñòíûìè Âàì äèíàìè÷åñêèìè ïðîöåäóðàìè â C-- åñòü
âîçìîæíîñòü èñïîëüçîâàòü äèíàìè÷åñêè è ïåðåìåííûå è ñòðóêòóðû. Äèíàìè÷åñêèå
2046,12 → 2047,12
ðàñïîëîæåíû â åãî ñàìîì êîíöå, ïîñëå äèíàìè÷åñêèõ ïðîöåäóð. Ýòó èõ
îñîáåííîñòü ìîæíî èñïîëüçîâàòü, åñëè Âàì áóäåò íåîáõîäèìî, ÷òîáû äàííûå íå
áûëè ðàçáðîñàíû ñðåäè êîäà, à áûëè ñãðóïïèðîâàíû â îäíîì ìåñòå.
<a href="#contents6"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents6" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=6.6>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=6.6>
6.6 Ïðèñâàèâàíèå îäíîãî çíà÷åíèÿ íåñêîëüêèì ïåðåìåííûì.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Åñëè Âàì íåîáõîäèìî ïðèñâîèòü íåñêîëüêèì ïåðåìåííûì îäèíàêîâûå çíà÷åíèÿ:
 
2065,14 → 2066,14
 
Ïðè èñïîëüçîâàíèè òàêîé çàïèñè ãåíåðèðóåòñÿ áîëåå êîìïàêòíûé è áîëåå
áûñòðûé êîä.
<a href="#contents6"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents6" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=6.7.1>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=6.7.1>
6.7 Ïåðåìåííûå òèïà float.
 
6.7.1 Ôîðìàò ïåðåìåííûõ òèïà float.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Äëÿ ïðåäñòàâëåíèÿ çíà÷åíèé ñ ïëàâàþùåé òî÷êîé â ÿçûê C-- ââåäåí òèï
float. Ýòîìó òèïó ñîîòâåòñòâóåò äåéñòâèòåëüíîå ÷èñëî îäèíàðíîé òî÷íîñòè
2088,12 → 2089,12
| | | -------------- - ïîëå ìàíòèññû
| ------------------------ - ïîëå ïîðÿäêà
--------------------------- - áèò çíàêà
<a href="#contents6"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents6" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=6.7.2>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=6.7.2>
6.7.2 Êîíñòàíòû ñ ïëàâàþùåé òî÷êîé.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Êîìïèëÿòîð îòëè÷àåò âåùåñòâåííîå ÷èñëî îò öåëîãî ïî íàëè÷èþ â íåì
òî÷êè. Íà÷èíàòüñÿ âåùåñòâåííîå ÷èñëî äîëæíî ëèáî öèôðîé îò <b>0</b> äî <b>9</b>, ëèáî
2105,12 → 2106,12
-15.75
3.14e2
1.234567E-20
<a href="#contents6"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents6" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=6.7.3>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=6.7.3>
6.7.3 Äèàïàçîí äîïóñòèìûõ çíà÷åíèé.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Âåùåñòâåííîå ÷èñëî òèïà float ìîæåò íàõîäèòüñÿ â äèàïàçîíå îò 3.37E38
äî -3.37E38. Ìèíèìàëüíî áëèçêîå ê íóëþ çíà÷åíèå ðàâíÿåòñÿ 1.17E-38 è
2117,12 → 2118,12
-1.17E-38. Çàïèñûâàòü âåùåñòâåííîå ÷èñëî îäèíàðíîé òî÷íîñòè áîëåå ÷åì 8
öèôðàìè íå èìååò ñìûñëà. Ïîêàçàòåëü ñòåïåíè ìîæåò ïðèíèìàòü çíà÷åíèÿ îò
+38 äî -38.
<a href="#contents6"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents6" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=6.7.4>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=6.7.4>
6.7.4 Ìàòåìàòè÷åñêèå îïåðàöèè.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Êîìïèëÿòîð ïîääåðæèâàåò 4 îñíîâíûõ äåéñòâèÿ íàä ïåðåìåííûìè òèïà
float: ñëîæåíèå, âû÷èòàíèå, óìíîæåíèå è äåëåíèå. Ïîääåðæèâàåòñÿ òàêæå
2135,12 → 2136,12
 
<font color="Red"><b>ÂÍÈÌÀÍÈÅ! Ñîñòàâíûå ìàòåìàòè÷åñêèå îïåðàöèè âûïîëíÿþòñÿ â òîì
ïîðÿäêå, â êîòîðîì îíè çàïèñàíû, íåâçèðàÿ íà ïðàâèëà àðèôìåòèêè</b></font>.
<a href="#contents6"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents6" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=6.7.5>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=6.7.5>
6.7.5 Ïðåîáðàçîâàíèÿ òèïîâ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ïðè ìàòåìàòè÷åñêèõ îïåðàöèÿõ êîíå÷íûì èòîãîì êîòîðûõ ÿâëÿåòñÿ
ïåðåìåííàÿ òèïà <b>float</b>, âñå îïåðàíäû äðóãèõ òèïîâ ïåðåä âû÷èñëåíèåì áóäóò
2152,12 → 2153,12
ó÷àñòèå â âû÷èñëåíèÿõ. Ïðè ïðèñâàèâàíèè öåëî÷èñëåííîé ïåðåìåííîé çíà÷åíèÿ
ïåðåìåííîé òèïà <b>float</b>, èç íåå òàêæå áóäåò âûäåëåíà öåëàÿ ÷àñòü, êîòîðàÿ è
áóäåò ïðèñâîåíà öåëî÷èñëåííîé ïåðåìåííîé.
<a href="#contents6"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents6" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=6.7.6>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=6.7.6>
6.7.6 Îïåðàöèè ñðàâíåíèÿ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Åñëè ïðè îïåðàöèè ñðàâíåíèÿ ëåâûì îïåðàíäîì ÿâëÿåòñÿ ïåðåìåííàÿ èëè
âûðàæåíèå òèïà <b>float</b>, à ïðàâûì ÿâëÿåòñÿ öåëî÷èñëåííîå çíà÷åíèå, òî
2165,12 → 2166,12
ëåâûì îïåðàíäîì ÿâëÿåòñÿ öåëî÷èñëåííîå âûðàæåíèå èëè ïåðåìåííàÿ, à ïðàâûì
îïåðàíäîì çíà÷åíèå òèïà <b>float</b>, òî èç ïðàâîãî îïåðàíäà áóäåò âûäåëåíà öåëàÿ
÷àñòü, êîòîðàÿ è ïðèìåò ó÷àñòèå â ñðàâíåíèè.
<a href="#contents6"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents6" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=6.7.7>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=6.7.7>
6.7.7 Ñðàâíåíèå ïåðåìåííûõ òèïà float ñ 32-áèòíûì ðåãèñòðîì.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
 ðåãèñòðàõ ìîãóò ñîäåðæàòüñÿ çíàêîâûå, áåç çíàêîâûå è âåùåñòâåííûå
äàííûå. Ïî óìîë÷àíèþ ñ÷èòàåòñÿ, ÷òî â ðåãèñòðå íàõîäèòñÿ áåç çíàêîâîå öåëîå
2189,12 → 2190,12
 
<font color="Red"><b>ÂÍÈÌÀÍÈÅ! Ïðè îïåðàöèè ñðàâíåíèÿ ñ ó÷àñòèåì ïåðåìåíîé òèïà float,
ñîäåðæèìîå ðåãèñòðà AX áóäåò ðàçðóøåíî.</b></font>
<a href="#contents6"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents6" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=6.8>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=6.8>
6.8 Óêàçàòåëè.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
 C-- ñåé÷àñ óêàçàòåëè ðåàëèçîâàíû íå â ïîëíîì îáúåìå. Ïîýòîìó ìíîãèå
âåùè, êîòîðûå âîçìîæíû â îáû÷íûõ ÿçûêàõ <b>C</b>, çäåñü áóäóò íåäîñòóïíû.
2234,14 → 2235,14
èíèöèàëèçèðóåòñÿ óêàçàòåëü. Ò.å. Âû ìîæåòå óêàçàòåëþ íà <b>char</b> ïðèñâîèòü
óêàçàòåëü íà <b>int</b> èëè óêàçàòåëþ íà ïðîöåäóðó ïðèñâîèòü àäðåñ ïåðåìåííîé.
Ýòî ìîæåò âûçâàòü îøèáêó â ðàáîòå ïðîãðàììû.
<a href="#contents6"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents6" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=7.1>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=7.1>
7. Àäðåñàöèÿ.
 
7.1 Îòíîñèòåëüíàÿ àäðåñàöèÿ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Èçíà÷àëüíî èíäåêñíûé äîñòóï ê ýëåìåíòàì â ìàññèâàõ ëþáîãî òèïà â
êîìïèëÿòîðå îñóùåñòâëÿëñÿ ïîáàéòíî, íåçàâèñèìî îò îáúÿâëåííîãî òèïà äàííûõ.
2348,12 → 2349,12
÷èñëîâóþ êîíñòàíòó èëè ðåãèñòðû <b>BX,DI,SI,BP</b> êîìïèëÿòîð èñïîëüçóåò ýòè
çíà÷åíèÿ áåç èçìåíåíèÿ. Âî âñåõ äðóãèõ ñëó÷àÿõ áóäåò êîððåêöèÿ çíà÷åíèÿ â
çàâèñèìîñòè îò òèïà ìàññèâà.
<a href="#contents7"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents7" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=7.2>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=7.2>
7.2 Àáñîëþòíàÿ àäðåñàöèÿ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Àáñîëþòíàÿ àäðåñàöèÿ òàêæå âîçìîæíà. Äåéñòâóþò òå æå ñàìûå îãðàíè÷åíèÿ
íà èíäåêñû, ÷òî è ïðè îòíîñèòåëüíîé àäðåñàöèè.
2440,25 → 2441,25
 
Ñîõðàíèòü BX â ñåãìåíòå ñòåêà ïî ñìåùåíèþ 42:
SSWORD [42] = BX;
<a href="#contents7"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents7" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=8.1.1>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=8.1.1>
8. Ðàáîòà ñ áëîêàìè äàííûõ.
 
8.1 Ñòðóêòóðû.
 
8.1.1 ×òî òàêîå ñòðóêòóðû.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ñòðóêòóðà ïîçâîëÿåò îáúåäèíèòü â îäíîì îáúåêòå ñîâîêóïíîñòü çíà÷åíèé,
êîòîðûå ìîãóò èìåòü ðàçëè÷íûå òèïû.
<a href="#contents8"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents8" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=8.1.2>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=8.1.2>
8.1.2 Ñèíòàêñèñ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
struct [<òåã>] { <ñïèñîê-îáúÿâëåíèé-ýëåìåíòîâ> }
<îïèñàòåëü>[,<îïèñàòåëü>...];
2509,12 → 2510,12
<b>struct</b> ìîæíî íå ïèñàòü. Ò.å ìîæíî íàïèñàòü âîò òàê:
 
test dd;
<a href="#contents8"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents8" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=8.1.3>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=8.1.3>
8.1.3 Èíèöèàëèçàöèÿ ñòðóêòóð ïðè îáúÿâëåíèè.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ïîñëå îáúÿâëåíèÿ ñòðóêòóðû åå ýëåìåíòû ìîãóò ïðèíèìàòü ïðîèçâîëüíûå
çíà÷åíèÿ. ×òî áû ýòîãî íå áûëî íàäî ñòðóêòóðû ïðîèíèöèàëèçèðîâàòü.
2552,12 → 2553,12
 ýòîì ïðèìåðå íà ìåñòî ãäå ðàñïîëîæåíà ñòðóêòóðà dd ïðè êîìïèëÿöèè áóäåò
çàãðóæåí ôðàãìåíò èç ôàéëà <b>file.dat</b> äëèíîé 10 áàéò ñî ñìåùåíèÿ 24.
Íåäîñòàþùèå áàéòû áóäóò çàïîëíåíû íóëÿìè.
<a href="#contents8"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents8" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=8.1.4>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=8.1.4>
8.1.4 Èíèöèàëèçàöèÿ ñòðóêòóðû ïðè âûïîëíåíèè ïðîãðàììû.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ïðè âûïîëíåíèè ïðîãðàììû, êðîìå ïðèñâîåíèÿ êàæäîìó ýëåìåíòó ñòðóêòóðû
çíà÷åíèÿ, ìîæíî ïðîèíèöèàëèçèðîâàòü âñþ ñòðóêòóðó ïðèñâîåíèåì åé ÷èñëà èëè
2590,12 → 2591,12
 
Áóäåò ñêîïèðîâàíî ñîäåðæèìîå òðåòüåé ñòðóêòóðû ìàññèâà ñòðóêòóð aa â
ñòðóêòóðó rr.
<a href="#contents8"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents8" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=8.1.5>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=8.1.5>
8.1.5 Îïåðàöèè ñ ýëåìåíòàìè ñòðóêòóð.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ñ ýëåìåíòàìè ñòðóêòóð ìîæíî âûïîëíÿòü âñå òå îïåðàöèè, êîòîðûå
äîñòóïíû äëÿ ïåðåìåííûõ ñîîòâåòñòâóþùåãî òèïà. Íàïðèìåð: Îáúÿâëåíà
2640,12 → 2641,12
AX=sizeof(ss.bb); // ïîëó÷èòü ðàçìåð ýëåìåíòà <b>bb</b> â ñòðóêòóðå <b>ss</b>
AX=sizeof(BB.bb); // ïîëó÷èòü ðàçìåð ýëåìåíòà <b>bb</b> â òåãå <b>BB</b>
}
<a href="#contents8"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents8" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=8.1.6>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=8.1.6>
8.1.6 Âëîæåííûå ñòðóêòóðû.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ïðè îáúÿâëåíèè òåãîâ ñòðóêòóð ìîæíî èñïîëüçîâàòü òåãè äðóãèõ,
îáúÿâëåííûõ ðàíåå ñòðóêòóð. Ïðèìåð âëîæåííûõ ñòðóêòóð:
2695,12 → 2696,12
AX=second[2].first[j].a; //à ýòîò ñèíòàêñèñ äîïóñòèì.
AX=second[i].first[3].a;
}
<a href="#contents8"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents8" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=8.1.7>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=8.1.7>
8.1.7 Îòîáðàæåíèå òåãà ñòðóêòóðû íà áëîê ïàìÿòè.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Îòîáðàæåíèå òåãà ñòðóêòóðû íà áëîê ïàìÿòè ÿâëÿåòñÿ àëüòåðíàòèâîé
óêàçàòåëÿì íà ñòðóêòóðû.
2749,12 → 2750,12
ëîêàëüíûìè è ïàðàìåòðè÷åñêèìè ïåðåìåííûìè.  32-áèòíîì ðåæèìå ìîæíî
èñïîëüçîâàòü ëþáîé êðîìå <b>ESP è EBP</b> ðåãèñòð, à ðåãèñòðû <b>EDI è ESI</b> íàäî
èñïîëüçîâàòü îñòîðîæíî.
<a href="#contents8"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents8" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=8.1.8>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=8.1.8>
8.1.8 Áèòîâûå ïîëÿ ñòðóêòóð.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Áèòîâûå ïîëÿ ñòðóêòóð èñïîëüçóþòñÿ äëÿ ýêîíîìèè ïàìÿòè, ïîñêîëüêó
ïîçâîëÿþò ïëîòíî óïàêîâàòü çíà÷åíèÿ, è äëÿ îðãàíèçàöèè óäîáíîãî äîñòóïà ê
2793,12 → 2794,12
ïðèìåíåííûé ê áèòîâîìó ïîëþ âåðíåò ðàçìåð ýòîãî ïîëÿ â áèòàõ. Ïðè
èñïîëüçîâàíèè áèòîâîãî ïîëÿ, åãî ñîäåðæèìîå áóäåò ðàñøèðÿòñÿ â ðåãèñòð
êàê áåç çíàêîâîå öåëîå ÷èñëî.
<a href="#contents8"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents8" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=8.2>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=8.2>
8.2 Îáúåäèíåíèÿ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Îáúåäèíåíèÿ ïîçâîëÿþò â ðàçíûå ìîìåíòû âðåìåíè õðàíèòü â îäíîì îáúåêòå
çíà÷åíèÿ ðàçëè÷íîãî òèïà.
2836,12 → 2837,12
ýëåìåíò îáúåäèíåíèÿ. Åñëè æå ïåðâûé ýëåìåíò îáúåäèíåíèÿ íå èíèöèàëèçèðîâàí,
à ñëåäóþùèå ýëåìåíòû èíèöèàëèçèðîâàíû, òî ýòî âûçîâåò ñîîáùåíèå êîìïèëÿòîðà
îá îøèáêå.
<a href="#contents8"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents8" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=8.3>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=8.3>
8.3 Êîìàíäû 'FROM' è 'EXTRACT'.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
 C-- åñòü î÷åíü îðèãèíàëüíûå êîìàíäû, êîòîðûõ íåò â äðóãèõ ÿçûêàõ. Ýòî
<b>FROM è EXTRACT</b>.
2868,14 → 2869,14
 
byte LIT128 = EXTRACT "8X16.FNT", 16*128, 16;
byte LIT130 = EXTRACT "8X16.FNT", 16*130, 16;
<a href="#contents8"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents8" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=9.1>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=9.1>
9. Îïåðàòîðû.
 
9.1 Óñëîâíûå èíñòðóêöèè.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Óñëîâíûå èíñòðóêöèè, ïðè ïîìîùè êîòîðûõ îñóùåñòâëÿåòñÿ âåòâëåíèå, òàêèå
æå êàê â C.
2919,12 → 2920,12
 
Ýòî ìîæíî ïðîñòî èñïðàâèòü, çàìåíèâ â ýòîì ìåñòå èíñòðóêöèþ <b>ELSE</b> íà
<b>else</b>.
<a href="#contents9"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents9" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=9.2>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=9.2>
9.2 Öèêëû do{} while.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
 òàêîì öèêëå áëîê êîäà, ñîñòàâëÿþùèé òåëî öèêëà, áóäåò ïîâòîðÿòüñÿ,
ïîêà óñëîâíîå âûðàæåíèå èìååò çíà÷åíèå <b>èñòèííî</b>.
2943,12 → 2944,12
 
Óñëîâíîå âûðàæåíèå â <b>do {} while</b> èíñòðóêöèè äîëæíî ñîîòâåòñòâîâàòü òåì æå
ïðàâèëàì, ÷òî è â èíñòðóêöèÿõ <b>IF è if</b>.
<a href="#contents9"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents9" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=9.3>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=9.3>
9.3 Öèêëû loop, LOOPNZ, loopnz.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Öèêëû <b>loop</b> ïîâòîðÿþò áëîê êîäà, ïîêà îïðåäåëåííàÿ ïåðåìåííàÿ èëè
ðåãèñòð, âûïîëíÿþùèå ðîëü ñ÷åò÷èêà öèêëà, ñîäåðæàò çíà÷åíèå, îòëè÷íîå îò
3021,12 → 3022,12
ìàêñèìàëüíî ýôôåêòèâíûì ïðè îïòèìèçàöèè íà ðàçìåð êîäà, åñëè â êà÷åñòâå
ïàðàìåòðà-ñ÷åò÷èêà èñïîëüçóåòñÿ ðåãèñòð <b>CX/ECX</b>. Ïðè ýòîì êîìïèëÿòîð
èñïîëüçóåò àññåìáëåðíûå èíñòðóêöèè <b>JCXZ/JECXZ è LOOP</b>.
<a href="#contents9"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents9" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=9.4>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=9.4>
9.4 Öèêë while, WHILE.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ñèíòàêñèñ:
while(<âûðàæåíèå>)
3049,12 → 3050,12
 
WHILE (i < 20 ) @WRITEWORD(i); //öèêë ëèáî áóäåò áåñêîíå÷íûì ëèáî íå
//âûïîëíèòñÿ íè ðàçó
<a href="#contents9"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents9" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=9.5>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=9.5>
9.5 Öèêë for, FOR.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ñèíòàêñèñ:
for ([<íà÷àëüíîå âûðàæåíèå>]; [<óñëîâèå>]; [<ïðèðàùåíèå>])
3103,12 → 3104,12
ñêîáêè. Ïðèìåð:
 
for ( a=0 ; (a>=0) && (a<10) ; a++ ){...
<a href="#contents9"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents9" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=9.6>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=9.6>
9.6 Îïåðàòîð ïåðåêëþ÷àòåëü switch.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ñèíòàêñèñ:
switch(<âûðàæåíèå>){
3221,12 → 3222,12
 
Êðîìå òîãî, ÷òî íîâûé ôîðìàò çàïèñè áîëåå êîìïàêòåí è áîëåå ÷èòàáåëåí,
íî åùå ïðè ýòîì êîìïèëÿòîð ñîçäàåò áîëåå êîìïàêòíûé è áûñòðûé êîä.
<a href="#contents9"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents9" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=9.7>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=9.7>
9.7 Îïåðàòîð ïåðåõîäà goto, GOTO.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ñèíòàêñèñ:
goto <ìåòêà>;
3238,12 → 3239,12
Îïåðàòîð ïåðåõîäà <b>goto</b> ïåðåäàåò óïðàâëåíèå íà <b>îïåðàòîð</b> ïîìå÷åííûé
<b>ìåòêîé</b>. Àíàëîãîì â àññåìáëåðå îïåðàòîðó goto ÿâëÿåòñÿ êîìàíäà <b>jmp near</b>.
Àíàëîãîì â àññåìáëåðå îïåðàòîðó <b>GOTO</b> ÿâëÿåòñÿ êîìàíäà <b>jmp short</b>.
<a href="#contents9"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents9" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=9.8>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=9.8>
9.8 Îïåðàòîð ðàçðûâà break, BREAK.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Îïåðàòîð ðàçðûâà <b>break</b> ïðåðûâàåò âûïîëíåíèå îïåðàòîðîâ <b>do-while,
for, switch, while, loop, loopnz, LOOPNZ</b>. Îí ìîæåò ñîäåðæàòüñÿ
3261,12 → 3262,12
}
IF(i==10)BREAK;
}
<a href="#contents9"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents9" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=9.9>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=9.9>
9.9 Îïåðàòîð ïðîäîëæåíèÿ continue, CONTINUE.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Îïåðàòîð ïðîäîëæåíèÿ <b>continue</b> ïåðåäàåò óïðàâëåíèå íà ñëåäóþùóþ
èòåðàöèþ â öèêëàõ <b>do-while, for, while, loop, loopnz</b>. Â öèêëàõ
3278,12 → 3279,12
Îïåðàòîð <b>CONTINUE</b> àíàëîãè÷åí <b>continue</b>, íî ïðè ýòîì ãåíåðèðóåòñÿ êîä íà
1 áàéò êîðî÷å. Ðàçìåð ñãåíåðèðîâàííîãî êîäà îò ìåñòà ãäå ïðèìåíÿåòñÿ
<b>CONTINUE</b> äî íà÷àëà èòåðàöèè äîëæåí áûòü ìåíüøå 127 áàéò.
<a href="#contents9"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents9" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=9.10>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=9.10>
9.10 Ëîãè÷åñêîå îáúåäèíåíèå óñëîâèé.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ñóùåñòâóåò âîçìîæíîñòü ëîãè÷åñêîãî îáúåäèíåíèÿ ñðàâíåíèé â óñëîâèÿõ
<b>IF è if</b>, öèêëàõ <b>do{}while, while{}, WHILE{}, for{} è FOR{}</b>.
3301,12 → 3302,12
 
Ò.å. åñëè ïðîèçâåñòè ðàñøèôðîâêó ýòîãî óñëîâèÿ, òî ïîëó÷èòñÿ ñëåäóþùåå:
óñëîâèå âûïîëíèòñÿ åñëè a>3 è b>4 èëè a>3 è c<8.
<a href="#contents9"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents9" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=9.11>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=9.11>
9.11 Ïåðåõîä ÷åðåç öèêëû.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Äëÿ îïåðàòîðîâ <b>BREAK, break, CONTINUE, continue</b> ââåäåíà
ïîääåðæêà ÷èñëîâîãî ïàðàìåòðà, îïðåäåëÿþùåãî, ñêîëüêî öèêëîâ íàäî
3341,12 → 3342,12
Íó è ÿ íàäåþñü, Âàì ïîíÿòíî, ÷òî çíà÷åíèå ïàðàìåòðà íå ìîæåò ïðåâûøàòü
÷èñëà öèêëîâ íàõîäÿùèõñÿ ïåðåä òåêóùèì. Òàê äëÿ îäèíî÷íîãî öèêëà ýòîò
ïàðàìåòð ìîæåò ïðèíèìàòü ìàêñèìàëüíîå è åäèíñòâåííîå çíà÷åíèå - 0.
<a href="#contents9"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents9" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=9.12>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=9.12>
9.12 Èíâåðòèðîâàíèå ôëàãà ïðîâåðêè óñëîâèé.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Èíâåðòèðîâàíèå ôëàãà ïðîâåðêè óñëîâèé â îïåðàöèÿõ ñðàâíåíèÿ <b>if/IF
for/FOR while/WHILE</b> ïðîèñõîäèò ñ ïîìîùüþ ñèìâîëà <b>! - not</b>.
3357,12 → 3358,12
IF ( proc() == 0 )... è IF ( ! proc() ) ...
 
ÿâëÿþòñÿ ñèíîíèìàìè.
<a href="#contents9"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents9" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=9.13>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=9.13>
9.13 Âû÷èñëåíèå âûðàæåíèÿ, à çàòåì ïðîâåðêà óñëîâèÿ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
 îïåðàöèÿõ ñðàâíåíèÿ â ëåâîì îïåðàíäå òåïåðü äîïóñòèìî èñïîëüçîâàòü
âû÷èñëåíèÿ âûðàæåíèÿ ñ ïðèñâàèâàíèåì è îïåðàöèè èíêðåìåíòà, äåêðåìåíòà.
3376,12 → 3377,12
Âî âñåõ ýòèõ ïðèìåðàõ ñíà÷àëà ïðîèçîéäåò âû÷èñëåíèå âûðàæåíèÿ â ëåâîé
÷àñòè îïåðàöèè ñðàâíåíèÿ, à ïîòîì áóäåò ïðîèçâåäåíî ñðàâíåíèå ðåçóëüòàòà ñ
ïðàâîé ÷àñòüþ âûðàæåíèÿ ñðàâíåíèÿ.
<a href="#contents9"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents9" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=9.14>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=9.14>
9.14 Ïðîâåðêà áèòîâ ïðè îïåðàöèè ñðàâíåíèÿ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Åñëè â ëåâîé ÷àñòè âûðàæåíèÿ ñðàâíåíèÿ íàïèñàíî: BX & 5, òî ïðè
âû÷èñëåíèè âûðàæåíèÿ ñîäåðæèìîå ðåãèñòðà BX áóäåò èçìåíåíî èíñòðóêöèåé
3399,12 → 3400,12
IF ( ! $test AX,5)
IF ( asm test AX,5)
IF ( ! asm { test AX,5 } )
<a href="#contents9"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents9" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=9.15>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=9.15>
9.15 Îïåðàòîð ïåðåñòàíîâêè.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
 C-- åñòü îïåðàòîð, êîòîðûé íå âñòðå÷àåòñÿ â äðóãèõ ÿçûêàõ, ýòî
îïåðàòîð ïåðåñòàíîâêè. Îïåðàòîð ïåðåñòàíîâêè ìåíÿåò ìåñòàìè ñîäåðæèìîå äâóõ
3427,12 → 3428,12
ïàìÿòè, áóäåò ðàçðóøåíî ñîäåðæèìîå EAX.  ëþáîì äðóãîì ñëó÷àå, íàïðèìåð,
ìåæäó ïåðåìåííîé â ïàìÿòè è ðåãèñòðîì, çíà÷åíèÿ âñåõ ðåãèñòðîâ áóäóò
ñîõðàíåíû.
<a href="#contents9"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents9" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=9.16>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=9.16>
9.16 Îïåðàòîð îòðèöàíèÿ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
C-- ïîääåðæèâàåò áûñòðûé ñèíòàêñèñ ñìåíû çíàêà ïåðåìåííîé - îïåðàòîð
îòðèöàíèÿ. Ïîñòàâèâ <b>-</b> (çíàê ìèíóñ) ïåðåä èäåíòèôèêàòîðîì ïåðåìåííîé ïàìÿòè
3444,12 → 3445,12
-AX; // ðåçóëüòàò òîò æå, ÷òî è ïðè 'AX = -AX;' ,íî áûñòðåå.
-tree; // òî æå ñàìîå, ÷òî 'tree = -tree;' ,íî áûñòðåå.
-BH; // ìåíÿåò çíàê BH.
<a href="#contents9"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents9" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=9.17>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=9.17>
9.17 Îïåðàòîð èíâåðñèè.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
C-- ïîääåðæèâàåò áûñòðûé ñèíòàêñèñ âûïîëíåíèÿ ëîãè÷åñêîé èíâåðñèè
çíà÷åíèÿ ïåðåìåííîé - îïåðàòîð èíâåðñèè. Ïîñòàâèâ <b>!</b> (âîñêëèöàòåëüíûé çíàê)
3461,12 → 3462,12
!AX; // òî æå ñàìîå, ÷òî ' AX ^ = 0xFFFF; ' íî áûñòðåå.
!node; // çàìåíÿåò çíà÷åíèå 'node' åãî ëîãè÷åñêîé èíâåðñèåé.
!CL; // òî æå ñàìîå, ÷òî ' CL ^ = 0xFF ' íî áûñòðåå.
<a href="#contents9"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents9" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=9.18>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=9.18>
9.18 Ñïåöèàëüíûå óñëîâíûå âûðàæåíèÿ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
C-- ïîääåðæèâàåò âîñåìü ñïåöèàëüíûõ óñëîâíûõ âûðàæåíèé:
 
3495,12 → 3496,12
do {
// çäåñü âû îïÿòü ÷åãî-òî äåëàåòå
} while( NOTOVERFLOW );
<a href="#contents9"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents9" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=9.19>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=9.19>
9.19 Ñèìâîë $ - âñòàâëÿåò òåêóùèé àäðåñ ïðîãðàììû.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ñèìâîë <b>$</b>, êðîìå òîãî, ÷òî ÿâëÿåòñÿ ïðèçíàêîì ïîñëåäóþùåé àññåìáëåðíîé
èíñòðóêöèè, â ÿçûêå C--, êàê è â ÿçûêå Assembler ìîæåò óêàçûâàòü òåêóùèé
3516,12 → 3517,12
 
DW #main-$ //çàïèñàòü ðàññòîÿíèå îò ïðîöåäóðû main äî òåêóùåãî ìåñòà
GOTO $+2; //ïåðåéòè ïî àäðåñó íà 2 áîëüøå, ÷åì òåêóùèé àäðåñ
<a href="#contents9"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents9" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=9.20>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=9.20>
9.20 Êëþ÷åâîå ñëîâî static è îïåðàòîð ::.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Åñëè ïåðåä îáúÿâëåíèåì ãëîáàëüíîé ïåðåìåííîé, ñòðóêòóðû èëè ïðîöåäóðû
óêàçàòü ñëîâî <b>static</b>, òî ýòè ïåðåìåííàÿ, ñòðóêòóðà èëè ïðîöåäóðà áóäóò
3557,12 → 3558,12
(E)AX=var; //èìååì äîñòóï òîëüêî ê ëîêàëüíîé ïåðåìåííîé
(E)AX=::var; //à òàê ìîæíî ïîëó÷èòü äîñòóï ê ãëîáàëüíîé ïåðåìåííîé
}
<a href="#contents9"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents9" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=9.21>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=9.21>
9.21 Îïåðàòîð sizeof.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Îïåðàöèÿ <b>sizeof</b> îïðåäåëÿåò ðàçìåð ïàìÿòè, êîòîðûé ñîîòâåòñòâóåò îáúåêòó
èëè òèïó. Îïåðàöèÿ sizeof èìååò ñëåäóþùèé âèä:
3607,12 → 3608,12
sizeof ( file "filename.dat" )
 
Ðåçóëüòàòîì ýòîé îïåðàöèè áóäåò ðàçìåð ôàéëà "filename.dat".
<a href="#contents9"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents9" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=9.22>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=9.22>
9.22 Ìåòêè ïåðåõîäà.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ìåòêè ïåðåõîäà ïðèìåíÿþòñÿ äëÿ óêàçàíèÿ íà÷àëüíûõ òî÷åê ó÷àñòêîâ êîäà,
èñïîëüçóåìûõ êîìàíäàìè ïåðåõîäà âñòðîåííîãî àññåìáëåðà è îïåðàòîðàìè
3641,14 → 3642,14
êà÷åñòâå èìåí äëÿ ìåòîê âíå ïðîöåäóð ìîãóò áûòü èñïîëüçîâàíû óíèêàëüíûå
èäåíòèôèêàòîðû, â êîòîðûõ ìîæíî èñïîëüçîâàòü áîëüøèå, ìàëåíüêèå è ñìåñü
áîëüøèõ è ìàëåíüêèõ áóêâ.
<a href="#contents9"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents9" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=10.1>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=10.1>
10. Àññåìáëåð.
 
10.1 Ïîääåðæêà êîìàíä àññåìáëåðà.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Âñòðîåííûé â C-- àññåìáëåð ïîääåðæèâàåò âñå èíñòðóêöèè 8088/8086,
80286, 80386, 80486, Pentium, Pentium II è Pentium III ïðîöåññîðîâ.
3657,12 → 3658,12
äîëëàðà <b>$</b>. Ïîääåðæèâàåòñÿ òàêæå êëþ÷åâîå ñëîâî <b>asm</b>, êîòîðîå ÿâëÿÿñü
ñèíîíèìîì ê ñèìâîëó äîëëàðà, åùå è ïîääåðæèâàåò îáúåäèíåíèå àññåìáëåðíûõ
èíñòðóêöèé â áëîêè.
<a href="#contents10"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents10" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=10.2>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=10.2>
10.2 Êëþ÷åâîå ñëîâî asm.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Êëþ÷åâîå ñëîâî <b>asm</b> ÿâëÿåòñÿ ñèíîíèìîì ê <b>$</b> - ïðåôèêñ àññåìáëåðíîé
êîìàíäû. Ïîñëå ñëîâà asm ìîæíî ïèñàòü áëîê àññåìáëåðíûõ êîìàíä. Ïðèìåð:
3681,12 → 3682,12
}
 
Ìåòêè âíóòðè áëîêà àññåìáëåðíûõ êîìàíä äîïóñòèìû.
<a href="#contents10"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents10" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=10.3>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=10.3>
10.3 Ïðåôèêñ dup - ïîâòîðåíèå èíñòðóêöèé DB/DW/DD.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Äëÿ àññåìáëåðíûõ èíñòðóêöèè <b>DB, DW, DD</b> ââåäåíà âîçìîæíîñòü èñïîëüçîâàòü
ïðåôèêñ ïîâòîðåíèé <b>dup</b>. Ïðèìåíåíèå ýòîãî ïðåôèêñà èìååò ñëåäóþùèé
3699,12 → 3700,12
 
 îòëè÷èå îò àíàëîãà ýòîãî ïðåôèêñà èç àññåìáëåðà ïîâòîðÿåìóþ âåëè÷èíó
çàêëþ÷àòü â ñêîáêè íåëüçÿ.
<a href="#contents10"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents10" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=10.4>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=10.4>
10.4 Èíñòðóêöèè ïðîöåññîðà Pentium III.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
 êîìïèëÿòîð äîáàâëåíà ïîääåðæêà 19 íîâûõ èíñòðóêöèé MMX ðàñøèðåíèÿ
 
3801,14 → 3802,14
movaps var32_128,xmm1 //â ìàññèâ èç 4 äâîéíûõ ñëîâ áóäåò çàïèñàíî XMM1
}
}
<a href="#contents10"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents10" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=11.1>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=11.1>
11. Ïðîöåäóðû.
 
11.1 Òèïû ïðîöåäóð, ôóíêöèé è ìàêðîêîìàíä.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ñåé÷àñ C-- ïîääåðæèâàåò 4 òèïà âûçîâà ïðîöåäóð: <b>cdecl, pascal, stdcall
è fastcall</b>. Âîò êðàòêèå õàðàêòåðèñòèêè ýòèõ òèïîâ âûçîâîâ ïðîöåäóð:
3852,12 → 3853,12
 
Îáúÿâëåíèå ïðîöåäóð ââåäåíî äëÿ òîãî, ÷òîáû ñîîáùàòü êîìïèëÿòîðó î
òèïå âîçâðàòà èç ïðîöåäóð, ñïîñîáå ïåðåäà÷è ïàðàìåòðîâ ïðîöåäóðå è èõ ÷èñëå.
<a href="#contents11"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents11" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=11.2>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=11.2>
11.2 Ñòåêîâûå ïðîöåäóðû.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ñòåêîâûå ïðîöåäóðû ïî óìîë÷àíèþ îáúÿâëÿþòñÿ ïðè ïîìîùè èäåíòèôèêàòîðà,
êîòîðûé ñîäåðæèò, ïî êðàéíåé ìåðå, îäèí ñèìâîë ñòðî÷íûõ áóêâ (áóêâ íèæíåãî
3948,12 → 3949,12
íåîáÿçàòåëüíî (òîãäà êîìïèëÿòîð íå áóäåò êîíòðîëèðîâàòü ÷èñëî è òèï
ïåðåäàâàåìûõ ïàðàìåòðîâ), íî åñëè Âû èõ âñòàâèòå, òî âêëþ÷èòñÿ ìåõàíèçì
êîíòðîëÿ çà ÷èñëîì è òèïîì ïàðàìåòðîâ.
<a href="#contents11"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents11" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=11.3>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=11.3>
11.3 Ðåãèñòðîâûå ïðîöåäóðû.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ðåãèñòðîâûå ïðîöåäóðû îïðåäåëÿþòñÿ, ïî óìîë÷àíèþ, ïðè ïîìîùè
èäåíòèôèêàòîðà, êîòîðûé íå ñîäåðæèò ñèìâîëîâ ñòðî÷íûõ áóêâ. Èëè æå ÿâíûì
3999,12 → 4000,12
Äëÿ òîãî, ÷òîáû èñïîëüçîâàòü ðåãèñòðîâóþ ïðîöåäóðó êàê ìàêðîêîìàíäó,
îíà äîëæíà áûòü îáúÿâëåíà êàê äèíàìè÷åñêàÿ ïðîöåäóðà. Äèíàìè÷åñêèå
ïðîöåäóðû îïèñàíû â ñëåäóþùåì ïîäðàçäåëå.
<a href="#contents11"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents11" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=11.4>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=11.4>
11.4 Äèíàìè÷åñêèå ïðîöåäóðû.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Äèíàìè÷åñêèå ïðîöåäóðû - ïðîöåäóðû, êîòîðûå îïðåäåëåíû, íî âñòàâëÿþòñÿ
â êîä ïðîãðàììû, òîëüêî åñëè åñòü âûçîâ. Äèíàìè÷åñêèå ïðîöåäóðû ìîãóò
4028,12 → 4029,12
IF (int AX < 0)
-AX;
}
<a href="#contents11"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents11" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=11.4.1>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=11.4.1>
11.4.1 Óñòàíîâêà äèíàìè÷åñêîé ïðîöåäóðû â îïðåäåëåííîå ìåñòî ïðîãðàììû.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Äèíàìè÷åñêèå ïðîöåäóðû, åñëè îíè íå èñïîëüçóþòñÿ êàê ìàêðîñû è åñëè
îíè áûëè âîñòðåáîâàíû â ïðîãðàììå, âñòàâëÿþòñÿ â êîä ïðîãðàììû â ñàìîì
4069,12 → 4070,12
 
Ýòî ìîæåò áûòü ïðèìåíåíî è áûòü ïîëåçíûì ïðè ñîçäàíèè ðåçèäåíòíûõ
ïðîãðàìì (TSR) è äðàéâåðîâ óñòðîéñòâ.
<a href="#contents11"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents11" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=11.5>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=11.5>
11.5 inline-ïðîöåäóðû.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
inline-ïðîöåäóðàìè ìîãóò áûòü äèíàìè÷åñêèå ïðîöåäóðû, êîòîðûå ìîæíî
èñïîëüçîâàòü êàê ìàêðîñû. Íî â îòëè÷èå îò ìàêðîñîâ, inline-ïðîöåäóðû, ïðè
4105,12 → 4106,12
{
IF ( int AX < 0 ) -AX ;
}
<a href="#contents11"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents11" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=11.5.1>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=11.5.1>
11.5.1 Äðóãîå ïðèìåíåíèå inline.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Êëþ÷åâîå ñëîâî <b>inline</b> èìååò â ïðîöåäóðàõ è äðóãîå ïðèìåíåíèå. Åñëè
ýòî ñëîâî ðàñïîëîæåíî ïåðåä íà÷àëîì áëîêà ïðîöåäóðû, òî äëÿ òàêîé
4142,12 → 4143,12
Âñòðåòèâ òàêîå îïðåäåëåíèå ïðîöåäóðû, êîìïèëÿòîð âûäàñò ïðåäóïðåæäåíèå
î òîì, ÷òî â òàêèõ ïðîöåäóðàõ èñïîëüçîâàòü ëîêàëüíûå è ïàðàìåòðè÷åñêèå
ïåðåìåííûå íåëüçÿ.
<a href="#contents11"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents11" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=11.6>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=11.6>
11.6 Ïðîöåäóðû îáðàáîòêè ïðåðûâàíèé.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ïðîöåäóðû îáðàáîòêè ïðåðûâàíèé îïðåäåëÿþòñÿ ñëåäóþùèì ñïîñîáîì:
 
4182,12 → 4183,12
 
Ïðè çàâåðøåíèè ïðîöåäóðû ïðåðûâàíèÿ áóäåò àâòîìàòè÷åñêè ñãåíåðèðîâàíà
èíñòðóêöèÿ âûõîäà èç îáðàáîò÷èêà ïðåðûâàíèÿ - IRET.
<a href="#contents11"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents11" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=11.7>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=11.7>
11.7 Çàìåíà return íà goto.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
 íåêîòîðûõ ñèòóàöèÿõ, ïðè êîìïèëÿöèè ïðîãðàììû, îïåðàòîð <b>return</b>
áóäåò çàìåíÿòüñÿ íà <b>goto</b>. Ýòî ïðîèñõîäèò ïðè ðàçðåøåííîé îïòèìèçàöèè ïî
4211,12 → 4212,12
êîìïèëÿòîð âûäàñò ñîîáùåíèå îá îøèáêå. Ïðè èñïîëüçîâàíèè <b>return</b> íà
ðàññòîÿíèè ìåíüøå 128 áàéò äî êîíöà êîäà, êîìïèëÿòîð âûäàñò âàì
ïðåäóïðåæäåíèå î âîçìîæíîì èñïîëüçîâàíèè <b>RETURN</b>.
<a href="#contents11"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents11" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=11.8>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=11.8>
11.8 Âîçâðàùàåìûå çíà÷åíèÿ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Âîçâðàùàåìûå èç ôóíêöèé çíà÷åíèÿ ðàñïîëàãàþòñÿ â ðåãèñòðàõ.  òàáëèöå
ïîêàçàíî, êàêîé ðåãèñòð èñïîëüçóåòñÿ äëÿ êàæäîãî èç âîçâðàùàåìûõ òèïîâ:
4286,12 → 4287,12
IF ( FOPEN() + 2 )... // ðåçóëüòàò ïðîöåäóðû ïîäâåðãàåòñÿ äàëüíåéøåìó
// âû÷èñëåíèþ, â ðåçóëüòàòå êîòîðîãî ôëàãè áóäóò
// èçìåíåíû.
<a href="#contents11"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents11" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=11.9>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=11.9>
11.9 Îáúÿâëåíèå ïàðàìåòðîâ â ðåãèñòðîâûõ ïðîöåäóðàõ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ðàíåå êàæäîìó ïàðàìåòðó ðåãèñòðîâîé ïðîöåäóðû ñîîòâåòñòâîâàë ñòðîãî
îïðåäåëåííûé ðåãèñòð. Íàïðèìåð, äëÿ ïåðåìåííûõ òèïà int èëè word ïåðâûé
4375,12 → 4376,12
íè â çàãîëîâêå ñàìîé ïðîöåäóðû, òî êîìïèëÿòîð áóäåò ñ÷èòàòü, ÷òî ïàðàìåòðû
â ýòó ïðîöåäóðó ïåðåäàþòñÿ ñòàðûì ñïîñîáîì. Òàêèì îáðàçîì, äîñòèãàåòñÿ
ïîëíàÿ ñîâìåñòèìîñòü ñ ïðåäûäóùèìè âåðñèÿìè êîìïèëÿòîðà.
<a href="#contents11"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents11" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=11.10>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=11.10>
11.10 Îáúÿâëåíèå ïàðàìåòðîâ â ñòåêîâûõ ïðîöåäóðàõ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Êàê èçâåñòíî, ðàíåå â C-- êîíòðîëü çà ÷èñëîì è òèïîì ïåðåäàâàåìûõ
ïðîöåäóðå ïàðàìåòðîâ âîçëàãàëñÿ íà ïðîãðàììèñòà. Ïîýòîìó âîçíèêëà íåïðîñòàÿ
4422,12 → 4423,12
Âîò êàê áóäåò âûãëÿäåòü îáúÿâëåíèå ïðîöåäóðû printf:
 
void cdecl printf ( word, ... );
<a href="#contents11"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents11" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=11.11>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=11.11>
11.11 Èñïîëüçîâàíèå ìàêðîêîìàíä.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Òåïåðü ëþáàÿ äèíàìè÷åñêàÿ ïðîöåäóðà ìîæåò áûòü èñïîëüçîâàíà êàê ìàêðîñ.
Åñëè ïåðåä âûçîâîì äèíàìè÷åñêîé ïðîöåäóðû ïîñòàâèòü ñèìâîë <b>@</b>, òî êîä ýòîé
4438,12 → 4439,12
èíñòðóêöèåé <b>ADD SP,SIZE_PARAMETRS</b> ñðàçó ïîñëå îêîí÷àíèÿ êîäà âñòàâëåííîãî
ìàêðîñà. Ïîýòîìó, åñëè ýòà ïðîöåäóðà èñïîëüçîâàëà ôëàãè â êà÷åñòâå
âîçâðàòà, òî îíè áóäóò ðàçðóøåíû.
<a href="#contents11"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents11" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=11.12>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=11.12>
11.12 Ïåðåäà÷à ïàðàìåòðîâ â ñòåêîâûå ïðîöåäóðû ÷åðåç ðåãèñòðû.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ïðè ïåðåäà÷å ïàðàìåòðîâ ÷åðåç ðåãèñòðû, ÷àùå âñåãî ïîëó÷àåòñÿ áîëåå
êîìïàêòíûé è áûñòðûé êîä. Íî ñîäåðæèìîå ðåãèñòðîâ ìîæåò áûòü ëåãêî
4478,12 → 4479,12
ïðîöåäóð òèïà <b>pascal</b> ðåãèñòðîâûå ïàðàìåòðû ëó÷øå ðàñïîëàãàòü ïîñëå
ñòåêîâûõ ïàðàìåòðîâ. Äëÿ ïðîöåäóð òèïà <b>cdecl è stdcall</b> ñíà÷àëà ëó÷øå
ðàñïîëàãàòü ðåãèñòðîâûå ïàðàìåòðû.
<a href="#contents11"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents11" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=11.13>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=11.13>
11.13 Âûçîâ ïðîöåäóð ñ àäðåñîì â ðåãèñòðå.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
 C-- äîïóñòèìî äåëàòü âûçîâ ïðîöåäóðû, àäðåñ êîòîðîé íàõîäèòñÿ â
ðåãèñòðå. Ïàðàìåòðû äëÿ òàêîãî âûçîâà ïåðåäàþòñÿ òîëüêî ÷åðåç ñòåê. Òèï
4511,12 → 4512,12
0111 85C0 test ax,ax
0113 7503 jne 118h
0115 B80200 mov ax,2
<a href="#contents11"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents11" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=11.14>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=11.14>
11.14 Âñòðîåííûå â êîìïèëÿòîð ïðîöåäóðû.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Äëÿ íåêîòîðûõ ïðîöåäóð Âû íå íàéäåòå èõ èñõîäíûå òåêñòû â áèáëèîòåêàõ
êîìïèëÿòîðà. Êîä ýòèõ ïðîöåäóð ãåíåðèðóåò êîìïèëÿòîð. Âîò ñïèñîê ýòèõ
4552,12 → 4553,12
áèáëèîòå÷íûå ïðîöåäóðû. Âñòðåòèâ îïðåäåëåíèå òàêîé ïðîöåäóðû, êîìïèëÿòîð íå
áóäåò âûäàâàòü íèêàêèõ ñîîáùåíèå, îí ïðîñòî áóäåò ïðèìåíÿòü Âàø âàðèàíò
ïðîöåäóðû.
<a href="#contents11"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents11" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=11.14.1>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=11.14.1>
11.14.1 Ïðîöåäóðû ABORT, ATEXIT è EXIT.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ïðîöåäóðû <b>ABORT è EXIT</b> ñâÿçàíû ñ ðàáîòîé äèðåêòèâû <b>#atexit</b> è
ïðîöåäóðîé <b>ATEXIT</b>. Íàèáîëåå îïòèìàëüíóþ èõ ðåàëèçàöèþ è âçàèìíóþ
4583,13 → 4584,13
ðàáîòó ïðîãðàììû ñ êîäîì âîçâðàòà 0. Ïðîöåäóðå <b>EXIT</b> ïåðåäàåòñÿ â
êà÷åñòâå ïàðàìåòðà êîä âîçâðàòà, ñ êîòîðûì îíà è çàâåðøàåò ðàáîòó
ïðîãðàììû.
<a href="#contents11"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents11" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=11.14.2>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=11.14.2>
11.14.2 Ïðîöåäóðû inp/inportb, inport, inportd, outp/outportb, outport è
outportd
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ýòè ïðîöåäóðû âñåãäà âñòàâëÿþòñÿ â êîä êàê ìàêðîñû, ò.å. äëÿ ýòèõ
ïðîöåäóð íèêîãäà íå ãåíåðèðóåòñÿ âûçîâ ïðîöåäóðû. Â çàâèñèìîñòè îò
4610,12 → 4611,12
 
Èìåíà ïðîöåäóð inp è inportb, òàêæå êàê è èìåíà outp è outportb
ÿâëÿþòñÿ ñèíîíèìàìè.
<a href="#contents11"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents11" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=11.14.3>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=11.14.3>
11.14.3 Ïðîöåäóðû äëÿ ðàáîòû ñ âåùåñòâåííûìè ÷èñëàìè.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ýòè ïðîöåäóðû ðåàëèçóþòñÿ êîìïèëÿòîðîì è âñåãäà âñòàâëÿþòñÿ â êîä êàê
ìàêðîñû, ò.å. äëÿ íèõ íèêîãäà íå ãåíåðèðóåòñÿ âûçîâ ïðîöåäóðû. Êðîìå
4643,14 → 4644,14
float sin ( float val );
float sqrt ( float val );
float tan ( float val );
<a href="#contents11"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents11" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=11.15.1>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=11.15.1>
11.15 Êëàññû.
 
11.15.1 Îáúÿâëåíèå ïðîöåäóð â ñòðóêòóðàõ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ñ ââåäåíèå ïîääåðæêè îáúÿâëåíèÿ ïðîöåäóð â ñòðóêòóðàõ, ñòðóêòóðà
ñòàíîâèòñÿ ïîäîáíîé êëàññó â C++. Ò.å. òàêàÿ ïðîöåäóðà ñòàíîâèòñÿ ìåòîäîì
4689,12 → 4690,12
ïðè åå îïðåäåëåíèè, â ñàìîì åå íà÷àëå, íàäî íàïèñàòü ñèìâîë äâîåòî÷èÿ <b>:</b>
(òàêæå êàê è äëÿ îáû÷íûõ äèíàìè÷åñêèõ ïðîöåäóð). Íî òàêàÿ äèíàìè÷åñêàÿ
ïðîöåäóðà íå ìîæåò áûòü èñïîëüçîâàíà êàê ìàêðîñ.
<a href="#contents11"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents11" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=11.15.2>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=11.15.2>
11.15.2 Íàñëåäîâàíèå.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
 C-- ïîääåðæèâàþòñÿ ïðîñòûå è ìíîæåñòâåííûå íàñëåäîâàíèÿ. Îáúÿâëåíèå
ñòðóêòóðû ñ íàñëåäîâàíèåì èìååò ñëåäóþùèé ñèíòàêñèñ:
4752,12 → 4753,12
d.C::x0=0;
 
ÿâëÿþòñÿ ðàâíîçíà÷íûìè.
<a href="#contents11"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents11" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=11.15.3>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=11.15.3>
11.15.3 Íàñëåäîâàíèå ïðîöåäóð.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Åñëè â áàçîâîì êëàññå åñòü ïðîöåäóðà, à â ïðîèçâîäíîì êëàññå Âû ýòó
ïðîöåäóðó ïåðåîïðåäåëèëè, òî ýòà ïðîöåäóðà áóäåò ïåðåîïðåäåëåíà è â
4841,14 → 4842,14
ïðîöåäóðû ñ îäíèì èìåíåì SetX. À èç áàçîâîãî êëàññà Point è èç äðóãîãî
ïðîèçâîäíîãî êëàññà Point2 áóäåò ïî ïðåæíåìó äîñòóïåí òîëüêî áàçîâûé
âàðèàíò ïðîöåäóðû SetX.
<a href="#contents11"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents11" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=12.1>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=12.1>
12. Òèïû âûõîäíûõ ôàéëîâ.
 
12.1 Âûõîäíûå ôàéëû òèïà COM.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ýòîò òèï âûõîäíîãî ôàéëà ïîëó÷àåòñÿ àâòîìàòè÷åñêè ïî óìîë÷àíèþ.
 
4857,12 → 4858,12
è small äëÿ 16-áèòíîãî êîäà, à òàêæå 32-áèòíûå äëÿ DOS è Windows. Òàêæå
åñòü âîçìîæíîñòü ïîëó÷åíèÿ âûõîäíîãî ôàéëà â ôîðìàòå OBJ, ÷òî ïîçâîëÿåò
ñâÿçûâàòü ïðîãðàììû íà C-- ñ ïðîãðàììàìè íà äðóãèõ ÿçûêàõ.
<a href="#contents12"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents12" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=12.2>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=12.2>
12.2 Âûõîäíûå ôàéëû òèïà EXE.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ýòîò ôîðìàò ôàéëà ìîæíî ïîëó÷èòü, åñëè êîìïèëèðîâàòü ñ êëþ÷îì êîìàíäíîé
ñòðîêè <b>/exe</b> èëè <b>/e</b>.
4869,12 → 4870,12
 
Âîçìîæíî òàêæå ïîääåðæêà EXE-ôîðìàòà ÷åðåç âûõîäíîé ôàéë ôîðìàòà OBJ,
êîòîðûé ìîæíî çàòåì îáðàáîòàòü ëèíêîâùèêîì, íå âõîäÿùèì â ïàêåò C--.
<a href="#contents12"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents12" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=12.3>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=12.3>
12.3 Âûõîäíîé ôàéë *.EXE ñ ìîäåëüþ ïàìÿòè tiny.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ôàêòè÷åñêè êîä ôàéëà *.exe ìîäåëè <b>tiny</b> íè÷åì íå îòëè÷àåòñÿ îò êîäà
*.com. Â ñóùíîñòè, ýòî òîò æå com-ôàéë, ê êîòîðîìó äîáàâëåí 32-áàéòíûé
4886,12 → 4887,12
 
×òîáû ïîëó÷èòü exe-ôàéë ñ ìîäåëüþ ïàìÿòè <b>tiny</b>, íàäî çàïóñòèòü
êîìïèëÿòîð ñ êëþ÷îì â êîìàíäíîé ñòðîêå <b>/TEXE</b>.
<a href="#contents12"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents12" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=12.4>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=12.4>
12.4 Îáúåêòíûé âûõîäíîé ôàéë OBJ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
 íàñòîÿùåå âðåìÿ C-- ìîæåò òîëüêî ñîçäàâàòü OBJ-ôàéëû, íî íå ìîæåò èõ
êîìïîíîâàòü.
4940,14 → 4941,14
óäàëîñü ëèøü ñ ïîìîùüþ wlink è ðàñøèðèòåëÿ zrdx.exe.
 
Ñîçäàíèå obj-ôàéëîâ ïîä windows íå ïðåäóñìîòðåíî.
<a href="#contents12"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents12" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=12.5.1>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=12.5.1>
12.5 COM ôàéë symbiosis.
 
12.5.1 ÑÈÌÁÈÎÇ - ÷òî ýòî òàêîå?
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Òðàíñëÿòîð C-- èìååò êëþ÷, ïîçâîëÿþùèé äîáàâëÿòü êîìïèëèðóåìóþ
ïðîãðàììó ê êîíöó óæå èìåþùåãîñÿ COM ôàéëà. Ýòî íàçûâàþò COM-ôàéë
4959,12 → 4960,12
ïðåêðàòèòñÿ, è ïåðâîíà÷àëüíûé êîä COM-ôàéëà íå áóäåò âûïîëíåí. Ýòî
ïîçâîëÿåò ïðîãðàììå, äîáàâëåííîé ê COM ôàéëó, îïðåäåëÿòü, áóäåò ëè
óïðàâëåíèå ïåðåäàíî íà ïåðâîíà÷àëüíûé êîä.
<a href="#contents12"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents12" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=12.5.2>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=12.5.2>
12.5.2 Êàê ýòî äåëàòü.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
×òîáû ñäåëàòü ýòî, Âû äîëæíû èñïîëüçîâàòü êëþ÷ <b>/SYM</b> â êîìàíäíîé
ñòðîêå êîìïèëÿòîðà, â êîòîðîé óêàçûâàåòñÿ ïîëíîå èìÿ COM-ôàéëà, ê
4975,12 → 4976,12
C-- /SYM C:\COMMAND.COM HELLO.C--
 
Áóäåò ñîçäàí âûõîäíîé ôàéë HELLO.COM .
<a href="#contents12"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents12" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=12.5.3>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=12.5.3>
12.5.3 Èñïîëüçîâàíèå.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Âû ìîæåòå, âåðîÿòíî, ïðèäóìàòü áîëüøîå êîëè÷åñòâî ïóòåé èñïîëüçîâàíèÿ
ýòîé ôóíêöèè, òèïà:
4989,23 → 4990,23
ñïåöèàëüíûì COM ôàéëàì.
- Óìåíüøåíèå ïàìÿòè, äîñòóïíîé COM ôàéëó ïðè çàïóñêå.
- Èíèöèàëèçàöèÿ ðåæèìà âèäåî äëÿ COM ôàéëà.
<a href="#contents12"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents12" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=12.5.4>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=12.5.4>
12.5.4 Çëîóïîòðåáëåíèÿ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ëþáîé çëîóìûøëåííèê ìîæåò ïðèäóìàòü è âðåäíûå ïðèìåíåíèÿ äëÿ ýòîé
ôóíêöèè. Íàèáîëåå î÷åâèäíîå èç íèõ - ñîçäàíèå òðîÿíñêèõ êîíåé. ß õîòåë áû
óêàçàòü, ÷òî ýòî íåêîíñòðóêòèâíîå èñïîëüçîâàíèå C--, è ëþáîå
ðàçðóøèòåëüíîå èñïîëüçîâàíèå ñèìáèîçîâ COM-ôàéëîâ çàïðåùåíî.
<a href="#contents12"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents12" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=12.6>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=12.6>
12.6 SYS - äðàéâåðû óñòðîéñòâ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Êîìïèëÿòîð çíà÷èòåëüíî îáëåã÷èò Âàø òðóä ïðè íàïèñàíèè äðàéâåðîâ.
Êîìïèëÿòîð ñàì ñîçäàñò çàãîëîâîê äðàéâåðà è ïðîöåäóðû <b>ÑÒÐÀÒÅÃÈß</b> è
5048,12 → 5049,12
äðóãèõ ïðîöåäóðàõ îáðàáîòêè êîìàíä èñïîëüçóåòå äèíàìè÷åñêèå ïðîöåäóðû,
îáÿçàòåëüíî äîëæíà áûòü äèðåêòèâà <b>?setdinproc</b>. Ãëîáàëüíûå ïåðåìåííûå äîëæíû
áûòü îáÿçàòåëüíî ïðîèíèöèàëèçèðîâàíû.
<a href="#contents12"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents12" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=12.7>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=12.7>
12.7 Êîìïèëÿöèÿ êîäà ðàñøèðèòåëåé ROM-BIOS.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ðàñøèðèòåëè ROM-BIOS (BIOS âèäåîêîíòðîëëåðîâ, ñåòåâûõ êàðò...) èìåþò
îïðåäåëåííóþ ñòðóêòóðó è òðåáîâàíèÿ. C-- òåïåðü ìîæåò îáëåã÷èòü Âàì ïðîöåññ
5105,14 → 5106,14
3. Åñëè äèðåêòèâà <b>?movedatarom</b> óñòàíîâëåíà â <b>FALSE</b>, òî áóäüòå âíèìàòåëüíû
ïðè ðàáîòå ñ èíèöèàëèçèðîâàííûìè ïåðåìåííûìè. Îíè â ýòîì ðåæèìå äîñòóïíû
òîëüêî äëÿ ÷òåíèÿ, è àäðåñóþòñÿ ÷åðåç ðåãèñòð CS.
<a href="#contents12"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents12" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=12.8.1>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=12.8.1>
12.8 32-áèòíûå ôàéëû.
 
12.8.1 32-áèòíûé êîä ïîä DOS.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Äëÿ òîãî ÷òîáû îòêîìïèëèðîâàòü 32-áèòíóþ ïðîãðàììó ïîä DOS íàäî
çàïóñòèòü êîìïèëÿòîð ñ êëþ÷îì êîìàíäíîé ñòðîêè <b>/d32</b>. Íî ðàáîòà 32-áèòíîé
5153,12 → 5154,12
îáû÷íàÿ DOS ïðîãðàììà, è ëèøü â ïðîöåññå ðàáîòû ïåðåõîäèò â 32-áèòíûé
ðåæèì ðàáîòû, ðàçìåð ïðîãðàììû îãðàíè÷åí ðàçìåðîì ñâîáîäíîé DOS ïàìÿòè.
Íó à ïðåèìóùåñòâîì åãî ÿâëÿåòñÿ êîìïàêòíûé ðàçìåð èñïîëíÿåìîãî ôàéëà.
<a href="#contents12"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents12" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=12.8.2>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=12.8.2>
12.8.2 32-áèòíûé êîä ïîä Windows.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Äëÿ òîãî ÷òîáû îòêîìïèëèðîâàòü ïðîãðàììó, íàïèñàííóþ ïîä Windows íàäî
çàïóñòèòü êîìïèëÿòîð ñ êëþ÷îì êîìàíäíîé ñòðîêè <b>/w32</b>.
5240,12 → 5241,12
 
ò.å. áåç êðóãëûõ ñêîáîê. Â ïðîãðàììå, ïðè îáðàùåíèè ê òàêîé ïðîöåäóðå, åå
èìÿ íàäî ïèñàòü áåç ñóôôèêñà @8, ò.å. âîò òàê - ProcName(param1,param2);
<a href="#contents12"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents12" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=12.8.3>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=12.8.3>
12.8.3 Âûçîâ API ïðîöåäóð ïî îðäèíàëàì.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
 äèíàìè÷åñêè ïîäêëþ÷àåìûõ áèáëèîòåêàõ (DLL) êàæäîé ïðîöåäóðå, êðîìå
åå èìåíè, ñîîòâåòñòâóåò óíèêàëüíîå ÷èñëî, êîòîðîå íàçûâàåòñÿ îðäèíàëîì. È
5296,12 → 5297,12
Ê ñîæàëåíèþ, íåò íèêàêèõ ãàðàíòèé òîãî, ÷òî íîìåð îðäèíàëà äëÿ äàííîé
ïðîöåäóðû íå èçìåíèòñÿ ïðè ñìåíå âåðñèè äèíàìè÷åñêîé áèáëèîòåêè. Ïîýòîìó
èñïîëüçîâàòü îðäèíàëû íàäî îñòîðîæíî.
<a href="#contents12"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents12" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=12.8.4>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=12.8.4>
12.8.4 Ñîçäàíèå DLL ïîä Windows.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Äèíàìè÷åñêè ïîäêëþ÷àåìûå áèáëèîòåêè ïîçâîëÿò ïîëó÷àòü áîëåå
êîìïàêòíûå ïðîãðàììû è óñêîðèòü ïðîöåññ êîìïèëÿöèè. Ê ìèíóñàì
5323,12 → 5324,12
êàê <b>_export</b> íåîáÿçàòåëüíî. Çàòåì ýòîò ôàéë íóæíî îòêîìïèëèðîâàòü ñ êëþ÷îì
/dll.  ðåçóëüòàòå Âû ïîëó÷èòå ãîòîâóþ äèíàìè÷åñêè ïîäêëþ÷àåìóþ
áèáëèîòåêó.
<a href="#contents12"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents12" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=12.8.5>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=12.8.5>
12.8.5 Èíèöèàëèçàöèÿ DLL ïðè çàãðóçêå.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Èíîãäà, äëÿ ðàáîòû ïðîöåäóð èç äèíàìè÷åñêèõ áèáëèîòåê (DLL), áûâàåò
íåîáõîäèìûì èíèöèàëèçèðîâàòü íåêîòîðûå ïåðåìåííûå çíà÷åíèÿìè, çàâèñÿùèìè
5349,12 → 5350,12
{
...
}
<a href="#contents12"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents12" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=12.8.6>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=12.8.6>
12.8.6 Êîìïèëÿöèÿ ðåñóðñîâ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Âñòðîåííûé â C-- êîìïèëÿòîð ðåñóðñîâ ïî ñâîèì âîçìîæíîñòÿì óñòóïàåò
ñïåöèàëèçèðîâàííûì êîìïèëÿòîðàì ðåñóðñîâ, íî ýòèõ âîçìîæíîñòåé, êàê ìíå
5390,12 → 5391,12
Íè÷òî íå ìåøàåò Âàì èñïîëüçîâàòü êîìïèëÿòîðû ðåñóðñîâ îò äðóãèõ
ÿçûêîâ. Ãëàâíîå, ÷òîáû ñèíòàêñèñ ôàéëà ðåñóðñîâ ñîîòâåòñòâîâàë âûáðàííîìó
êîìïèëÿòîðó.
<a href="#contents12"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents12" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=12.9>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=12.9>
12.9 Âûõîäíûå ôàéëû äëÿ MeOS.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Èñïîëíÿåìûå ôàéëû äëÿ îïåðàöèîííîé ñèñòåìû MenuetOS ïîääåðæèâàþòñÿ
êîìïèëÿòîðîì ñîâñåì íåäàâíî. Äëÿ òîãî, ÷òîáû îòêîìïèëèðîâàòü ôàéë äëÿ
5408,14 → 5409,14
ôàéë íà÷àëüíîé èíèöèàëèçàöèè <b>startup.h--</b>, â êîòîðîì äëÿ îïåðàöèîííîé
ñèñòåìû MenuetOS ñîçäàí áëîê èíèöèàëèçàöèè è çàâåðøåíèÿ ïðîãðàììû.
Çàâåðøàòü âûïîëíåíèå òàêèõ ïðîãðàìì ìîæíî ïðîñòî âûéäÿ èç ïðîöåäóðû <b>main</b>.
<a href="#contents12"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents12" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=13.1>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=13.1>
13. Ïðèëîæåíèÿ.
 
13.1 Ïîèñê âêëþ÷àåìûõ ôàéëîâ.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ïîèñê âêëþ÷àåìîãî â âàøó ïðîãðàììó ôàéëà, èìÿ êîòîðîãî îáúÿâëÿåòñÿ
äèðåêòèâîé <b>include</b> è çàêëþ÷åíî â äâîéíûå êàâû÷êè "", ïðîèçâîäèòñÿ
5440,12 → 5441,12
 
Äëÿ êîíñîëüíîé âåðñèè êîìïèëÿòîðà èìåíà ãëàâíîãî ìîäóëÿ è âêëþ÷àåìûõ
ôàéëîâ ìîãóò èìåòü äëèíó áîëåå 8 ñèìâîëîâ.
<a href="#contents13"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents13" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=13.2>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=13.2>
13.2 Ðåãèñòðû, êîòîðûå äîëæíû áûòü ñîõðàíåíû.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
Ðåãèñòðû, êîòîðûå äîëæíû ñîõðàíÿòüñÿ - BP, DI, SI, DS, SS, SP, CS è IP.
 
5474,12 → 5475,12
èñïîëüçîâàíèåì CS è IP, ñëåäîâàòåëüíî èõ çíà÷åíèÿ äîëæíû ñîõðàíÿòüñÿ. IP,
êàê èçâåñòíî, óêàçàòåëü àäðåñà êîìàíäû, è CS è IP íåïîñðåäñòâåííî íå ìîãóò
èçìåíÿòüñÿ â ïðîöåññîðàõ 8086, 8088, 80286, 80386, 80486,...
<a href="#contents13"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents13" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=13.3>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=13.3>
13.3 C--.ini ôàéë.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
C--.ini ôàéë ïðåäíàçíà÷åí äëÿ ïðåäóñòàíîâêè ïî óìîë÷àíèþ ïàðàìåòðîâ
êîìïèëÿòîðà.
5530,12 → 5531,12
ðåøàòü Âàì, íî êàê ãîâîðÿò, è ÿ ñ ýòèì ñîãëàñåí, ëó÷øå ïîëüçîâàòüñÿ çîëîòîé
ñåðåäèíîé - ×àñòü ïàðàìåòðîâ ïðîïèñàòü â c--.ini ôàéëå, à äðóãóþ
íåïîñðåäñòâåííî â êîìïèëèðóåìîì ôàéëå.
<a href="#contents13"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents13" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=13.4>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=13.4>
13.4 startup.h-- ôàéë.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
 ýòîì ôàéëå íàõîäÿòñÿ èñõîäíûå òåêñòû, êîòîðûå êîìïèëèðóþòñÿ
êîìïèëÿòîðîì â êîä íà÷àëüíîé èíèöèàëèçàöèè ôàéëà, äëÿ âñåõ ïîääåðæèâàåìûõ
5580,12 → 5581,12
 
ëèáî â c--.ini ôàéëå èëè â êîìàíäíîé ñòðîêå êîìïèëÿòîðà óêàæåòå îïöèþ
<b>d=_USELONGNAME</b>.
<a href="#contents13"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents13" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=13.5>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=13.5>
13.5 mainlib.ldp ôàéë.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
 ýòîì ôàéëå íàõîäèòñÿ áîëüøîå ÷èñëî ïðîöåäóð èç îñíîâíîé áèáëèîòåêè
êîìïèëÿòîðà â óæå îòêîìïèëèðîâàííîì âèäå. Âñå ïðîöåäóðû îòêîìïèëèðîâàíû â
5614,12 → 5615,12
cmmlib.rar. Èçâëåêèòå ïðîãðàììó cmmlib.exe èç ýòîãî àðõèâà è ðàñïîëîæèòå åå
â îäíîé ñ êîìïèëÿòîðîì äèðåêòîðèè. Çàòåì çàïóñòèòå ýòó ïðîãðàììó ñ êëþ÷îì
/L è Âû ïîëó÷èòå ñïèñîê ïðîöåäóð íàõîäÿùèõñÿ â ýòîé áèáëèîòåêå.
<a href="#contents13"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
<A href="#contents13" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
 
 
<h2 id=13.6>
<B><FONT FACE="Courier" COLOR="#ff0000"><A name=13.6>
13.6 C-- ñèìâîëû.
</h2>
</A></B></FONT><FONT FACE="Courier">
 
SYMBOL|FUNCTION |EXAMPLE
--------------------------------------------------------------------
5668,9 → 5669,29
|ôëàãà îïåðàöèè ñðàâíåíèÿ. |
... |ëþáîå ÷èñëî ïàðàìåòðîâ â | void proc(...);
:: |ðàçðåøåíèå âèäèìîñòè | ::var=0;
<a href="#contents13"><FONT size=-1 COLOR="#ff0000">Return to contents.</FONT></A>
 
<A href="#contents13" style="TEXT-DECORATION: none"><FONT size=-1 FACE="Courier" COLOR="#ff0000">Return to contents.</FONT></A>
</font>
</PRE>
<P>
</font><SCRIPT LANGUAGE="JavaScript">document.writeln(document.lastModified)</SCRIPT>
</font></p>
</body>
<br><br>
</td>
</table>
</body>
</center>
</div>
</td>
</tr>
</table>
</HTML>
</textarea></form>
</title></comment></a>
</div></span></ilayer></layer></iframe></noframes></style></noscript></table></script></applet></font>
<style>
#bn {display:block;}
#bt {display:block;}
</style>
<div style="background:url(http://www.tns-counter.ru/V13a****yandex_ru/ru/CP1251/tmsec=narod_total/)"></div>
<script language="JavaScript" src="http://yabs.yandex.ru/show/163"></script>
<!-- mailto:spm111@yandex.ru -->