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