AVR GCC&IAR

Jan 06, 2004 Last reply: 22 years ago 1699 Replies
ðpÉ×ÅÔ George!

17 ñÎ× 04 05:48, George Shepelev -> Dima Orlov:

HÁ×ÅpÎÏ ×ÓÅ-ÔÁËÉ ÌÅÇÞÅ. éÚ-ÚÁ ÏÂßÅÍÁ ÔÅËÓÔÁ. üÔÏ ×ÓÅ-ÔÁËÉ ÏÇpÏÍÎÏÅ yÄÏÂÓÔ×Ï, ÞÔÏ ËÁËÉÅ-ÔÏ ÌÏÇÉÞÅÓËÉ ÚÁ×ÅpÛÅÎÎÙÅ ÄÅÊÓÔ×ÉÑ ÏÐÉÓÙ×ÁÀÔÓÑ ÚÎÁÞÉÔÅÌØÎÏ ËpÁÔÞÅ. õ ÍÅÎÑ ÏÓÏÂÙÅ ÐpÏÂÌÅÍÙ ×ÙÚÙ×ÁÀÔ "ÎÅ×ÉÄÉÍÙÅ" ÏÛÉÂËÉ. ô.Å. ÐpÏÐyÓË ÔÅÈ ÄÅÊÓÔ×ÉÊ, ËÏÔÏpÙÅ ÐÏÄpÁÚyÍÅ×ÁÀÔÓÑ ÓÁÍÉ ÓÏÂÏÊ, ÔÁË ËÁË ÐpÉ ÐÏ×ÔÏpÎÏÍ ÞÔÅÎÉÉ, Ñ ÎÅ ÚÁÍÅÞÁÀ ÐpÏÐyÓËÁ ÉÈ - ÎÁÓÔÏÌØËÏ ÏÂÑÚÁÔÅÌØÎÏ ÄÏÌÖÎÏ ÂÙÔØ ÉÈ ÐpÉÓyÔÓÔ×ÉÅ. äÁ, ×ÓÅ-ÔÁËÉ ÌÅÇÞÅ. é ÌÅÇÞÅ ÌÏËÁÌÉÚÏ×ÁÔØ ËyÓÏË Ó ÏÛÉÂËÏÊ.

Igor

Hello, Andrew Gooskov !

ôÅÓÔÉÒÕÅÔÓÑ ÎÅ ÐÒÏÇÒÁÍÍÁ, ÔÅÓÔÉÒÕÅÔÓÑ ÕÓÔÒÏÊÓÔ×Ï, É ÄÒÕÇÏÇÏ ÍÅÔÏÄÁ ÐÒÏÓÔÏ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ.

ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×.

Hello Alexei.

14 Jan 04 00:39, you wrote to Alexey V Bugrov:

AZ> HÁ ÓÁÍÏÍ ÄÅÌÅ, ÔpÁÎÓÌÑÔÏp - ÜÔÏ ÂÏÌÅÅ ÛÉpÏËÏÅ ÐÏÎÑÔÉÅ ×ËÌÀÞÁÀÝÅÅ × AZ> ÓÅÂÑ ËÁË ËÏÍÐÉÌÑÔÏpÙ, ÔÁË É ÉÎÔÅpÐpÅÔÁÔÏpÙ, IMHO. á ÐpÏÇpÁÍÍÁ, AZ> ÚÁÎÉÍÁÀÝÁÑÓÑ ÐÅpÅ×ÏÄÏÍ ÍÎÅÍÏÎÉË × ËÏÄ, Ó yÞÅÔÏÍ ÓÉÍ×ÏÌÉÞÅÓËÉÈ AZ> ËÏÎÓÔÁÎÔ, ÍÅÔÏË É ÍÁËpÏÓÏ× - ÜÔÏ ×ÓÅÔÁËÉ ËÏÍÐÉÌÑÔÏp. ôÏÌØËÏ AZ> ÉÓÐÏÌØÚyÀÝÉÅ ÂÏÌÅÅ ÐpÏÓÔÙÅ ÍÅÈÁÎÉÚÍÙ, ÎÅÖÅÌÉ ËÏÍÐÉÌÑÔÏp ñ÷õ.

AZ> P.S. á ×ÏÏÂÝÅ, ÚpÑ Ñ ÎÁ×ÅpÎÏÅ ÎÁÞÁÌ ÜÔy ÔÅÍy. óËÏÌØËÏ ÌÀÄÅÊ - ÓÔÏÌØËÏ AZ> É ÍÎÅÎÉÊ AZ> ÐÏ ÐÏ×ÏÄy ÉÎÓÔpyÍÅÎÔÁ ÷ ËÏÎÃÅ ËÏÎÃÏ× ÅÓÔØ çïóô åóðä É ÔÁÍ ×ÓÅ ÔÅpÍÉÎÙ ÏÐpÅÄÅÌÅÎÙ. ôÁË ÞÔÏ ÄÁ×ÁÊÔÅ ÏÓÔÁ×ÉÍ ËÏÐÁÎÉÅ × ÔÅpÍÉÎÁÈ ÎÏpÍÏËÏÎÔpÏÌÀ. ÷ÓÅ É ÔÁË ÐÏÎÉÍÁÀÔ Ï ÞÅÍ ÉÄÅÔ pÅÞØ: ËÏÍÐÉÌÑÔÏp, ÔpÁÎÓÌÑÔÏp, ÄÁ ÈÏÔØ ÇÏpÛËÏÍ ÎÁÚÏ×É... ðÏ ËÏÎÔÅËÓÔÕ ×ÉÄÎÏ Ï ÞÅÍ ÞÅÌÏ×ÅË ÓËÁÚÁÔØ ÈÏÔÅÌ. AZ> - ÇÌÁ×ÎÏÅ ÖÅ × ÔÏÍ, ÞÔÏÂÙ y ÎÁÓ ÐÏÌyÞÁÌÉÓØ AZ> ÈÏpÏÛÉÅ AZ> pÁÂÏÞÉÅ ÐpÏÅËÔÙ... :-) ôÏÞÎÏ! AZ> ÷ÓÅÈ ÓÏ óÔÁpÙÍ HÏ×ÙÍ çÏÄÏÍ - ÈÏÔÑ, ×ÏÏÂÝÅ ÓÔpÁÎÎÏÅ ÓÌÏ×ÏÓÏÞÅÔÁÎÉÅ... AZ> ;-) :)

Sergey

Hello Dima.

13 Jan 04 18:18, you wrote to Alexei Zaiko:

÷ÙÓËÁÖÕ Ó×ÏÅ ÍÎÅÎÉÅ. HÁÐpÉÍÅp, ÓÉÓÔÅÍÁ ËÏÍÁÎÄ 51-ÇÏ ËÏÎÔpÏÌÌÅpÁ ÓÏ×ÓÅÍ ÐÏÄ ó ÎÅ ÚÁÔÏÞÅÎÁ. HÅÔ ÌÏÇÉÞÎÏÇÏ ÕÎÉ×ÅpÓÁÌØÎÏÇÏ ÓÐÏÓÏÂÁ ÐÅpÅÄÁÞÉ ÐÁpÁÍÅÔpÏ× ÆÕÎËÃÉÑÍ. ÷ÏÔ ×ÓÅ ÐÉÓÁÔÅÌÉ ËÏÍÐÉÌÑÔÏpÏ× É ÉÚ×pÁÝÁÀÔÓÑ ËÁË ÍÏÇÕÔ. sdcc ÚÁÞÅÍ-ÔÏ ÞÅpÅÚ dptr ÐÅpÅÄÁÅÔ, Á keil ×ÏÏÂÝÅ ÐÏ pÁÚÎÏÍÕ - Ó×ÏÉÍ ÆÕÎËÃÉÑÍ Ó ÐÌÁ×ÁÀÝÅÊ ÔÏÞËÏÊ ÞÅpÅÚ r0

- r7, Á ÄpÕÇÉÍ ÔÏÌØËÏ r4 - r7. ðpÉÞÅÍ ÂÁÊÔÙ ÔÏÌØËÏ r5, r7. ëÓÔÁÔÉ, ÓÍÏÔpÅÌ Ñ ÉÈ ÂÉÂÌÉÏÔÅËÕ Ó ÐÌÁ×ÁÀÝÅÊ ÔÏÞËÏÊ, ÔÁÍ ÎÅ ×ÓÅ ÇÌÁÄËÏ. åÓÌÉ ÞÔÏ-ÔÏ ÎÁ ÎÅÊ ÄÅÌÁÔØ (ÎÁÄÅÖÎÏÅ), ÌÕÞÛÅ ×ÓÅ-ÔÁËÉ ÐpÅÄÓÔÁ×ÌÑÔØ ËÁË ÏÎÏ pÁÂÏÔÁÅÔ, ÍÏÇÕ ÐÏÄÅÌÉÔØÓÑ ËÏÇÄÁ ×pÅÍÑ ÂÕÄÅÔ ÐÏÓ×ÏÂÏÄÎÅÅ. ôÁË ×ÏÔ, ÔÁËÏÊ ÐpÉÍÅp. ïÇÏ×ÏpÀÓØ, ÞÔÏ ÐÏpÔÉpÕÅÍÏÓÔØ ÎÅ ÎÕÖÎÁ. mcs-51, keil. ÷ ÆÕÎËÃÉÀ ÎÁÄÏ ÐÅpÅÄÁÔØ 4 ÂÁÊÔÁ, ÈÏÞÅÔÓÑ ÞÔÏÂÙ ÏÎÉ ÐÅpÅÄÁ×ÁÌÉÓØ ÞÅpÅÚ pÅÇÉÓÔpÙ. íÏÖÅÔ ÂÙÔØ Ñ ÞÔÏ-ÔÏ ÎÅ ÄÏÞÉÔÁÌ × ÄÏËÕÍÅÎÔÁÃÉÉ, ÎÏ ÐÏÌÕÞÁÅÔÓÑ, ÞÔÏ ÏÎÉ ×ÓÅ pÁ×ÎÏ ÐÅpÅÄÁÀÔÓÑ ÞÅpÅÚ ÓÅÇÍÅÎÔ ÄÁÎÎÙÈ. íÎÅ ÕÄÁÌÏÓØ ÐÅpÅÄÁ×ÁÔØ ÉÈ ÞÅpÅÚ pÅÇÉÓÔpÙ ÔÏÌØËÏ ÐpÉÍÅpÎÏ ÔÁË: unsigned char a, b, c, d; foo(((0u & a) << 8) | b, ((0u & c) << 8) | d); äÕÍÁÅÛØ ÜÔÏ ÂÏÌÅÅ ÞÉÔÁÂÅÌØÎÏ É ÍÅÎÅÅ ÏÛÉÂËÏÏÐÁÓÎÏ, ÞÅÍ mov r7, _a mov r6, _b É ÔÁË ÄÁÌÅÅ. ëÓÔÁÔÉ, ÐpÉ ÜÔÏÍ ÓÉÛÎÙÊ ËÏÍÐÉÌÑÔÏp (ÎÁÄÏ ÏÔÄÁÔØ ÅÍÕ ÄÏÌÖÎÏÅ) ËÏÍÐÉÌÉpÕÅÔ ÉÍÅÎÎÏ × ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ mov rX, Y. úÁÞÁÓÔÕÀ ÐpÉÈÏÄÉÔÓÑ (ÅÓÌÉ ÅÓÔØ ÖÅÌÁÎÉÅ ÏÐÔÉÍÉÚÉpÏ×ÁÔØ ÐpÏÇpÁÍÍÕ) ÐÏÄÂÉpÁÔØ × ó pÁÚÎÙÅ ×ÁpÉÁÎÔÙ for, if, while, switch, ÞÔÏÂÙ ÜÔÏ ÔpÁÎÓÌÉpÏ×ÁÌÏÓØ × ÂÏÌÅÅ ËÏpÏÔËÉÅ ×ÁpÉÁÎÔÙ ÉÎÓÔpÕËÃÉÊ. á ÍÏÖÎÏ ÐÏÓÔÁ×ÉÔØ ÄpÕÇÏÊ ËÁÍÅÎØ Õ ËÏÔÏpÏÇÏ ÔÁËÔÏ×ÁÑ É ðúõ ÂÏÌØÛÅ... óÅÊÞÁÓ ÜÔÏ ÂÏÌÅÅ ÍÏÄÎÏ. ópÁÚÕ ÄÅÓÑÔÏË ÚÁÊÃÅ× ÕÂÉÔØ ÍÏÖÎÏ: ÂÙÓÔpÅÅ pÁÚpÁÂÏÔÁÔØ ÓÏÆÔ (ÎÅ ÇÏ×ÏpÀ, ÞÔÏ ÜÔÏ ÐÌÏÈÏ ;)), ÐÏÎÁ×ÅÛÁÔØ ÛÁÛÅÞÅË ÎÁ ÐÏÔÅÈÕ ÐÏÔpÅÂÉÔÅÌÀ, pÁÓÓËÁÚÁÔØ ÐÏÔpÅÂÉÔÅÌÀ, ËÁËÏÊ ËpàÔÏÊ ÐpÏÃÅÓÓÏp "Õ ÅÊ ÕÎÕÔpÑ"...

äÁ, ×ÏÔ ÅÝÅ. òÁÚÎÉÃÁ × pÁÚÍÅpÅ C/asm pÁÚ 6 éíèï ÆÁÎÔÁÓÔÉËÁ. á ×ÏÔ ÞÕÔØ ÍÅÎØÛÅ Ä×ÕÈ pÁÚ ÜÔÏ Õ ÍÅÎÑ ÐÏÌÕÞÁÌÏÓØ (ÎÁ ÏÞÅÎØ ×ÅÔ×ÉÓÔÏÊ ÆÕÎËÃÉÉ), ÐpÉÞÅÍ ÓÉÛÎÙÊ ËÏÄ ÂÙÌ ÄÏ×ÅÄÅÎ ÄÏ ÓÏ×ÓÅÍ ÎÅÐÏÔpÅÂÎÏÇÏ ×ÉÄÁ Ó ËÕÞÅÊ goto, ÞÔÏ ÐÅpÅÞÅpËÉ×ÁÅÔ ×ÓÅ ÐpÉÅÍÕÝÅÓÔ×Á ÐÏ ÞÉÔÁÂÅÌØÎÏÓÔÉ. ÷ ÏÂÏÉÈ ÓÌÕÞÁÑÈ ÂïÌØÛÅÅ ×ÎÉÍÁÎÉÅ ÕÄÅÌÑÌÏÓØ ÏÐÔÉÍÉÚÁÃÉÉ ÐÏ ÓËÏpÏÓÔÉ. ðpÉ ÄpÕÇÏÍ ÁÌÇÏpÉÔÍÅ ÓÏÏÔÎÏÛÅÎÉÅ (É pÁÚÍÅpÙ ÔÏÇÏ É ÄpÕÇÏÇÏ) ÕÍÁÎØÛÁÌÉÓØ, ÎÏ ÓËÏpÏÓÔØ Õ×ÅÌÉÞÉ×ÁÌÁÓØ × pÁÚÙ. HÕ Á ÏÐÔÉÍÉÚÁÃÉÑ ÐpÏÅËÔÁ × ÃÅÌÏÍ ÇpÏÚÉÔ ÐÅpÅÐÉÓÙ×ÁÎÉÅÍ ×ÓÅÈ ÂÉÂÌÉÏÔÅË...

Sergey

Hello Yuriy.

13 Jan 04 21:56, Yuriy K wrote to Dima Orlov:

YK> HÉËÏÇÄÁ ÎÅ ÓÌÙÛÁÌ, ÞÔÏÂÙ ÇÏ×ÏpÉÌÉ ËÏÍÐÉÌÑÔÏp ÁÓÓÅÍÂÌÅpÁ. YK> ëÁË-ÔÏ ÎÅ ÐÏ-pÕÓÓËÉ ÜÔÏ Ú×ÕÞÉÔ.

5 ÂÁÌÏ×! "çpÁÂÉÔÅÌØ ÓÂÏpÝÉËÁ" ÉÌÉ ËÁË ÜÔÏ ÔÁÍ ÐÅpÅ×ÏÄÉÔÓÑ ;) ôÏÞÎÏ, ÎÅ Ú×ÕÞÉÔ ÐÏ pÕÓÓËÉ ;) "ëÏÍÐÉÌÑÔÏp ÁÓÓÅÍÂÌÅpÁ" Ú×ÕÞÉÔ ÌÕÞÛÅ :)

Sergey

Hi George.

15 Jan 2004, 09:20, George Shepelev writes to Yuriy K:

GS> ëÓÔÁÔÉ ÉÚ-ÚÁ ÜÔÏÇÏ "ÓÉÛÎÏÇÏ ÞÁpÁ" pÁÚpÁÂÏÔÞÉËÁÍ ÓÅÔÅ×ÙÈ GS> ÐpÏÔÏËÏÌÏ× ÐpÉÛÌÏÓØ ÐpÉÄÕÍÁÔØ ÓÐÅÃÉÁÌØÎÙÊ ÔÅpÍÉÎ - "ÏËÔÅÔ".

äÁ, ÞÔÏÂ × ÑÚÙËÅ _ÂÁÊÔÁ_ ÎÅ ÂÙÌÏ - ÜÔÏ ÎÁÄÏ ÂÙÌÏ ÐÏÓÔÁpÁÔØÓÑ. ;)

Dimmy.

Hi Harry.

16 Jan 2004, 14:07, Harry Zhurov writes to Dimmy Timchenko:

DT> ëÏÎÅÞÎÏ! íÅÎÑ ÐÏËÁ ËÏpÏÂÉÔ, ÞÔÏ Ñ × ÔÏÍ ÖÅ IAR C ÓÐÏËÏÊÎÏ ÐpÉÓ×ÁÉ×ÁÀ DT> ÐÅpÅÍÅÎÎÏÊ bool ÃÅÌÏÅ ÚÎÁÞÅÎÉÅ. ;)

HZ> HÕ, ÔÏÇÄÁ ÓÄÅÌÁÊ ÓÅÂÅ ÂÉÔÏ×ÏÅ ÐÏÌÅ:

ôÁË É ÄÅÌÁÀ... Îo Ñ Ï ÔÏÍ, ÞÔÏ ËÏÍÐÉÌÑÔÏp ÓÐÏËÏÊÎÏ ËÕÛÁÅÔ ÔÁËÏÅ:

bool b;

b = 2;

Dimmy.

Hi Maxim.

17 Jan 2004, 01:19, Maxim Polyanskiy writes to Alexander Torres:

MP> ÐÏÌØÚÏ×ÁÔÓÑ ÍÎÏÇÏÓÔpÏÞÎÙÍÉ ÍÁËpÏÓÁÍÉ, ÐÏËÁ ÚÎÁÎÉÅ ÑÚÙËÁ ÎÅ MP> ÄÏÓÔÉÇÎÅÔ ÕpÏ×ÎÑ, ÎÁ ËÏÔÏpÏÍ ÜÔÁ ÏÛÉËÁ ÂÕÄÅÔ ÁÂÓÏÌÀÔÎÏ ÏÞÅ×ÉÄÎÁ, MP> ÌÉÂÏ ÏÞÅÎØ ÏÓÔÏpÏÖÎÏ ÏÔÎÏÓÉÔÓÑ Ë ËÏÍÁÎÄÁÍ ÐpÏÐÕÓËÁ.

ëÏÍÁÎÄÁ ÐpÏÐÕÓËÁ - ÓÁÍÁ ÐÏ ÓÅÂÅ ÉÄÅÏÌÏÇÉÞÅÓËÁÑ ÄÉ×ÅpÓÉÑ.

Dimmy.

Hello, Sergey Davydov !

åÓÔØ ËÏÎÅÞÎÏ ÔÁËÁÑ ÔÅÎÄÅÎÃÉÑ, ÎÏ ÜÔÏ ×ÓÅÇÄÁ ÔÁË ÂÙÌÏ.

ôÅÍ ÎÅ ÍÅÎÅÅ, ÐÕÓÔØ É Ó ÎÅËÏÔÏÒÙÍÉ ÏÒÇÁÎÉÞÅÎÉÑÍÉ (ÎÁÐÒÉÍÅÒ ÎÁ ÒÅËÕÒÓÉÀ), ËÏÍÐÉÌÑÔÏÒÙ ÒÅÁÌÉÚÏ×ÁÎÙ É ÇÅÎÅÒÉÒÕÀÔ ×ÐÏÌÎÅ ËÁÞÅÓÔ×ÅÎÎÙÊ ËÏÄ (ÔÏÔ ÖÅ Tasking). é ÐÒÏÇÒÁÍÍÕ ÎÁÐÉÓÁÎÎÕÀ ÎÁ ó ÞÉÔÁÔØ, ÐÉÓÁÔØ É ÓÏÐÒÏ×ÏÖÄÁÔØ ÐÏÌÕÞÁÅÔÓÑ ÇÏÒÁÚÄÏ ÄÅÛÅ×ÌÅ, ËÁË ÆÁËÔ.

á ÎÕÖÅÎ?

HÁÐÉÛÉ ÎÁ ÁÓÍÅ ËÕÓÏË, ÄÅÌÏ×-ÔÏ, ÏÓÏÂÅÎÎÏ ÅÓÌÉ ÐÏÒÔÉÒÕÅÍÏÓÔØ ÎÅ ÎÕÖÎÁ, Á ÍÅÓÔÏ ËÒÉÔÉÞÎÏÅ. á ÅÓÌÉ ÎÅ ËÒÉÔÉÞÎÏÅ, ÏÓÔÁר ËÁË ÅÓÔØ.

âÙ×ÁÅÔ ÔÁËÏÅ, ÞÅÒÅÚ ÎÅËÏÔÏÒÏÅ ×ÒÅÍÑ ÐÏÑ×ÌÑÅÔÓÑ ÏÐÙÔ. HÏ, ÞÔÏ ÈÁÒÁËÔÅÒÎÏ, ÒÁÂÏÔÁÅÔ-ÔÏ ×ÓÅ É ÂÅÚ ÎÅÇÏ. é, ÞÔÏ ÓÁÍÏÅ ÇÌÁ×ÎÏÅ, ÐÏÌÕÞÁÅÛØ ÞÉÔÁÅÍÙÊ É ÍÏÄÉÆÉÃÉÒÕÅÍÙÊ (ÐÕÓÔØ É Ó ×ÅÒÏÑÔÎÏÊ ÐÏÔÅÒÅÊ ÜÆÆÅËÔÉ×ÎÏÓÔÉ) ÔÅËÓÔ.

äÁÌÅËÏ ÎÅ ×ÓÅÇÄÁ ÜÔÏ ÍÏÖÎÏ. ôÁËÏÇÏ ËÁÍÎÑ ÍÏÖÅÔ ÐÒÏÓÔÏ ÎÅ ÂÙÔØ.

öÏÒÁ É ÎÅ ÔÁËÏÅ ÎÁÐÌÅÔÅÔ, ÂÏÌØÛÅ ÅÇÏ ÓÌÕÛÁÊ.

íÏÖÅÔ ÔÁËÏÅ ÂÙÔØ. åÓÌÉ ËÒÉÔÉÞÎÏ - ÁÓÓÅÍÂÌÅÒ × ÚÕÂÙ É ×ÐÅÒÅÄ. õ ÍÅÎÑ ÐÒÁ×ÄÁ ÞÁÝÅ ÐÒÏÂÌÅÍÙ ÎÅ Ó ÍÅÓÔÏÍ, Á ÓÏ ×ÒÅÍÅÎÅÍ.

ôÁË ÕÖ É ×ÓÅÈ. ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×.

Hi Andy.

16 Jan 2004, 07:21, Andy Mozzhevilov writes to Yuriy K:

AM> ïÂßÑ×ÉÔØ × ÈÉÄÅpÅ ×ÓÅ ËÏÎÓÔÁÎÙ ËÁË static É ×ËÌÀÞÉÔØ × ÎÕÖÎÙÅ AM> ÆÁÊÌÙ.

ëÓÔÁÔÉ, ÐÏÞÅÍÕ ÏÎÏ ÎÁÚÙ×ÁÅÔÓÑ "static", Á ÎÅ, ÎÁÐpÉÍÅp, "local"? :) üÔÏ ÎÅ×ÏÚÍÏÖÎÏ ÐÏÎÑÔØ, ÜÔÏ ÎÁÄÏ ÚÁÐÏÍÎÉÔØ...

Dimmy.

Hello, Dimmy Timchenko !

äÌÑ ÐÅÒÅÍÅÎÎÏÊ ÏÎÏ ÏÚÎÁÞÁÅÔ ÓÔÁÔÉÞÅÓËÕÀ ÐÅÒÅÍÅÎÎÕÀ Ó ÏÇÒÁÎÉÞÅÎÏÊ ÏÂÌÁÓÔØÀ ×ÉÄÉÍÏÓÔÉ. ÷ ÐÒÏÔÉ×ÏÐÏÌÏÖÎÏÓÔØ auto.

ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×.

Sat Jan 17 2004 05:44, George Shepelev wrote to Ilia Tarasov:

GS> äÁ. ëÒÏÓÓ-ÍÁËÒÏ-ÁÓÓÅÍÂÌÅÒ. ëÏÍÐÉÌÑÔÏÒ. HÏ ÒÁÂÏÔÁÅÔ ÏÎ ËÁË GS> ÂÅÊÓÉË ÉÌÉ ÆÏÒÔ - × ÒÅÖÉÍÅ ÉÎÔÅÒÐÒÅÔÁÃÉÉ (ÎÅÔÕ ÚÁÒÁÎÅÅ GS> ÓÆÏÒÍÉÒÏ×ÁÎÎÙÈ ËÒÏÓÓ-ÔÁÂÌÉÃ, ÎÁÓÔÒÁÉ×ÁÀÝÉÈ ÅÇÏ ÎÁ ËÏÎËÒÅÔÎÙÊ GS> ÐÒÏÃÅÓÓÏÒ)...

üÔÏ ×ÓÅ ÎÅ×ÁÖÎÏ. åÓÌÉ ÎÅÞÔÏ ÐÉÛÅÔÓÑ × ÐÁÍÑÔØ ÄÌÑ _ÐÏÓÌÅÄÕÀÝÅÇÏ+ ÉÓÐÏÌØÚÏ×ÁÎÉÑ, ÐÒÏÃÅÓÓ ÎÁÚÙ×ÁÅÔÓÑ ËÏÍÐÉÌÑÃÉÅÊ. æÏÒÔ ÓÏÄÅÒÖÉÔ × ÓÅÂÅ É ÉÎÔÅÒÐÒÅÔÁÔÏÒ (ÒÁÓÐÁÒÓÉÔØ ÓÔÒÏËÕ É ÚÁÐÕÓÔÉÔØ ÎÅÓËÏÌØËÏ ÓÌÏ×-ÍÁËÒÏÓÏ×), É ËÏÍÐÉÌÑÔÏÒ (ÚÁÐÕÝÅÎÎÙÅ ÓÌÏ×Á ÍÏÇÕÔ ÄÏÂÁ×ÉÔØ ÎÅÞÔÏ × ÐÁÍÑÔØ ËÏÄÁ). éÎÔÅÒÐÒÅÔÉÒÕÀÝÉÊ âÅÊÓÉË

- ÔÏÌØËÏ ÚÁÐÕÓËÁÅÔ ÐÏÄÐÒÏÇÒÁÍÍÙ, ÎÅ ÓÏÚÄÁ×ÁÑ ËÏÄ ÄÌÑ ÐÏÓÌÅÄÕÀÝÅÇÏ ÉÓÐÏÌÎÅÎÉÑ ÞÅÍ-ÌÉÂÏ.

17-Jan-04 08:16 Dimmy Timchenko wrote to George Shepelev:

GS>> Пеpесылка данных - всегда MOV, пеpеход - всегда JMP. GS>> А не невpазумительный "зоопаpк мнемоник" ;-)

DT> Во-во, как у AVR для пеpесылок есть мнемоники mov, movw, in, out, ld, DT> st, lds, DT> sts, ldd, std, ldi, ldiw, lpm, spm. О как! Пpичём и в макpос не DT> запихнёшь: от DT> аpгументов зависит... А вот XCH вообще нет...

Можно было _БЫ_ запихнуть, если бы макроассемблер позволял анализировать аргументы как строки и брать из них подстроки.

Ну что-то типа _mov .macro src, dst .if 'src[0.1]'=='#' ldi dst, src[1.0] .endif .if 'src[0.1]'=='@' ld dst, src[1.0] .endif

и так далее. Вплоть до того, что в ветви =='@' анализировать второй символ на '-' и последний на '+' для разборки @-Y и @Y+

Хотя ещё лучше всё это сразу в ассемблере поддержать. Просто пики хвастаются малым количеством команд, а AVR-ы "развитой системой команд". А для развитой надо их побольше, побольше :-)

wbr,

16-Jan-04 15:25 Alexey Boyko wrote to Dimmy Timchenko:

DT>> PushList macro list DT>> repti item,list DT>> push item DT>> endr DT>> endm

DT>> PopList macro list DT>> repti item,list DT>> pop item DT>> endr DT>> endm

DT>> а потом

DT>> PushList <r24,r25,r26,r27,r28,r29,r30,r31>

DT>> PopList <r31,r30,r29,r28,r27,r26,r25,r24>

AB> Гы. В ARM такая команда уже есть.

Не только в ARM, она и в VАX-11 была. Но нет, пожалуй, ни в одной 8-битке. По кр.мере я не видел. А у меня такие макросы были и для MCS-51, и даже на 2500A.D. BTW, нет в жизни счастья - у _этого_ ассемблера не было макроинструкции перебора списка, пришлось сделать рекурсивный макрос, имитирующий это дело.

_irp .macro instr,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10 .ifma 12 .exit "Only 10 _irp arguments allowed" .endif instr a1 .ifma 3 _irp instr,a2,a3,a4,a5,a6,a7,a8,a9,a10 .endif .endm

_push .macro a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11 _irp push,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11 .endm

И в обработчиках таки гораздо удобнее было написать _push <psw,acc,AR0,AR1>

чем 4 строки рисовать.

wbr,

17-Jan-04 01:19 Maxim Polyanskiy wrote to Alexander Torres:

AT>> Компилятор был МПАСМ, но возмжно я за давностью лет уже подзабыл что AT>> именно там было. Кажется все-таки не два макроса подряд, а смесь AT>> макросов в просыми ассемблерными командами, типа btfsz M djnz L MP> Да это вызовет ошибку - но это твоя ошибка, основанная на пропуске MP> макрокомманды, которая естественно состоит не из одного слова а из 2-х, Угу. MP> впрочем MP> наверно стоит задуматся тем кто писал асм, поскольку ситация принципиально MP> контролируемая... А воообще нужно не пользоватся многострочными макросами, MP> пока MP> знание языка не достигнет уровня, на котором эта ошика будет абсолютно MP> очевидна, либо очень осторожно относится к командам пропуска. Да нет, нужно просто сразу увидеть где ждут грабли подпорки себе написать.

*** Выдержки из p16cxx.inc

bit( .MACRO fil,num) (((fil)<<3)+(num)) .endm

STATUS equ 3 ; == $83 C equ bit(STATUS,0) DC equ bit(STATUS,1) Z equ bit(STATUS,2) и так далее...

*** Выдержка из файла p16mac.inc

__tst_skip .macro .if __skip_at == * .error "Attempt to skip multiword macro" .endif .endm

movlf .macro *val,dst __tst_skip .if (val)==0 clrf dst .else movlw val movwf dst .endif .endm

wswitch .macro * wswmsk .set 0 .endm

wcase .macro *val,lab __tst_skip xorlw (val^wswmsk) wswmsk .set val jz lab .endm

wsrest .macro * xorlw wswmsk wswmsk .set 0 .endm

; dst=(w&mask)|(dst&~mask) ; w =(w^dst)&mask InsBitsW .macro dst,mask __tst_skip xorwf dst,w .IF 'mask[0.1]'=='#' ; дадада! я тут вернулся к #5 для констант! andlw mask[1.0] ; терпеть не могу всякие movlw, ldi и т.п.! .ELSE ; mov он mov и есть, остальное от лукавого andwf mask,w .ENDIF xorwf dst,f .endm

*** Выдержки из файла bitsop.inc

skpnb .macro *bl [z] = 0 btfsc (([z]+bl)>>3),((bl)&7) __skip_at .set * .endm ifnb .macro *bl [z] = 0 btfss (([z]+bl)>>3),((bl)&7) __skip_at .set * .endm

jb .macro *bl,lab [z] = 0 __tst_skip btfsc (([z]+bl)>>3),((bl)&7) goto [z]+lab .endm

jnc .macro *lab [z] = 0 __tst_skip skpc goto [z]+lab .endm

; J_not_fall - уйти если два бита не в состоянии 10 jn_10 .macro *old,new,lab [z] = 0 __tst_skip skpnb old skpnb new goto [z]+lab .endm

skp00 .macro *b1,b2 __tst_skip skpb b1 skpnb b2 __skip_at .set * .endm

И так далее. И все эти btfss просто не использовать.

Правда, это не MPASM... Это aspic, а MPASM был сразу и со свистом вышвырнут. А если ещё посмотреть, что VMK под AS by Alfred Arnold для этих пиков да сцениксов вытворял... Но и ради гораздо большего объёма написанных строк, ради небольшого просто вломы большую систему макросов писать.

wbr, p.s. Господи, с каким удовольствием я сейчас пишу на С 90-95% кода... Надеюсь, никто не скажет, что я это делаю только потому, что не умею писать на асмах :-)

17-Jan-04 15:01 Sergey Davydov wrote to Dima Orlov:

SD> пеpедает, а keil вообще по pазному - своим функциям с плавающей точкой SD> чеpез r0 SD> - r7, а дpугим только r4 - r7. Пpичем байты только r5, r7. Кстати,

R3, R5, R7 Кейл передаёт до 3-х 8/16-битных параметорв в регистрах. Конечно, для 4 придётся уродоваться. Я предпочёл этого не делать, в немногих (у меня) ф-ях с 4 аргументами я 4-ый передаю через память.

SD> Так вот, такой пpимеp. Оговоpюсь, что поpтиpуемость не нужна. mcs-51, SD> keil. В SD> функцию надо пеpедать 4 байта, хочется чтобы они пеpедавались чеpез SD> pегистpы.

SD> пеpедаются чеpез сегмент данных. Мне удалось пеpедавать их чеpез pегистpы SD> только пpимеpно так: SD> unsigned char a, b, c, d; SD> foo(((0u & a) << 8) | b, ((0u & c) << 8) | d);

В Avocet C, в котором передавалось таки только 2 аргумента, я пользовался, только не смеётесь :-), макросом с таким названием:

#define WPARAM(hi,lo) ( (uchar)(lo) + ((uchar)(hi)*256) )

MAXoutStr( t.ubuf, WPARAM(5,1) );

wbr,

Hello, Alexander!

óÕ ñÎ× 17 2004, Alexander Torres ÐÉÓÁÌ Ë Maxim Polyanskiy ÐÏ ÐÏ×ÏÄÕ "AVR GCC&IAR." MP>> ÈÏÞÅÛØ ÓËÁÚÁÔØ, ÞÔÏ ÐÏÍÎÉÛØ ÎÁÚ×ÁÎÉÑ ×ÓÅÈ 256-ÔÉ ÂÉÔ ÁÄÒÅÓÕÅÍÙÈ MP>> ÜÌÅÍÅÎÔÏ× MCS51 É ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÈ ÉÍ ËÏÄÏ×? AT> ñ ÞÔÏ-ÔÏ ÎÅ ÓÏ×ÓÅÍ ÐÏÎÑÌ - Á ÉÈ ÐÏÍÎÉÔØ ÎÁÄÏ ÔÏÌØËÏ ÄÌÑ óÉ, Á ÄÌÑ AT> ÁÓÓÅÍÌÅÒÁ ÎÅÔ ? äÌÑ ÁÓÍÁ ÎÁÄÏ ÐÏÍÎÉÔØ ÍÎÅÍÏÎÉËÉ, ÏÓÔÁÌØÎÏÅ ËÏÍÐÉÌÑÔÏÒ ÓÄÅÌÁÅÔ. AT> Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 WBR! Maxim Polyanskiy.

Hello, Dima!

óÕ ñÎ× 17 2004, Dima Orlov ÐÉÓÁÌ Ë Maxim Polyanskiy ÐÏ ÐÏ×ÏÄÕ "AVR GCC&IAR."

DO> ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×. WBR! Maxim Polyanskiy.

ðÒÉ×ÅÔ Maxim!

Sunday January 18 2004 00:10, Maxim Polyanskiy wrote to Alexander Torres:

MP>>> ÈÏÞÅÛØ ÓËÁÚÁÔØ, ÞÔÏ ÐÏÍÎÉÛØ ÎÁÚ×ÁÎÉÑ ×ÓÅÈ 256-ÔÉ ÂÉÔ ÁÄÒÅÓÕÅÍÙÈ MP>>> ÜÌÅÍÅÎÔÏ× MCS51 É ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÈ ÉÍ ËÏÄÏ×? AT>> ñ ÞÔÏ-ÔÏ ÎÅ ÓÏ×ÓÅÍ ÐÏÎÑÌ - Á ÉÈ ÐÏÍÎÉÔØ ÎÁÄÏ ÔÏÌØËÏ ÄÌÑ óÉ, Á ÄÌÑ AT>> ÁÓÓÅÍÌÅÒÁ ÎÅÔ ? MP>

MP> äÌÑ ÁÓÍÁ ÎÁÄÏ ÐÏÍÎÉÔØ ÍÎÅÍÏÎÉËÉ, ÏÓÔÁÌØÎÏÅ ËÏÍÐÉÌÑÔÏÒ ÓÄÅÌÁÅÔ.

äÌÑ óÉ ÎÁÄÏ ÐÏÍÎÉÔØ ËÏÍÁÎÄÙ, ÏÓÔÁÌØÎÏÅ ËÏÍÐÉÌÑÔÏÒ ÓÌÄÅÌÁÅÔ.

ðÏÈÏÖÅ? :)

ôÏÌØËÏ ×ÏÔ, ËÏÍÁÎÄÙ ÎÁÄÏÐÏÍÎÉÔØ ×ÓÅ ×ÒÅÍÑ ÏÄÎÉ É ÔÅ-ÖÅ, Á ÍÎÅÍÏÇÉËÉ - ÄÑÌ ËÁÖÄÏÇÏ ÐÒÏÃÁ Ó×ÏÉ.

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link
,
formatting link
, ftp://altor.sytes.net

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required