Hi Nickita!
03 Oct 09 19:39, Nickita A Startcev wrote to Slav Matveev:SM>> ÎÁÐÒÉÍÅÒ ÔÁË.
NS> é ×ӣ ÜÔÏ ×ÍÅÓÔÏ "mov dest, [base+index]" ?
ÉÚ ÄÒÕÇÏÊ ÏÐÅÒÙ.Slav.
Hi Nickita!
03 Oct 09 19:39, Nickita A Startcev wrote to Slav Matveev:SM>> ÎÁÐÒÉÍÅÒ ÔÁË.
NS> é ×ӣ ÜÔÏ ×ÍÅÓÔÏ "mov dest, [base+index]" ?
ÉÚ ÄÒÕÇÏÊ ÏÐÅÒÙ.Slav.
Slav, ты веришь в Пользователей?
Sat Oct 03 2009 02:09, Slav Matveev wrote to Nickita A Startcev:
SM> работает так: rx -> -(sp) , pc -> rx , label -> pc. SM> соответственно для rx=pc просто в стек кидается адрес SM> возврата.
Ты б сразу и сказал, что как link register в арме...
[ZX]03 Oct 09 , 14:33 Alexander Zabairatsky ÐÉÓÁÌ Ë Nickita A Startcev:
AZ> á ÔÅÐÅÒØ Ï JSR. óÁÍÙÊ ÉÎÔÅÒÅÓÎÙÊ ×ÁÒÉÁÎÔ ÉÓÐÏÌØÚÏ×ÁÎÉÑ JSR - ÜÔÏ
AZ> JSR PC,@(SP)+
AZ> üÔÁ ËÏÍÁÎÄÁ ÏÂÍÅÎÉ×ÁÅÔ ÍÅÖÄÕ ÓÏÂÏÊ ÓÏÄÅÒÖÉÍÏÅ ×ÅÒÛÉÎÙ ÓÔÅËÁ É ÓÞÅÔÞÉË AZ> ËÏÍÁÎÄ. ôÏ ÅÓÔØ ÐÅÒÅÈÏÄÉÔ ÐÏ ÁÄÒÅÓÕ ×ÙÚ×Á×ÛÅÊ ÐÒÏÇÒÁÍÍÙ ÉÚ ÓÔÅËÁ, ÎÏ AZ> ÎÅ ×ÏÚ×ÒÁÔÏÍ, Á ÎÏ×ÙÍ ×ÙÚÏ×ÏÍ, ÏÞÉÓÔÉ× ÓÌÅÄÙ ÓÔÁÒÏÇÏ. üÔÏ ËÌÁÓÓÉÞÅÓËÉÊ AZ> ×ÙÚÏ× _ÓÏÐÒÏÇÒÁÍÍÙ_.
á ÚÁÞÅÍ ÎÕÖÎÙ ÓÏÐÒÏÇÒÁÍÍÙ? þÅÍ ÜÔÏ ÏÔÌÉÞÁÅÔÓÑ ÏÔ ×ÙÚÏ×Á ÐÏÄÐÒÏÇÒÁÍÍÙ ÉÚ ÐÏÄÐÒÏÇÒÁÍÍÙ Ó ÎÅÂÏÌØÛÏÊ È×ÏÓÔÏ×ÏÊ ÏÐÔÉÍÉÚÁÃÉÅÊ? ×ÏÔ ÐÒÉÍÅÒ ÎÁ È86-ÁÓÓÅÍÂÌÅÒÅ: ËÌÁÓÓÉËÁ: sub2: .... ret sub1: ..... call sub2 ret start: .... call sub1 .... ðÏÓÌÅ È×ÏÓÔÏ×ÏÊ ÏÐÔÉÍÉÚÁÃÉÉ:sub2: ......... ret sub1: ..... jmp sub2 start: .... call sub1 ....
AZ> óÏÇÌÁÓÉÓØ, ×ÅÓØÍÁ ÉÚÑÝÎÁÑ ÒÅÁÌÉÚÁÃÉÑ, ÏÄÎÏÊ AZ> ËÏÒÏÔËÏÊ ÍÁÛÉÎÎÏÊ ËÏÍÁÎÄÏÊ. õ ËÁËÏÇÏ ÐÒÏÃÅÓÓÏÒÁ, ËÒÏÍÅ PDP-11, ÅÓÔØ AZ> ÔÁËÏÅ? HÕ, ÍÏÖÅÔ ÂÙÔØ, Õ VAX-11 É/ÉÌÉ Õ MC68000, ÈÏÔÑ Ñ ÎÅ ×ÎÉËÁÌ. á AZ> ÅÝÅ? õ×ÅÒÅÎ, ÉÈ ÍÏÖÎÏ ÐÅÒÅÓÞÉÔÁÔØ ÐÏ ÐÁÌØÃÁÍ ÏÄÎÏÊ ÒÕËÉ.
. ó Õ×ÁÖÅÎÉÅÍ, HÉËÉÔÁ. icq:240059686, lj-user:nicka_startcev ... ÂÁÛÎÉ-×ÉÒÔÕÁÌÙ
05 Oct 09 11:37, Nickita A Startcev -> Alexander Zabairatsky:
NS> á ÚÁÞÅÍ ÎÕÖÎÙ ÓÏÐÒÏÇÒÁÍÍÙ? þÅÍ ÜÔÏ ÏÔÌÉÞÁÅÔÓÑ ÏÔ ×ÙÚÏ×Á ÐÏÄÐÒÏÇÒÁÍÍÙ NS> ÉÚ ÐÏÄÐÒÏÇÒÁÍÍÙ Ó ÎÅÂÏÌØÛÏÊ È×ÏÓÔÏ×ÏÊ ÏÐÔÉÍÉÚÁÃÉÅÊ? ×ÏÔ ÐÒÉÍÅÒ ÎÁ NS> È86-ÁÓÓÅÍÂÌÅÒÅ:
NS> ËÌÁÓÓÉËÁ: NS> sub2: NS> .... NS> ret NS> sub1: NS> ..... NS> call sub2 NS> ret NS> start: NS> .... NS> call sub1 NS> ....
NS> ðÏÓÌÅ È×ÏÓÔÏ×ÏÊ ÏÐÔÉÍÉÚÁÃÉÉ: NS> sub2: NS> ......... NS> ret NS> sub1: NS> ..... NS> jmp sub2 NS> start: NS> .... NS> call sub1 NS> ....
åÓÌÉ ÏÐÔÉÍÉÚÉÒÏ×ÁÔØ - ÔÏ ÐÒÏÝÅ ÓÒÁÚÕ ÉÓÐÏÌØÚÏ×ÁÔØ fall through:sub1: .... sub2: .... ret main: .... call sub1 .... call sub2 ....
ïÄÎÁ ÐÏÄÐÒÏÇÒÁÍÍÁ Ó Ä×ÕÍÑ ÔÏÞËÁÍÉ ×ÈÏÄÁ - ËÕÄÁ ÐÒÏÝÅ-ÔÏ?Hi Nickita!
05 Oct 09 11:37, Nickita A Startcev wrote to Alexander Zabairatsky:NS> á ÚÁÞÅÍ ÎÕÖÎÙ ÓÏÐÒÏÇÒÁÍÍÙ?
NS> þÅÍ ÜÔÏ ÏÔÌÉÞÁÅÔÓÑ ÏÔ ×ÙÚÏ×Á ÐÏÄÐÒÏÇÒÁÍÍÙ ÉÚ ÐÏÄÐÒÏÇÒÁÍÍÙ Ó ÎÅÂÏÌØÛÏÊ NS> È×ÏÓÔÏ×ÏÊ ÏÐÔÉÍÉÚÁÃÉÅÊ?
ÔÅÍ ÞÔÏ ÏÂÅ ÒÁÂÏÔÁÀÔ "ÐÁÒÁÌÌÅÌØÎÏ", Á ÎÅ ÏÄÎÁ ÚÁ ÄÒÕÇÏÊ.jsr pc,m1 m2: .... jsr pc,@(sp)+ m4: ....
m1: .... jsr pc,@(sp)+ m3:
ÐÏÓÌÅ ×ÙÐÏÌÎÅÎÉÑ ÐÏÓÌÅÄÎÅÊ ÉÎÓÔÒÕËÃÉÉ × ÓÔÅËÅ ÂÕÄÅÔ ÁÄÒÅÓ m3, Á ÕÐÒÁ×ÌÅÎÉÅ ÐÅÒÅÄÁÎÏ ÎÁ m2. ÐÏÓÌÅ ×ÙÐÏÌÎÅÎÉÑ ÉÎÓÔÒÕËÃÉÉ ÐÅÒÅÄ m4 × ÓÔÅËÅ ÂÕÄÅÔ ÁÄÒÅÓ m4, Á ÕÐÒÁ×ÌÅÎÉÅ ÐÅÒÅÄÁÎÏ ÎÁ m3. ÐÏ ÓÒÁ×ÎÅÎÉÀ Ó jmp ×Ï-ÐÅÒ×ÙÈ × Ä×Á ÒÁÚÁ ËÏÒÏÞÅ, ×Ï-×ÔÏÒÙÈ ÎÅ ÎÁÄÏ ËÕÞÕ ÍÅÔÏË. ËÏÔÏÒÙÅ × ÄÁÎÎÏÍ ÓÌÕÞÁÅ ÂÕÄÕÔ ÇÌÏÂÁÌØÎÙÍÉ, ÞÔÏ ÎÅÓÅÔ ÎÅËÏÔÏÒÙÅ ÎÅÕÄÏÂÓÔ×Á.Slav.
05 Oct 09 , 12:43 Alexey Vissarionov ÐÉÓÁÌ Ë Nickita A Startcev:
NS>> á ÚÁÞÅÍ ÎÕÖÎÙ ÓÏÐÒÏÇÒÁÍÍÙ? þÅÍ ÜÔÏ ÏÔÌÉÞÁÅÔÓÑ ÏÔ ×ÙÚÏ×Á NS>> ÐÏÄÐÒÏÇÒÁÍÍÙ ÉÚ ÐÏÄÐÒÏÇÒÁÍÍÙ Ó ÎÅÂÏÌØÛÏÊ È×ÏÓÔÏ×ÏÊ ÏÐÔÉÍÉÚÁÃÉÅÊ? NS>> ×ÏÔ ÐÒÉÍÅÒ ÎÁ È86-ÁÓÓÅÍÂÌÅÒÅ:
NS>> ËÌÁÓÓÉËÁ: NS>> sub2: NS>> .... NS>> ret NS>> sub1: NS>> ..... NS>> call sub2 NS>> ret NS>> start: NS>> .... NS>> call sub1 NS>> ....
NS>> ðÏÓÌÅ È×ÏÓÔÏ×ÏÊ ÏÐÔÉÍÉÚÁÃÉÉ: NS>> sub2: NS>> ......... NS>> ret NS>> sub1: NS>> ..... NS>> jmp sub2 NS>> start: NS>> .... NS>> call sub1 NS>> ....
AV> åÓÌÉ ÏÐÔÉÍÉÚÉÒÏ×ÁÔØ - ÔÏ ÐÒÏÝÅ ÓÒÁÚÕ ÉÓÐÏÌØÚÏ×ÁÔØ fall through:
AV> sub1: AV> .... AV> sub2: AV> .... AV> ret AV> main: AV> .... AV> call sub1 AV> .... AV> call sub2 AV> ....
AV> ïÄÎÁ ÐÏÄÐÒÏÇÒÁÍÍÁ Ó Ä×ÕÍÑ ÔÏÞËÁÍÉ ×ÈÏÄÁ - ËÕÄÁ ÐÒÏÝÅ-ÔÏ?
÷ ÄÁÎÎÏÍ ËÏÎËÒÅÔÎÏÍ ÓÌÕÞÁÅ - ÄÁ. ÷ ÏÂÝÅÍ ÓÌÕÞÁÅ ÂÙ×ÁÀÔ ×ÁÒÉÁÎÔÙ. HÁÐÒÉÍÅÒ, ÅÓÔØ Åݣ sub0 É sub3, ËÏÔÏÒÙÅ ÐÏ ÏÂÒÁÚÕ É ÐÏÄÏÂÉÀ sub1 (ÔÏ ÅÓÔØ, sub2 ÂÕÄÅÔ ÉÍ È×ÏÓÔÏÍ). éÌÉ, ÔÁË ÓÌÏÖÉÌÏÓØ, ÞÔÏ ÜÔÉ ÆÕÎËÃÉÉ × ÒÁÚÎÙÈ ÉÓÈÏÄÎÉËÁÈ, ÞÔÏ, × ÐÒÉÎÃÉÐÅ, ÞÁÓÔÎÙÊ ÓÌÕÞÁÊ ÐÅÒ×ÏÇÏ ÉÌÉ Ô×ÏÅÇÏ ×ÁÒÉÁÎÔÁ.. ó Õ×ÁÖÅÎÉÅÍ, HÉËÉÔÁ. icq:240059686, lj-user:nicka_startcev ... ÷ÙÐÏÌÚÅÎØ ÒÏÄÕ ÖÅÎÓËÏÇÏ ÐÏÄÌÏ ÎÁÒÕÛÉÌ ïÂÒÑÄ þÉÓÔÏÐÉÓÁÎÉÑ
05 Oct 09 , 14:14 Slav Matveev ÐÉÓÁÌ Ë Nickita A Startcev:
NS>> á ÚÁÞÅÍ ÎÕÖÎÙ ÓÏÐÒÏÇÒÁÍÍÙ?
NS>> þÅÍ ÜÔÏ ÏÔÌÉÞÁÅÔÓÑ ÏÔ ×ÙÚÏ×Á ÐÏÄÐÒÏÇÒÁÍÍÙ ÉÚ ÐÏÄÐÒÏÇÒÁÍÍÙ Ó NS>> ÎÅÂÏÌØÛÏÊ È×ÏÓÔÏ×ÏÊ ÏÐÔÉÍÉÚÁÃÉÅÊ?
SM> ÔÅÍ ÞÔÏ ÏÂÅ ÒÁÂÏÔÁÀÔ "ÐÁÒÁÌÌÅÌØÎÏ", Á ÎÅ ÏÄÎÁ ÚÁ ÄÒÕÇÏÊ.
ÜÔÏ ËÁË ÜÔÏ ÐÁÒÁÌÌÅÌØÎÏ? ÐÒÏÃÅÓÓÏÒ/ÔÒÅÄ Õ ÎÁÓ ÏÄÉÎ, ËÔÏ-ËÕÄÁ-ËÁË ÓËÁÞÅÔ ×ÐÏÌÎÅ ÐÏÆÉÇ, ÓÔÅË ÍÕÓÏÒÏÍ ÎÅ ÚÁÓÏÒÑÅÔÓÑ.SM> ÐÏÓÌÅ ×ÙÐÏÌÎÅÎÉÑ ÐÏÓÌÅÄÎÅÊ ÉÎÓÔÒÕËÃÉÉ × ÓÔÅËÅ ÂÕÄÅÔ ÁÄÒÅÓ m3, SM> Á ÕÐÒÁ×ÌÅÎÉÅ ÐÅÒÅÄÁÎÏ ÎÁ m2. ÐÏÓÌÅ ×ÙÐÏÌÎÅÎÉÑ ÉÎÓÔÒÕËÃÉÉ ÐÅÒÅÄ m4 SM> × ÓÔÅËÅ ÂÕÄÅÔ ÁÄÒÅÓ m4, Á ÕÐÒÁ×ÌÅÎÉÅ ÐÅÒÅÄÁÎÏ ÎÁ m3.
SM> ÐÏ ÓÒÁ×ÎÅÎÉÀ Ó jmp ×Ï-ÐÅÒ×ÙÈ × Ä×Á ÒÁÚÁ ËÏÒÏÞÅ,
ÇÄÅ ËÏÒÏÞÅ? ÞÔÏ-ÔÏ ÎÅ ×ÉÖÕ.SM> ×Ï-×ÔÏÒÙÈ SM> ÎÅ ÎÁÄÏ ËÕÞÕ ÍÅÔÏË. ËÏÔÏÒÙÅ × ÄÁÎÎÏÍ ÓÌÕÞÁÅ ÂÕÄÕÔ ÇÌÏÂÁÌØÎÙÍÉ, SM> ÞÔÏ ÎÅÓÅÔ ÎÅËÏÔÏÒÙÅ ÎÅÕÄÏÂÓÔ×Á.
Á ÜÔÏ ÕÖÅ ÏÔ ÁÓÓÅÍÂÌÅÒÁ ÚÁ×ÉÓÉÔ. ÔÏÞËÉ ×ÈÏÄÁ × (ÓÏ)ÐÒÏÃÅÄÕÒÕ ×ӣ ÒÁ×ÎÏ ÎÁÄÏ.. ó Õ×ÁÖÅÎÉÅÍ, HÉËÉÔÁ. icq:240059686, lj-user:nicka_startcev ... ÷ÉÇ×ÁÍ ÉÚ ÓÌÏÎÏ×ÏÊ ËÏÓÔÉ
Hi Nickita!
06 Oct 09 13:33, Nickita A Startcev wrote to Slav Matveev:SM>> ÔÅÍ ÞÔÏ ÏÂÅ ÒÁÂÏÔÁÀÔ "ÐÁÒÁÌÌÅÌØÎÏ", Á ÎÅ ÏÄÎÁ ÚÁ ÄÒÕÇÏÊ.
NS> ÜÔÏ ËÁË ÜÔÏ ÐÁÒÁÌÌÅÌØÎÏ? ÐÓÅ×ÄÏ.
SM>> ÐÏ ÓÒÁ×ÎÅÎÉÀ Ó jmp ×Ï-ÐÅÒ×ÙÈ × Ä×Á ÒÁÚÁ ËÏÒÏÞÅ,
NS> ÇÄÅ ËÏÒÏÞÅ? ÞÔÏ-ÔÏ ÎÅ ×ÉÖÕ.
jmp Ä×Á ÓÌÏ×Á, jsr ÏÄÎÏ.
SM>> ÞÔÏ ÎÅÓÅÔ ÎÅËÏÔÏÒÙÅ ÎÅÕÄÏÂÓÔ×Á.
NS> Á ÜÔÏ ÕÖÅ ÏÔ ÁÓÓÅÍÂÌÅÒÁ ÚÁ×ÉÓÉÔ. ÄÁ ËÒÏÍÅ macro-11 ÄÒÕÇÏÇÏ, ÓÞÉÔÁÊ, É ÎÅ ÂÙÌÏ.
NS> ÔÏÞËÉ ×ÈÏÄÁ × (ÓÏ)ÐÒÏÃÅÄÕÒÕ ×ӣ ÒÁ×ÎÏ ÎÁÄÏ. ÄÁ. Á ×ÎÕÔÒÉ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÌÏËÁÌØÎÙÅ ÍÅÔËÉ, ÏÂÌÁÓÔØ ×ÉÄÉÍÏÓÔÉ ËÏÔÏÒÙÈ - ÍÅÖÄÕ Ä×ÕÍÑ ÇÌÏÂÁÌØÎÙÍÉ.
Slav.
Hello Nickita!
06 Oct 09 13:33, Nickita A Startcev wrote to Slav Matveev:NS>>> á ÚÁÞÅÍ ÎÕÖÎÙ ÓÏÐÒÏÇÒÁÍÍÙ?
NS>>> þÅÍ ÜÔÏ ÏÔÌÉÞÁÅÔÓÑ ÏÔ ×ÙÚÏ×Á ÐÏÄÐÒÏÇÒÁÍÍÙ ÉÚ ÐÏÄÐÒÏÇÒÁÍÍÙ Ó NS>>> ÎÅÂÏÌØÛÏÊ È×ÏÓÔÏ×ÏÊ ÏÐÔÉÍÉÚÁÃÉÅÊ?
SM>> ÔÅÍ ÞÔÏ ÏÂÅ ÒÁÂÏÔÁÀÔ "ÐÁÒÁÌÌÅÌØÎÏ", Á ÎÅ ÏÄÎÁ ÚÁ ÄÒÕÇÏÊ.
NS> ÜÔÏ ËÁË ÜÔÏ ÐÁÒÁÌÌÅÌØÎÏ? ÐÒÏÃÅÓÓÏÒ/ÔÒÅÄ Õ ÎÁÓ ÏÄÉÎ, ËÔÏ-ËÕÄÁ-ËÁË NS> ÓËÁÞÅÔ ×ÐÏÌÎÅ ÐÏÆÉÇ, ÓÔÅË ÍÕÓÏÒÏÍ ÎÅ ÚÁÓÏÒÑÅÔÓÑ.
ôÁË, ÑÓÎÏ. ðÒÅÄÓÔÁר ÓÅÂÅ _ÌÉÎÅÊÎÕÀ_ ÐÒÏÇÒÁÍÍÕ. ïÎÁ ÞÔÏ-ÔÏ ÄÅÌÁÅÔ, ×ÒÅÍÑ ÏÔ ×ÒÅÍÅÎÉ ×ÙÚÙ×ÁÑ _ÒÁÚÎÙÅ_ ÐÏÄÐÒÏÇÒÁÍÍÙ. óÏÂÉÒÁÅÍ ÜÔÉ ÐÏÄÐÒÏÇÒÁÍÍÙ × ÏÄÉÎ (× ÓÍÙÓÌÅ ×ÔÏÒÏÊ) ÉÓÈÏÄÎÉË É ÒÁÓÐÏÌÁÇÁÅÍ × ÔÏÊ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ, × ËÏÔÏÒÏÊ ÉÈ ×ÙÚÙ×ÁÀÔ. üÔÏ ËÌÁÓÓÉÞÅÓËÏÅ ÒÅÛÅÎÉÅ.ïÄÎÉÍ ÉÚ ÒÅÛÅÎÉÊ ÔÁËÏÊ (ÄÏÓÔÁÔÏÞÎÏ ÓÐÅÃÉÁÌØÎÏÊ, ÔÅÍ ÎÅ ÍÅÎÅÅ) ÚÁÄÁÞÉ Ñ×ÌÑÀÔÓÑ ÓÏÐÒÏÇÒÁÍÍÙ. çÒÕÂÏ ÇÏ×ÏÒÑ, ÐÒÏÉÓÈÏÄÉÔ "ÐÅÒÅËÌÀÞÅÎÉÅ" ÍÅÖÄÕ ÏÄÎÏÊ É ÄÒÕÇÏÊ ÐÒÏÇÒÁÍÍÁÍÉ. ÷ÙÐÏÌÎÉÌÓÑ ËÕÓÏË ÏÄÎÏÊ, ÐÅÒÅËÌÀÞÉÌÉÓØ ÎÁ ×ÔÏÒÕÀ, ×ÙÐÏÌÎÉÌÓÑ ËÕÓÏË ÔÁÍ, ÐÅÒÅËÌÀÞÉÌÉÓØ ÓÎÏ×Á ÎÁ ÐÅÒ×ÕÀ, ÅÝÅ ËÕÓÏË, É Ô.Ä. ðÒÉÍÅÒ ÜÔÏÇÏ ÄÅÌÁ (ÈÏÔØ ÎÁ ÍÏÊ ×ÚÇÌÑÄ É ÎÅ ÏÓÏÂÏ ÕÄÁÞÎÙÊ) ÍÏÖÅÛØ ÐÏÓÍÏÔÒÅÔØ × ËÎÉÇÅ í. óÉÎÇÅÒÁ "íéHé-ü÷í PDP-11: ðòïçòáííéòï÷áHéå Há ñúùëå áóóåíâìåòá é ïòçáHéúáãéñ íáûéHù", ÅÓÌÉ ÔÅÂÅ, ËÏÎÅÞÎÏ, ÎÅ ÖÁÌËÏ ÐÏÞÔÉ ×ÐÕÓÔÕÀ ÓËÁÞÁÔØ 2.2í. ëÁÞÁÔØ ÚÄÅÓØ:
07 Oct 09 22:35, Shapovalov Alexey Ivanovich -> Alexey Vissarionov:
þÔÏ ËÁÓÁÅÔÓÑ C, ÔÏ ÔÁÍ ÔÁËÏÅ ÐÒÅÄÕÓÍÏÔÒÅÎÏ × switch() - ÅÓÌÉ ÎÁÐÉÓÁÔØ case ÂÅÚ break.Здравствуйте Alexey Vissarionov пишет:
А теперь то же самое, но средствами С, пожалуйста. Чего-то у всех чорти чо выходит.
----- С уважением, Шаповалов Алексей
06 Oct 09 , 22:08 Alexander Zabairatsky ÐÉÓÁÌ Ë Nickita A Startcev:
NS>> ÜÔÏ ËÁË ÜÔÏ ÐÁÒÁÌÌÅÌØÎÏ? ÐÒÏÃÅÓÓÏÒ/ÔÒÅÄ Õ ÎÁÓ ÏÄÉÎ, ËÔÏ-ËÕÄÁ-ËÁË NS>> ÓËÁÞÅÔ ×ÐÏÌÎÅ ÐÏÆÉÇ, ÓÔÅË ÍÕÓÏÒÏÍ ÎÅ ÚÁÓÏÒÑÅÔÓÑ.
AZ> ôÁË, ÑÓÎÏ.
AZ> ðÒÅÄÓÔÁר ÓÅÂÅ _ÌÉÎÅÊÎÕÀ_ ÐÒÏÇÒÁÍÍÕ. ïÎÁ ÞÔÏ-ÔÏ ÄÅÌÁÅÔ, ×ÒÅÍÑ ÏÔ AZ> ×ÒÅÍÅÎÉ ×ÙÚÙ×ÁÑ _ÒÁÚÎÙÅ_ ÐÏÄÐÒÏÇÒÁÍÍÙ. óÏÂÉÒÁÅÍ ÜÔÉ ÐÏÄÐÒÏÇÒÁÍÍÙ × AZ> ÏÄÉÎ (× ÓÍÙÓÌÅ ×ÔÏÒÏÊ) ÉÓÈÏÄÎÉË É ÒÁÓÐÏÌÁÇÁÅÍ × ÔÏÊ AZ> ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ, × ËÏÔÏÒÏÊ ÉÈ ×ÙÚÙ×ÁÀÔ. üÔÏ ËÌÁÓÓÉÞÅÓËÏÅ ÒÅÛÅÎÉÅ.
ÜÜ.. ÏÂÙÞÎÙÅ ÐÏÄÐÒÏÇÒÁÍÍÙ.
AZ> ïÄÎÉÍ ÉÚ ÒÅÛÅÎÉÊ ÔÁËÏÊ (ÄÏÓÔÁÔÏÞÎÏ ÓÐÅÃÉÁÌØÎÏÊ, ÔÅÍ ÎÅ ÍÅÎÅÅ) ÚÁÄÁÞÉ AZ> Ñ×ÌÑÀÔÓÑ ÓÏÐÒÏÇÒÁÍÍÙ. çÒÕÂÏ ÇÏ×ÏÒÑ, ÐÒÏÉÓÈÏÄÉÔ "ÐÅÒÅËÌÀÞÅÎÉÅ" ÍÅÖÄÕ AZ> ÏÄÎÏÊ É ÄÒÕÇÏÊ ÐÒÏÇÒÁÍÍÁÍÉ. ÷ÙÐÏÌÎÉÌÓÑ ËÕÓÏË ÏÄÎÏÊ, ÐÅÒÅËÌÀÞÉÌÉÓØ ÎÁ AZ> ×ÔÏÒÕÀ, ×ÙÐÏÌÎÉÌÓÑ ËÕÓÏË ÔÁÍ, ÐÅÒÅËÌÀÞÉÌÉÓØ ÓÎÏ×Á ÎÁ ÐÅÒ×ÕÀ, ÅÝÅ AZ> ËÕÓÏË, É Ô.Ä.
ÏÂÙÞÎÁÑ ÆÉÎÉÔ ÓÔÜÊÔ ÍÁÛÉÎ. switch() ÐÌÀÓ ÐÅÒÅÍÅÎÎÁÑ Ó ÔÅËÕÝÉÍ ÓÏÓÔÏÑÎÉÅÍ?AZ> äÁ, ÄÏÓÔÁÔÏÞÎÏ ÓÐÅÃÉÆÉÞÅÓËÁÑ ×ÅÝØ, ÎÏ ÉÎÏÇÄÁ ÐÏÍÏÇÁÅÔ. ÷ ÞÁÓÔÎÏÓÔÉ, AZ> ÌÉÞÎÏ Ñ ÐÒÉÄÕÍÁÌ, ËÁË ÉÓÐÏÌØÚÏ×ÁÔØ ÜÔÕ ×ÅÝØ × ÄÒÁÊ×ÅÒÁÈ ÐÏÄ ÎÅ ÏÞÅÎØ AZ> ÓÌÏÖÎÙÅ ïó, × ÞÁÓÔÎÏÓÔÉ RT-11, ÈÏÔÑ ÐÏÔÏÍ Ñ Ó ÕÓÐÅÈÏÍ ÐÏÌØÚÏ×ÁÌ ÜÔÏÔ AZ> ÐÒÉÅÍ É ÐÏÄ MS-DOS.
ÍÁÛÉÎÙ ÓÏÓÔÏÑÎÉÊ É ÐÒÏÞÉÅ ÕÎÉ×ÅÒÓÁÌØÎÙÅ ÏÂÒÁÂÏÔÞÉËÉ ÒÁÚÎÏÛÅÒÓÔÎÙÈ ÓÏÂÙÔÉÊ ÐÉÓÁÔØ (Á ÏÓÏÂÅÎÎÏ ÍÏÄÉÆÉÃÉÒÏ×ÁÔØ) ×ÏÏÂÝÅ ÄÏ×ÏÌØÎÏ ÓÌÏÖÎÏ, ÏÓÏÂÅÎÎÏ ÅÓÌÉ ÚÁÒÁÎÅÅ ÎÅÔ ޣÔËÏÇÏ ôú.AZ> ôÁË ×ÏÔ, ÂÏÌØÛÉÎÓÔ×Ï ÄÒÁÊ×ÅÒÏ× ÓÔÒÏÑÔÓÑ ÐÏ ÏÄÎÏÊ É ÔÏÊ ÖÅ ÏÂÝÅÊ ÓÈÅÍÅ: AZ> ÓÎÁÞÁÌÁ ÄÒÁÊ×ÅÒ ÓÉÎÈÒÏÎÎÏ ÐÏÌÕÞÁÅÔ ÕÐÒÁ×ÌÅÎÉÅ ÏÔ ïó ÐÏ ÚÁÐÒÏÓÕ AZ> ÐÒÉËÌÁÄÎÏÊ ÐÒÏÇÒÁÍÍÙ ÎÁ ××ÏÄ-×Ù×ÏÄ, ÚÁÐÕÓËÁÅÔÓÑ ÓÅËÃÉÑ ÉÎÉÃÉÁÌÉÚÁÃÉÉ. AZ> å£ ÚÁÄÁÞÁ - ×ÙÄÁÔØ ÞÔÏ-ÔÏ × ÕÓÔÒÏÊÓÔ×Ï ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÚÁÐÕÓÔÉÔØ ÎÁ AZ> ÎÅÍ ÏÐÅÒÁÃÉÀ ××ÏÄÁ-×Ù×ÏÄÁ, ÒÁÚÒÅÛÉÔØ ÐÒÅÒÙ×ÁÎÉÅ ÏÔ ÕÓÔÒÏÊÓÔ×Á É ×ÙÊÔÉ.
static bool need_init=false;
int main_loop(PARAM param) { if(need_init) return need_init=init_func(param);
int subfunction=get_subfunction(param);
switch(subfunction) { case REQ_FOO: return do_foo(param); case REQ_BAR: return do_bar(param); .... case ON_IDLE: return on_idle(param); .... default: return def_func(param); } }
AZ> äÁÌÅÅ ÓÌÅÄÕÀÔ ÏÄÉÎ ÉÌÉ ÎÅÓËÏÌØËÏ ×ÈÏÄÏ× ÐÏ ÐÒÅÒÙ×ÁÎÉÀ, ÐÏ ËÏÔÏÒÙÍ AZ> ÄÒÁÊ×ÅÒ ÄÏÌÖÅÎ ÐÅÒÅÄÁÔØ ÕÓÔÒÏÊÓÔ×Õ ËÁËÉÅ-ÔÏ ÄÁÎÎÙÅ, ÐÒÏÁÎÁÌÉÚÉÒÏ×ÁÔØ AZ> ÓÏÓÔÏÑÎÉÅ É Ô.Ð. ïÔÒÁÂÏÔÁ× ÏÐÅÒÁÃÉÀ ××ÏÄÁ-×Ù×ÏÄÁ ÐÏÌÎÏÓÔØÀ, ÉÌÉ AZ> ÏÂÎÁÒÕÖÉ× ÏÛÉÂËÕ, ÄÒÁÊ×ÅÒ ÄÏÌÖÅÎ ÚÁËÒÙÔØ ÐÒÅÒÙ×ÁÎÉÑ ÏÔ ÕÓÔÒÏÊÓÔ×Á É AZ> ËÁË-ÔÏ ÓÉÇÎÁÌÉÚÉÒÏ×ÁÔØ ïó, ÞÔÏ ÏÐÅÒÁÃÉÑ ÚÁ×ÅÒÛÅÎÁ (×ÏÚÍÏÖÎÏ, Ó ×ÙÄÁÞÅÊ AZ> ÓÔÁÔÕÓÁ).
on_idle - ÁÎÁÌÏÇÉÞÎÏ ÐÒÏÞÉÍ.
AZ> óÍÏÔÒÉÛØ ÉÓÈÏÄÎÉË (ÉÌÉ ÅÝÅ ÈÕÖÅ - ÄÉÚÁÓÍ) ÔÁËÏÇÏ ÄÒÁÊ×ÅÒÁ, É AZ> ÐÏÔÉÈÏÎØËÕ Ú×ÅÒÅÅÛØ: ×Ú×ÏÄÑÔ ËÁËÉÅ-ÔÏ ËÌÀÞÉ-ÉÎÄÉËÁÔÏÒÙ-ÆÌÁÖËÉ, ÐÏÔÏÍ, AZ> ÐÏÌÕÞÉ× ÐÒÅÒÙ×ÁÎÉÅ ÐÏ ÎÉÍ ÐÅÒÅÈÏÄÑÔ ÞÅÒÔ ÚÎÁÅÔ ËÕÄÁ, × ÏÂÝÅÍ, ÍÒÁË,
ÎÅ ÍÒÁË, Á ÏÂÙÞÎÙÊ ÇÏ×ÎÏËÏÄ Ó ÚÁÐÌÁÔËÁÍÉ. ÎÕ ÎÅ ÐÏÎÑÌ Á×ÔÏÒ, ÞÔÏ ÔÕÔ ÂÁÎÁÌØÎÙÊ FSM ÓÏ ×ÓÅÍÉ ÓÏÐÕÔÓÔ×ÕÀÝÉÍÉ.AZ> çÏÒÁÚÄÏ ÌÏÇÉÞÎÅÅ AZ> ÐÉÓÁÔØ ÔÁËÕÀ ÐÒÏÇÒÁÍÍÕ ÌÉÎÅÊÎÏ, ÎÏ ÄÌÑ ÜÔÏÇÏ ÎÁÄÏ ÉÍÅÔØ ×ÏÚÍÏÖÎÏÓÔØ AZ> ×ÙÚÏ×Á "ÖÄÁÔØ ÐÒÅÒÙ×ÁÎÉÑ".
ÍÏÖÎÏ É ÔÁË. ôÏÌØËÏ ÄÁÌÅËÏ ÎÅ ÆÁËÔ, ÞÔÏ ×ÙÚÙ×ÁÀÔ ÎÁÓ ÉÚ ÏÄÎÏÇÏ É ÔÏÇÏ ÖÅ ÍÅÓÔÁ. ìÕÞÛÅ ÉÍÅÔØ ÐÏÍÅÎØÛÅ ×ÎÕÔÒÅÎÎÉÈ ÓÏÓÔÏÑÎÉÊ.AZ> ôÏ ÅÓÔØ ÐÏÌÕÞÉÌ ÕÐÒÁ×ÌÅÎÉÅ ÏÔ ïó, AZ> ÐÒÏÉÎÉÔÉÌ, ÞÔÏ ÎÁÄÏ, ÖÄÅÛØ ÐÒÅÒÙ×ÁÎÉÑ (ÐÒÏÓÔÙÍ call'ÏÍ), ÐÏÔÏÍ AZ> ÐÅÒÅÓÙÌÁÅÛØ ÞÔÏ É ËÕÄÁ ÎÁÄÏ, ÓÎÏ×Á ÖÄÅÛØ, ÐÒÏ×ÅÒÑÅÛØ, É Ô.Ð., ÚÁËÏÎÞÉ× AZ> ×ÓÅ ÄÅÊÓÔ×ÉÑ, ÚÁËÒÙ×ÁÅÛØ ÐÒÅÒÙ×ÁÎÉÑ É ×ÏÚ×ÒÁÝÁÅÛØ ÓÉÓÔÅÍÅ ÕÐÒÁ×ÌÅÎÉÅ. AZ> ÷ÏÔ, ÜÔÕ ÆÅÎÅÞËÕ Ñ É ÐÒÉÍÅÎÑÌ × ÄÒÏ×ÁÈ, ËÁË ÐÏÄ RT-11, ÔÁË É ÐÏÄ äïó. AZ> ÷ÓÅ ÐÒÏÓÔÏ: ×ÙÚÙ×ÁÅÛØ × ÎÕÖÎÏÍ ÍÅÓÔÅ ÐÏÄÐÒÏÇÒÁÍËÕ IntWait, Á × ÎÅÊ AZ> ÄÏÓÔÁÅÛØ ÉÚ ÓÔÅËÁ ÁÄÒÅÓ ×ÏÚ×ÒÁÔÁ, ÓÏÈÒÁÎÑÅÛØ × ÓÔÁÔÉÞÅÓËÉÈ ÐÅÒÅÍÅÎÎÙÈ AZ> ×ÓÅ, ÞÔÏ ÎÁÄÏ, ×ÏÓÓÔÁÎÁ×ÌÉ×ÁÅÛØ ÒÅÇÉÓÔÒÙ, É ×ÙÈÏÄÉÛØ, RET'ÏÍ. ðÏÌÕÞÉ× AZ> ÐÒÅÒÙ×ÁÎÉÅ, ÓÏÈÒÁÎÑÅÛØ ÞÔÏ ÎÁÄÏ, ÄÏÓÔÁÅÛØ ÉÚ ÜÔÉÈ ÐÅÒÅÍÅÎÎÙÈ ÒÅÇÉÓÔÒÙ AZ> É ÐÅÒÅÈÏÄÉÛØ ÐÏ ÄÏÂÙÔÏÍÕ ÐÒÉ ÐÒÏÛÌÏÍ ×ÙÈÏÄÅ ÉÚ ÓÔÅËÁ ÁÄÒÅÓÕ ×ÏÚ×ÒÁÔÁ.
ÉÚ×ÒÁÔ. õÖ ÌÕÞÛÅ ÞÅÓÔÎÙÊ É ÐÒÏ×ÅÒÑÅÍÙÊ ËÏÍÐÉÌÑÔÏÒÏÍ ÕËÁÚÁÔÅÌØ ÎÁ Æ-ÃÉÀ, ÉÌÉ ÄÁÖÅ ËÁË Õ ÍÅÎÑ ×ÙÛÅ, ÅÓÌÉ ÏÎÁ ËÒÁÊÎÅ ÏÄÎÏÔÉÐÎÁ.. ó Õ×ÁÖÅÎÉÅÍ, HÉËÉÔÁ. icq:240059686, lj-user:nicka_startcev ... ðÒÉÓÔÁÀÔ Ë [úÁ/ðÏÄ]ÓÔÁ×Å ÇÏÓÔÉ
07 Oct 09 , 22:53 Alexey Vissarionov ÐÉÓÁÌ Ë Shapovalov Alexey Ivanovich:
SI>> á ÔÅÐÅÒØ ÔÏ ÖÅ ÓÁÍÏÅ, ÎÏ ÓÒÅÄÓÔ×ÁÍÉ ó, ÐÏÖÁÌÕÊÓÔÁ. SI>> þÅÇÏ-ÔÏ Õ ×ÓÅÈ ÞÏÒÔÉ ÞÏ ×ÙÈÏÄÉÔ.
AV> þÔÏ ËÁÓÁÅÔÓÑ C, ÔÏ ÔÁÍ ÔÁËÏÅ ÐÒÅÄÕÓÍÏÔÒÅÎÏ × switch() - ÅÓÌÉ ÎÁÐÉÓÁÔØ AV> case ÂÅÚ break.
éÎÏÇÄÁ É ÓÉÛÎÙÅ ÏÐÔÉÍÉÚÁÔÏÒÙ ÔÁË ÄÅÌÁÀÔ. õ ÎÅËÏÔÏÒÙÈ, ÐÒÁ×ÄÁ, ÄÌÑ ÜÔÏÇÏ ÎÁÄÏ ÐÒÏÞÉÔÁÔØ ÉÎÓÔÒÕËÃÉÀ É ÏÔËÌÀÞÉÔØ ÏÄÎÕ ÉÚ ÆÉÛÅË É/ÉÌÉ ÄÏÂÁ×ÉÔØ Åݣ ÏÄÉÎ ËÌÀÞÉË.. ó Õ×ÁÖÅÎÉÅÍ, HÉËÉÔÁ. icq:240059686, lj-user:nicka_startcev ... ËÏ×ÁÊÎÙ ÚÌÏÓÎÙ ÈÅÎÔÁÊ
Hello Nickita!
08 Oct 09 00:45, Nickita A Startcev wrote to Alexander Zabairatsky:AZ>> ÚÁÄÁÞÉ Ñ×ÌÑÀÔÓÑ ÓÏÐÒÏÇÒÁÍÍÙ. çÒÕÂÏ ÇÏ×ÏÒÑ, ÐÒÏÉÓÈÏÄÉÔ AZ>> "ÐÅÒÅËÌÀÞÅÎÉÅ" ÍÅÖÄÕ ÏÄÎÏÊ É ÄÒÕÇÏÊ ÐÒÏÇÒÁÍÍÁÍÉ. ÷ÙÐÏÌÎÉÌÓÑ ËÕÓÏË AZ>> ÏÄÎÏÊ, ÐÅÒÅËÌÀÞÉÌÉÓØ ÎÁ ×ÔÏÒÕÀ, ×ÙÐÏÌÎÉÌÓÑ ËÕÓÏË ÔÁÍ, AZ>> ÐÅÒÅËÌÀÞÉÌÉÓØ ÓÎÏ×Á ÎÁ ÐÅÒ×ÕÀ, ÅÝÅ ËÕÓÏË, É Ô.Ä.
NS> ÏÂÙÞÎÁÑ ÆÉÎÉÔ ÓÔÜÊÔ ÍÁÛÉÎ. NS> switch() ÐÌÀÓ ÐÅÒÅÍÅÎÎÁÑ Ó ÔÅËÕÝÉÍ ÓÏÓÔÏÑÎÉÅÍ?
íÏÖÎÏ, ÎÏ ÇÒÏÍÏÚÄËÏ. ÷ÐÒÏÞÅÍ, ÎÁ óÉ ÜÔÏ, ÐÏÖÁÌÕÊ, ÅÄÉÎÓÔ×ÅÎÎÙÊ ×ÁÒÉÁÎÔ - ÍÁÎÉÐÕÌÉÒÏ×ÁÔØ ÓÔÅËÏÍ × ÐÒÏÇÒÁÍÍÅ ÎÁ óÉ ÏÐÁÓÎÏ, ÍÏÖÎÏ ÔÁËÉÈ ÄÒÏ× ÎÁÌÏÍÁÔØ...AZ>> äÁ, ÄÏÓÔÁÔÏÞÎÏ ÓÐÅÃÉÆÉÞÅÓËÁÑ ×ÅÝØ, ÎÏ ÉÎÏÇÄÁ ÐÏÍÏÇÁÅÔ. ÷ AZ>> ÞÁÓÔÎÏÓÔÉ, ÌÉÞÎÏ Ñ ÐÒÉÄÕÍÁÌ, ËÁË ÉÓÐÏÌØÚÏ×ÁÔØ ÜÔÕ ×ÅÝØ × ÄÒÁÊ×ÅÒÁÈ AZ>> ÐÏÄ ÎÅ ÏÞÅÎØ ÓÌÏÖÎÙÅ ïó, × ÞÁÓÔÎÏÓÔÉ RT-11, ÈÏÔÑ ÐÏÔÏÍ Ñ Ó ÕÓÐÅÈÏÍ AZ>> ÐÏÌØÚÏ×ÁÌ ÜÔÏÔ ÐÒÉÅÍ É ÐÏÄ MS-DOS.
NS> ÍÁÛÉÎÙ ÓÏÓÔÏÑÎÉÊ É ÐÒÏÞÉÅ ÕÎÉ×ÅÒÓÁÌØÎÙÅ ÏÂÒÁÂÏÔÞÉËÉ ÒÁÚÎÏÛÅÒÓÔÎÙÈ NS> ÓÏÂÙÔÉÊ ÐÉÓÁÔØ (Á ÏÓÏÂÅÎÎÏ ÍÏÄÉÆÉÃÉÒÏ×ÁÔØ) ×ÏÏÂÝÅ ÄÏ×ÏÌØÎÏ ÓÌÏÖÎÏ, NS> ÏÓÏÂÅÎÎÏ ÅÓÌÉ ÚÁÒÁÎÅÅ ÎÅÔ ޣÔËÏÇÏ ôú.
AZ>> ôÁË ×ÏÔ, ÂÏÌØÛÉÎÓÔ×Ï ÄÒÁÊ×ÅÒÏ× ÓÔÒÏÑÔÓÑ ÐÏ ÏÄÎÏÊ É ÔÏÊ ÖÅ ÏÂÝÅÊ AZ>> ÓÈÅÍÅ: ÓÎÁÞÁÌÁ ÄÒÁÊ×ÅÒ ÓÉÎÈÒÏÎÎÏ ÐÏÌÕÞÁÅÔ ÕÐÒÁ×ÌÅÎÉÅ ÏÔ ïó ÐÏ AZ>> ÚÁÐÒÏÓÕ ÐÒÉËÌÁÄÎÏÊ ÐÒÏÇÒÁÍÍÙ ÎÁ ××ÏÄ-×Ù×ÏÄ, ÚÁÐÕÓËÁÅÔÓÑ ÓÅËÃÉÑ AZ>> ÉÎÉÃÉÁÌÉÚÁÃÉÉ. å£ ÚÁÄÁÞÁ - ×ÙÄÁÔØ ÞÔÏ-ÔÏ × ÕÓÔÒÏÊÓÔ×Ï ÄÌÑ ÔÏÇÏ, AZ>> ÞÔÏÂÙ ÚÁÐÕÓÔÉÔØ ÎÁ ÎÅÍ ÏÐÅÒÁÃÉÀ ××ÏÄÁ-×Ù×ÏÄÁ, ÒÁÚÒÅÛÉÔØ ÐÒÅÒÙ×ÁÎÉÅ AZ>> ÏÔ ÕÓÔÒÏÊÓÔ×Á É ×ÙÊÔÉ.
NS> static bool need_init=false;
NS> int main_loop(PARAM param) NS> { NS> if(need_init) NS> return need_init=init_func(param);
NS> int subfunction=get_subfunction(param);
NS> switch(subfunction) NS> { NS> case REQ_FOO: NS> return do_foo(param); NS> case REQ_BAR: NS> return do_bar(param); NS> .... NS> case ON_IDLE: NS> return on_idle(param); NS> .... NS> default: NS> return def_func(param); NS> } NS> }
äÁ-ÄÁ. ðÏÓÍÏÔÒÉ, ËÁË Ñ ÒÅÛÉÌ ÜÔÕ ÚÁÄÁÞÕ, ÞÔÏÂÙ×ÓÑ ÜÔÁ ÅÒÕÎÄÁ ÎÅ ÐÕÔÁÌÁÓØ ÐÏÄ ÎÏÇÁÍÉ É ÎÅ ÏÔ×ÌÅËÁÌÁ ÏÔ ÏÓÎÏ×ÎÏÇÏ ÁÌÇÏÒÉÔÍÁ.AZ>> óÍÏÔÒÉÛØ ÉÓÈÏÄÎÉË (ÉÌÉ ÅÝÅ ÈÕÖÅ - ÄÉÚÁÓÍ) ÔÁËÏÇÏ ÄÒÁÊ×ÅÒÁ, É AZ>> ÐÏÔÉÈÏÎØËÕ Ú×ÅÒÅÅÛØ: ×Ú×ÏÄÑÔ ËÁËÉÅ-ÔÏ ËÌÀÞÉ-ÉÎÄÉËÁÔÏÒÙ-ÆÌÁÖËÉ, AZ>> ÐÏÔÏÍ, ÐÏÌÕÞÉ× ÐÒÅÒÙ×ÁÎÉÅ ÐÏ ÎÉÍ ÐÅÒÅÈÏÄÑÔ ÞÅÒÔ ÚÎÁÅÔ ËÕÄÁ, × AZ>> ÏÂÝÅÍ, ÍÒÁË,
NS> ÎÅ ÍÒÁË, Á ÏÂÙÞÎÙÊ ÇÏ×ÎÏËÏÄ Ó ÚÁÐÌÁÔËÁÍÉ. NS> ÎÕ ÎÅ ÐÏÎÑÌ Á×ÔÏÒ, ÞÔÏ ÔÕÔ ÂÁÎÁÌØÎÙÊ FSM ÓÏ ×ÓÅÍÉ ÓÏÐÕÔÓÔ×ÕÀÝÉÍÉ.
ïÎÏ-ÔÏ ÐÏÎÑÔÎÏ, ÔÏÌØËÏ ÒÅÁÌÉÚÁÃÉÑ FSM ÔÏÖÅ ÐÕÔÁÅÔÓÑ ÐÏÄ ÎÏÇÁÍÉ É ÏÔ×ÌÅËÁÅÔ ÏÔ ÏÓÎÏ×ÎÏÊ ÚÁÄÁÞÉ.AZ>> çÏÒÁÚÄÏ ÌÏÇÉÞÎÅÅ AZ>> ÐÉÓÁÔØ ÔÁËÕÀ ÐÒÏÇÒÁÍÍÕ ÌÉÎÅÊÎÏ, ÎÏ ÄÌÑ ÜÔÏÇÏ ÎÁÄÏ ÉÍÅÔØ AZ>> ×ÏÚÍÏÖÎÏÓÔØ ×ÙÚÏ×Á "ÖÄÁÔØ ÐÒÅÒÙ×ÁÎÉÑ".
NS> ÍÏÖÎÏ É ÔÁË. ôÏÌØËÏ ÄÁÌÅËÏ ÎÅ ÆÁËÔ, ÞÔÏ ×ÙÚÙ×ÁÀÔ ÎÁÓ ÉÚ ÏÄÎÏÇÏ É ÔÏÇÏ NS> ÖÅ ÍÅÓÔÁ. ìÕÞÛÅ ÉÍÅÔØ ÐÏÍÅÎØÛÅ ×ÎÕÔÒÅÎÎÉÈ ÓÏÓÔÏÑÎÉÊ.
æÁËÔ-ÆÁËÔ. ðÒÅÒÙ×ÁÎÉÑ, ÏÂÙÞÎÏ, ÜËÏÎÏÍÑÔ, ÎÅ ÔÁË ÉÈ ÍÎÏÇÏ, ÞÔÏÂÙ ÏÔÄÁÔØ ËÕÞËÕ ÎÁ ÕÓÔÒÏÊÓÔ×Ï. äÁÖÅ ÅÓÌÉ ÏÄÉÎ ËÏÎÔÒÏÌÌÅÒ ÏÂÓÌÕÖÉ×ÁÅÔ ÎÅÓËÏÌØËÏ ÕÓÔÒÏÊÓÔ×, ÓÔÁÒÁÀÔÓÑ ×ÙÄÅÌÉÔØ ÏÄÎÏ ÐÒÅÒÙ×ÁÎÉÅ ÎÁ ËÏÎÔÒÏÌÌÅÒ, Á ÎÏÍÅÒ ÕÓÔÒÏÊÓÔ×Á, ×ÙÚ×Á×ÛÅÇÏ ËÏÎËÒÅÔÎÏÅ ÐÒÅÒÙ×ÁÎÉÅ ÓÕÀÔ × ÏÔÄÅÌØÎÙÊ ÒÅÇÉÓÔÒ ËÏÎÔÒÏÌÌÅÒÁ.AZ>> ôÏ ÅÓÔØ ÐÏÌÕÞÉÌ ÕÐÒÁ×ÌÅÎÉÅ ÏÔ ïó, AZ>> ÐÒÏÉÎÉÔÉÌ, ÞÔÏ ÎÁÄÏ, ÖÄÅÛØ ÐÒÅÒÙ×ÁÎÉÑ (ÐÒÏÓÔÙÍ call'ÏÍ), ÐÏÔÏÍ AZ>> ÐÅÒÅÓÙÌÁÅÛØ ÞÔÏ É ËÕÄÁ ÎÁÄÏ, ÓÎÏ×Á ÖÄÅÛØ, ÐÒÏ×ÅÒÑÅÛØ, É Ô.Ð., AZ>> ÚÁËÏÎÞÉ× ×ÓÅ ÄÅÊÓÔ×ÉÑ, ÚÁËÒÙ×ÁÅÛØ ÐÒÅÒÙ×ÁÎÉÑ É ×ÏÚ×ÒÁÝÁÅÛØ ÓÉÓÔÅÍÅ AZ>> ÕÐÒÁ×ÌÅÎÉÅ. ÷ÏÔ, ÜÔÕ ÆÅÎÅÞËÕ Ñ É ÐÒÉÍÅÎÑÌ × ÄÒÏ×ÁÈ, ËÁË ÐÏÄ RT-11, AZ>> ÔÁË É ÐÏÄ äïó. ÷ÓÅ ÐÒÏÓÔÏ: ×ÙÚÙ×ÁÅÛØ × ÎÕÖÎÏÍ ÍÅÓÔÅ ÐÏÄÐÒÏÇÒÁÍËÕ AZ>> IntWait, Á × ÎÅÊ ÄÏÓÔÁÅÛØ ÉÚ ÓÔÅËÁ ÁÄÒÅÓ ×ÏÚ×ÒÁÔÁ, ÓÏÈÒÁÎÑÅÛØ × AZ>> ÓÔÁÔÉÞÅÓËÉÈ ÐÅÒÅÍÅÎÎÙÈ ×ÓÅ, ÞÔÏ ÎÁÄÏ, ×ÏÓÓÔÁÎÁ×ÌÉ×ÁÅÛØ ÒÅÇÉÓÔÒÙ, É AZ>> ×ÙÈÏÄÉÛØ, RET'ÏÍ. ðÏÌÕÞÉ× ÐÒÅÒÙ×ÁÎÉÅ, ÓÏÈÒÁÎÑÅÛØ ÞÔÏ ÎÁÄÏ, AZ>> ÄÏÓÔÁÅÛØ ÉÚ ÜÔÉÈ ÐÅÒÅÍÅÎÎÙÈ ÒÅÇÉÓÔÒÙ É ÐÅÒÅÈÏÄÉÛØ ÐÏ ÄÏÂÙÔÏÍÕ ÐÒÉ AZ>> ÐÒÏÛÌÏÍ ×ÙÈÏÄÅ ÉÚ ÓÔÅËÁ ÁÄÒÅÓÕ ×ÏÚ×ÒÁÔÁ.
NS> ÉÚ×ÒÁÔ. õÖ ÌÕÞÛÅ ÞÅÓÔÎÙÊ É ÐÒÏ×ÅÒÑÅÍÙÊ ËÏÍÐÉÌÑÔÏÒÏÍ ÕËÁÚÁÔÅÌØ ÎÁ NS> Æ-ÃÉÀ,
ëÁËÉÍ ËÏÍÐÉÌÑÔÏÒÏÍ? áÓÍ.NS> ÉÌÉ ÄÁÖÅ ËÁË Õ ÍÅÎÑ ×ÙÛÅ, ÅÓÌÉ ÏÎÁ ËÒÁÊÎÅ ÏÄÎÏÔÉÐÎÁ.
èÏÔÅÌ ÂÙÌÏ ×ÙÌÏÖÉÔØ ÐÒÉÍÅÒÞÉË, ÎÏ Õ×Ù, Ó×ÏÉÈ ÐÒÏÅËÔÏ× ÎÁ È86 ÎÅ ÎÁÛÅÌ - ÉÈ-ÔÏ É ÂÙÌÏ ÒÁÚ-Ä×Á, É ÏÂÞÅÌÓÑ, É ÈÏÔØ ÓÔÒÅÌÑÊ, ÎÅ ×ÓÐÏÍÎÀ, ËÕÄÁ Ñ ÉÈ ÚÁÔÏÌËÁÌ. åÓÔØ ÔÏÌØËÏ ÄÌÑ RT-11, ÅÓÔÅÓÔ×ÅÎÎÏ, ÎÁ ÁÓÍÅ, ËÏÔÏÒÙÊ Macro-11. ðÏËÁÚÁÔØ?÷ÓÅÇÏ ÄÏÂÒÏÇÏ!
á. úÁÂÁÊÒÁÃËÉÊ.Здравствуйте
Alexey Vissarionov пишет:
Hе понял, а как на С реализовать call sub1 и call sub2 (где subx метки switch )? Или я не понимаю, или ты забыл, что нужны точки входа, а не просто продолжить один кусок после другого.
----- С уважением, Шаповалов Алексей
Здравствуйте Nickita A Startcev пишет:
Да, оптимизатор - это хорошо. Hо изредка хотелось бы и ручками явно сказать.
----- С уважением, Шаповалов Алексей
Hello, Shapovalov Alexey Ivanovich! You wrote in conference fido7.ru.embedded to Nickita A Startcev on Fri, 9 Oct 2009 13:55:47 +0000 (UTC):
AV>>> Что касается C, то там такое предусмотрено в switch() - если AV>>> написать case без break.
SAI> Да, оптимизатор - это хорошо. Hо изредка хотелось бы и ручками явно SAI> сказать.
Да ну на фиг, сегодня оптимизирующие компиляторы достаточно продвинуты, чтобы не зниматься ручной оптимизаций на уровне ассемблера, те более какого-то тупого голимого CISC, с кучей тактов на вычурную команду, вроде давно почившго в бозе pdp11.
dima
Здравствуйте Dmitry Orlov пишет:
Случаи бываю разные. Хотя такой "ужос" всё реже и реже нужен.
Hello, Shapovalov Alexey Ivanovich! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Mon, 12 Oct
2009 09:19:30 +0000 (UTC):SAI>>> Да, оптимизатор - это хорошо. Hо изредка хотелось бы и ручками SAI>>> явно сказать.
SAI> Случаи бываю разные. Хотя такой "ужос" всё реже и реже нужен.
Случаи конечно бывают разные, кто бы спорил, но даже в мелком embedded это что-то исключительное. Hу там еще математику какую на асме написать, все же С с его стандартом на равнество типов аргументов и результата может заметно проигрывать ручной оптимизации, но оптимизировать на уровне асма управляющие конструкции - это сегодня уже за пределами здравого смысла.
dima
Have something to add? Share your thoughts — no account required.
Ask the community — no account required