AVR GCC&IAR

Jan 06, 2004 Last reply: 22 years ago 1699 Replies

Hi Maxim, hope you are having a nice day!

04 æÅ× 04, Maxim Polyanskiy wrote to Alexey V Bugrov:

AB>> íÎÅ ÐÏÆÉÇÕ ÞÅÍ ÂÙÌ ÔÏÔ ÐÒÉÍÅÒ ÏÔËÏÍÐÉÌÉÒÏ×ÁÎ. ÷ÏÏÂÝÅ ÐÒÉÈÏÄÉÔÓÑ AB>> ÐÏÌÏ×ÉÎÕ Ô×ÏÉÈ ÐÉÓÅÍ ÓËÉÐÁÔØ, ÉÂÏ ÓÍÙÓÌÏ×ÁÑ ÎÁÇÒÕÚËÁ ÓÔÒÅÍÉÔÓÑ Ë AB>> ÎÕÌÀ. MP> ÷ Ô×ÏÉÈ ÔÏÖÅ ÎÅ ÍÎÏÇÏ ÓÍÙÓÌÁ. ïÔËÏÍÐÉÌÉÒÕÊ ÐÒÉÍÅÒ, ÐÏÌÕÞÉ ÎÅÓËÏÌØËÏ MP> ÔÏÞÅË ×ÈÏÄÁ, ËÉÎØ ÌÉÓÔÉÎÇ × ÜÈÕ, ÔÏÇÄÁ ÂÕÄÅÍ ÇÏ×ÏÒÉÔØ, Á ÄÏ ÔÅÈ ÐÏÒ MP> ÂÒÅÄ!

äÁ×ÁÊ Ó×ÏÊ ÐÒÉÍÅÒ.

WBR, AVB

ICQ# 43835774 mailto: avb<at>dialup.etr.ru

Hello George.

01 Feb 04 01:54, you wrote to Ruslan Mohniuc:

GS> Да. Исходные "микpочиповские" мнемоники совеpшенно нечитаемые. GS> Букв много, сути мало, "за деpевьями не видно леса". Поскольку мне GS> частенько пpиходится писать для pазных пpоцессоpов, я стаpаюсь GS> максимально "сблизить" их мнемоники по смыслу. Палка о двух концах. Чтобы pазобpаться в чужих исходниках на малознакомом асме достаточно шпаpгалки пеpед глазами (полюс сообpажаловка, но это по-умолчанию, иначе нечего лезть). В твоем случае понадобится еще pазбиpаться с макpосами и твоими пpистpастиями. Или надо чтобы все (на данном пpедпpиятии) использовали эти макpосы, человек ведь может уехать в отпуск, командиpовку, выйти на больничный итп.

Sergey

Hello Oleksandr.

Tue Feb 03 2004 08:33, Oleksandr Redchuk wrote to me:

AB>> HÕ ×ÏÔ Ñ É ÇÏ×ÏÒÀ, ÜÔÏ ÄÌÑ ËÏÇÏ ËÁË. äÌÑ ÍÅÎÑ ÜÔÏÔ ËÏÄ ÏÄÎÏÚÎÁÞÎÏ AB>> ÞÉÔÁÅÍÙÊ. OR> äÌÑ ×ÓÅÈ ÄÏÓÔÁÔÏÞÎÏ ÄÏÌÇÏ ÐÉÛÕÝÉÈ C-ÐÒÏÇÒÁÍÍÙ.

HÅÏÂÒÁÔÉÍÙÅ ÉÚÍÅÎÅÎÉÑ × ÓÏÚÎÁÎÉÉ. ;)

Dimmy.

Hello George.

01 Feb 04 01:58, you wrote to Roman Gorbunov:

RG>> É ÐÏÞÅÍÕ 24 ÔÙ ÎÁÚÙ×ÁÅÛØ ÄÁÌÅËÏ "ÚÁ" ÎÅÐÏÎÑÔÎÏ. GS> ðÏÔÏÍÕ ÞÔÏ × ÐÁpÁÍÅÔpÁÈ ÜÔÉÈ ÕÓÔpÏÊÓÔ× ÂÙÌÏ ޣpÎÙÍ ÐÏ pÕÓÓËÉ GS> ÎÁÐÉÓÁÎÏ - ÐpÅÄÎÁÚÎÁÞÅÎÙ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÎÁ ÌÉÎÉÑÈ Ó GS> ÎÁÐpÑÖÅÎÉÅÍ 48 ÉÌÉ 60 ×ÏÌØÔ. HÁpÕÛÅÎÉÅ ôõ ÎÁ ÉÚÄÅÌÉÅ. HÁ ÐÏÄÅÌËÁÈ "ÄÌÑ ÄÏÍÁ ÄÌÑ ÓÅÍØÉ" Ñ ÍÏÇÕ ÄÅÌÁÔØ ×ÓÅ ÎÁ ÞÔÏ ÓÐÏÓÏÂÎÏ ÍÏÅ ÂÏÌØÎÏÅ ×ÏÏÂpÁÖÅÎÉÅ, ÎÁ pÁÂÏÔÅ Ñ ÎÅ ÉÍÅÀ ÐpÁ×Á ÎÉ ÎÁ ÏÄÉÎ ÌÉÛÎÉÊ ÍÉÌÉ×ÏÌØÔ, ÄÁÖÅ ÅÓÔØ ÅÓÔØ ÍÎÏÇÏËpÁÔÎÙÊ ÚÁÐÁÓ.

Sergey

ðpÉ×ÅÔ, Dima!

*** 04 Feb 04 08:04, Dima Orlov wrote to Vladislav Baliasov:

DO> âÅÚ ÏÐÉÓÁÎÉÑ? ÷ÏÏÂÝÅ ÎÅÐÏÎÑÔÎÏ ÞÔÏ Ó ÎÉÍ ÄÅÌÁÔØ.

ðÏÄÎÉÍÁÔØ ÔÒÕÂËÕ É Ú×ÏÎÉÔØ. éÌÉ "ÐÏ ÐÏ×ÅÄÅÎÉÀ ÐÒÉ ÎÁÖÁÎÉÉ ËÎÏÐÏË"...

DO> é ÅÝÅ ÓÏÔÎÉ ÄÒÕÇÉÈ ÐÒÏÉÚ×ÏÄÉÔÅÌÅÊ...

á ÞÔÏ, ÎÁ ÒÙÎËÅ ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÅÓÔØ "ÓÏÔÎÉ ÐÒÏÉÚ×ÏÄÉÔÅÌÅÊ" ÔÅÌÅÆÏÎÏ× ? äÕÍÁÀ, ÞÔÏ ÒÅÁÌØÎÏ ÐÁÌØÃÅ× Ä×ÕÈ ÒÕË È×ÁÔÉÔ...

DO> ëÁËÉÅ ÔÁÍ ÔÅ ÇÏÄÙ? üÔÏ ÓÁÍÏÅ ÒÁÎÅÅ 96 ÇÏÄ ÂÙÌ.

çÄÅ-ÔÏ ÓÁÍÏÅ ÎÁÞÁÌÏ 90-È - 1990 ÉÌÉ 1991 ÇÏÄ, ÎÁÞÁÌÏ ÍÁÓÓÏ×ÏÇÏ ÐÒÏÉÚ×ÏÄÓÔ×Á.

DO> é ÐÏÄÓ×ÅÔËÁ ÂÙÌÁ.

ïÞÅÎØ-ÏÞÅÎØ ÒÅÄËÏ. úÁ ÂÅÚÕÍÎÙÅ ÄÅÎØÇÉ (ÏÄÉÎ ÍÏÄÕÌØ ÓÔÏÉÌ ÐÒÉÍÅÒÎÏ ËÁË áïH ÃÅÌÉËÏÍ).

DO> äÁ, ÐÏÔÏÍÕ ÞÔÏ ÄÌÑ ÔÅÈ ÖÅ ÔÅÌÅÆÏÎÏ× ÐÏÌÎÏ ÇÏÔÏ×ÙÈ. á ÓÏ×ËÏ×ÙÅ DO> ÁÏÎÏÓÔÒÏÉÔÅÌÉ ÐÏËÕÐÁÌÉ ÔÅÌÅÆÏÎÙ Ó ÔÁËÉÍÉ ÉÎÄÉËÁÔÏÒÁÍÉ, ÎÁÞÉÎËÕ - × DO> ÍÕÓÏÒ, ÉÎÄÉËÁÔÏÒÙ - ÎÁ ÂÁÚÁÒ, Á × ËÏÒÐÕÓ - Ó×ÏÅ ÕÂÏÖÅÓÔ×Ï ÇÏÒÂÁÔÏÅ ÎÁ DO> ÓÏÐÌÑÈ ÓÐÁÑÎÎÏÅ.

÷ÏÔ ÔÏÌØËÏ ÐÏÞÅÍÕ-ÔÏ ÌÀÄÉ ÐÏËÕÐÁÀÔ ÉÍÅÎÎÏ ÜÔÏ "ÕÂÏÖÅÓÔ×Ï ÇÏÒÂÁÔÏÅ"...

DO> óÒÏÞÎÏ ×ÓÅ ÐÒÉÅÍÎÉËÉ, ÔÅÌÅÆÏÎÙ É ÔÏÍÕ ÐÏÄÏÂÎÕÀ ÔÅÈÎÉËÕ ÎÅÓÅÍ × ÍÕÓÏÒ. DO> ëÕÞÁ ÐÏÌÕÞÉÔÓÑ ÎÅÈÉÌÁÑ...

óÔÁÃÉÏÎÁÒÎÏÅ ÉÚÄÅÌÉÅ ÇÏÒÁÚÄÏ ÌÕÞÛÅ ÓÔÁÃÉÏÎÁÒÎÏ É ÐÉÔÁÔØ. HÅ ÐÒÉÈÏÄÉÔÓÑ ÄÕÍÁÔØ, ËÏÇÄÁ ÜÔÉ ÚÌÏÓÞÁÓÔÎÙÅ ÂÁÔÁÒÅÊËÉ ÎÁÄÏ ÍÅÎÑÔØ.

DO> ~~~~~~~~~~~

DO> ðÏÄÞÅÒËÎÕÔÏÅ ×ÉÄÉÛØ?

é ÞÔÏ Ó ÔÏÇÏ ? ëÁË É ÎÁ ÞÅÍ ÓÄÅÌÁÔØ, ÓÔÏÌØËÏ É ÂÕÄÅÔ ÐÏÔÒÅÂÌÑÔØ. ëÏÎËÒÅÔÎÏ ÍÏÊ

- ÐÏÔÒÅÂÌÑÅÔ ×Ä×ÏÅ ÍÅÎØÛÅ.

DO> òÁÄÉÏÓÔÁÎÃÉÑ - ÜÔÏ ÎÅ ÔÁ ÔÅÈÎÉËÁ, ËÏÔÏÒÏÊ ÐÏÌØÚÕÅÔÓÑ ×ÓÑËÉÊ, ÐÒÉÞÅÍ DO> ÂÅÚ ÏÐÉÓÁÎÉÑ.

ðÏËÕÐËÁ áïHÁ (ÒÁ×ÎÏ ËÁË É ÌÀÂÏÊ ÄÒÕÇÏÊ ÂÏÌÅÅ-ÍÅÎÅÅ ÓÌÏÖÎÏÊ ÂÙÔÏ×ÏÊ ÔÅÈÎÉËÉ) ÐÏÄÒÁÚÕÍÅ×ÁÅÔ, ÞÔÏ ÞÅÌÏ×ÅË ÚÎÁÅÔ, ÄÌÑ ÞÅÇÏ ÏÎÁ ÅÍÕ ÎÕÖÎÁ. é ÇÏÔÏ× ÐÏÔÒÁÔÉÔØ ËÁËÏÅ-ÔÏ ×ÒÅÍÑ ÄÌÑ ÏÚÎÁËÏÍÌÅÎÉÑ Ó ÏÐÉÓÁÎÉÅÍ. ôÅ, ËÔÏ ÎÅ ÇÏÔÏ× ×ÎÉËÁÔØ, ÎÏ ÉÍÅÀÔ ÐÏÔÒÅÂÎÏÓÔØ × ÔÁËÏÍ ÕÓÔÒÏÊÓÔ×Å - ÍÏÇÕÔ ËÕÐÉÔØ ÐÒÉÓÔÁ×ËÕ-ÏÐÒÅÄÅÌÉÔÅÌØ, ÔÁÍ ×ÏÏÂÝÅ ÎÉ Ï ÞÅÍ ÄÕÍÁÔØ ÎÅ ÎÁÄÏ. Ó Õ×ÁÖÅÎÉÅÍ ÷ÌÁÄÉÓÌÁ×
4-Feb-04 03:24 George Shepelev wrote to Oleksandr Redchuk:

OR>> Так что или признай, что ты трепло,

GS> Признаю, что ты хамишь.

Кстати, там было

OR> - minimum value for an object of type int OR> INT_MIN -32767 // -(2^15 - 1) OR> - maximum value for an object of type int OR> INT_MAX +32767 // 2^15 - 1

OR> Так что или признай, что ты трепло, ни разу не видевшее стандарта OR> на C, или объясни как держать в памяти компьютера число в этом OR> диапазоне в ячейке размером меньше 16 бит.

Выбрал вариант "трепло" ты сам :-) Вышло совсем как в анекдоте, оканчивающемся словами "Девочку себе нешли, песенки им петь!!"

4-Feb-04 04:58 Kirill Frolov wrote to Oleksandr Redchuk:

OR>> Hу, вообще говоря, в C OR>> a = 3 OR>> это выражение (assignment expression), имеющее значение "3, приведённое к OR>> типу а" и в качестве побочного эффекта заносящее тройку в переменную a OR>> :-)) OR>> Причём не сразу, а, грубо, только после ';' (специально выше не OR>> написанной, чтобы подчеркнуть ситуацию).

KF> "sequence point", даже очень грубо, за ';' не сойдёт. грубо - сойдёт. В том контексте, что if ( a = 3 ) { } это side effect ничуть не больший, чем в банальном a = 3;

KF> Этих point там KF> в приложении C, немеряно разных есть, включая оператор "запятая" и KF> "логическое и/или". Причём, как мне кажется, GCC тут нарушает: KF> x=1; printf("%d %d\n", x, x=2); -- даёт на выходе 2 2, значит KF> аргумент функции -- это тоже sequence point, а в стандарте описывается side effects должны завершиться _не_позже_ sequence point, а не ровно в ней. Все аргументы должны быть вычеслены и все side effects выполнены до вызова функции, но когда и в каком порядке - никто не гарантирует.

KF> только вызов функции _после_ вычисления аргументов. :-/

OR>> The side effect of updating the stored value of the left operand shall OR>> occur between the previous and the next sequence point. Я противоречиё не вижу. Порядок вычисления аргументов неопределён, порядок выполнения side effects -- тоже. Все они (s. eff.) должны завершиться до seq.point, которой является вызов, но когда именно -- неважно. Компилятор имеет право сделать push(2); push(x); push( fmtstring); x = 2; // наиболее "позднее" выполнение побочного эффекта call(printf); и точно так же имеет право сделать x=2; // наиболее "раннее" выполнение побочного эффекта - уже после // предыдущей, но до следующей sequ.point push(2); push(2); push(fmtstring); call(printf); gcc выбрал второй вариант, его право.

wbr, p.s. кстати как раз gcc внимательно относится к неопределённому порядку выполнения side effects. Я не работал с VC, но ни борланд, ни watcom на a ^= b ^= a ^= b; предупреждения не выдают. gcc -Wall компилирует "как этого очень хотелось бы", но предупреждает, что это нехорошо.

4-Feb-04 03:24 George Shepelev wrote to Oleksandr Redchuk:

GS> Воскресенье Февраль 01 2004 22:12, Oleksandr Redchuk wrote to George GS> Shepelev:

OR>> В стандарте С многие его давние недостатки уже довольно давно OR>> поправлены.

GS> Вот только старые компиляторы об этом не знают, А где их взять-то? AVOCET C51 95 года вполне всё знает.

GS> как и книжки, написанные до этих "революций" (по которым училась GS> программировать масса народу). Вопросы однако - ты когда на 386-м в 32-битном режиме программировать начал - ты тоже пользовался только книгами, написанными "до революций".

GS> Когда берётся исходник, в котором утверждается, что GS> он написан на си, подразумевается соответствие первоначальному стандарту, А почему при разговоре о паскале ты вдруг TP вспомнил - ведь в нём сполшные улучшения по сравнению с "первоначальным стандартом"?

GS> а не неизвестно каким дальшейшим "улучшениям и дополнениям"... Как только у меня появилсяь возможность пользоваться нормальными прототипами функций вместо int foo(a,b) int a; float b; { } я начал этим пользоваться. Не вижу никакого смысла сидеть на старом компиляторе за исключением необходимости поддержки тех ОС, на которых новго нет. Кросс-компилятторов это не касается.

OR>> Так что или признай, что ты трепло, GS> Признаю, что ты хамишь. По концентрации - ничуть не больше, чем ты трепешься. По суммарному объёму -- гораздо меньше.

OR>> ни разу не видевшее стандарта на C,

GS> Я изучал си (уже довольно давно) по стандарту от _авторов_ этого языка.

От авторов стандарта не было. Была только "сложившаяся практика". В стандарте ANSI C очень многое уже было не так.

OR>> программист в тех случаях, когда ему надо не меньше, чем 32 бита (или OR>> ещё какие ограничения), то он заводит нужный тип.

GS> Преодолевая недостатки исходной концепции языка. В чём? В исходной концепции есть typedef для заведения своих типов. Я этим пользуюсь. "Что я делаю не так"?

OR>> И что это возможно не только в Аде, но и в С. И если раньше в C с OR>> этим делом было "кто в лес, кто по дрова" с опорной точкой в виде OR>> limits.h, то сейчас вещи типа int16_t, int_least16_t и int_fast16_t OR>> должны сидеть в stdint.h. И только облом мне мешает

GS> Так кто из нас "нормальный"? У меня всё строго определяется, GS> ты по-прежнему надеешься "на авось". Где ты видишь "авось"?

GS> Угу, ведь ассемблер никогда и _не претендовал_ на машинонезависимость GS> в этом вопросе. В отличие от ЯВУ ему простительно "настраиваться" GS> на конкретную архитектуру. Почитай письмо Овсиенко о его опыте переноса прошивки со 186-го процессора (больше 100K прошивка) на мегу128. С-шная часть (всё, кроме низкоуровневого IO) заработала за 1 день.

KF>>>> short так и остался 16-разрядным, а long как минимум _______^^^^^

KF>>>> 32-разрядным... GS>>> Ещё раз. Я говорю обо _всех_ ассемблерах для этих процессоров. GS>>> Вовсе не факт, что твои ожидания оправдаются для _всех_ сишных GS>>> компиляторов. В этом существенная разница... [...]

OR>> Все сишные компиляторы для x86 short держат 16-битным. GS> Речь шла об int, а не о short. Программа, скомпилённая для 8086 идёт

1) см. выше. 2) про int изначально никто не обещал одинаковости размера 3) дельфийский cardinal, который в ранних дельфях был 32 бита, но в диапазоне 0..2147483647 - отдельный радостный эпизод в моей жизни.

GS> без проблем под P4, в том числе при перекомпиляции "32-х битными" GS> ассемблерами. А сишники тут имеют шанс получить неприятности. Одни и те же (_физически_) исходники avreal компилируются bcc для DOS/16бит, bcc32 для win32 и gcc для линукса. "Что я делаю не так"?

GS> Ото-ж! Моё же мнение, это должно быть оставлено не на уровне предпочтений GS> отдельных программистов, а на уровне базовых _явных_ свойств типов GS> переменных языка программирования. Явные свойства сишных типов конкретной реализации прописаны в limits.h Если они важны -- этим можно воспользоваться. Если нет - полагаться на ограничения (слабые) прописанные в стандарте.

GS> Вот именно! Они и будут "не представлять", поскольку в языке оставлена GS> такая "дыра". Никакой самый лучший компилятор не даст человеку не сделать глупость.

OR>> Впрочем, свои громко названные "макросы" для pic16 ты тут уже показал. OR>> Зря.

GS> Позволь мне самому решать, какие мнемоники мне удобно использовать GS> в своей работе! Да сколько угодно!!! Но ты несколько лет приводил их в пример как вершину макросизма. А оказалась тривиальщина. Надо было параллаксовский ассемблер брать и не мучиться, там это всё и даже больше на уровне компилятора сделано, причём, насколько я помню, там попытка скипнуть jz была бы ошибкой, в отличие от твоих макросов.

OR>> и новые мнемоники для очевидных пар команд

GS> Hеужели тебе _очевидно_ назначение, скажем, команды MOVF f,1 Помнится мне, что года так с 94-95-го в mpasm-е уже точно можно было писать movf F,w и movf F,f, и даже movfw F и tstf F. Так что ,0 ,1 можно было писать только из приверженности "самым ранним стандартам".

GS> Hет? Тогда чего ты пургу гонишь? Я этим много лет _успешно_ GS> занимаюсь, вот и делюсь опытом... Я просто _знаю_, что если уж писать большие программы на ассемблере, то _можно_ наделать гораздо более полезных макросов, чем простое переименование мнемоник. А просто объединить decfsz с goto -- было бы чем хвастаться. Это не более, чем костыли под систему команд. Этот вопрос уже обсуждался и я ещё тогда говорил - какой смысл макросами приводить мнемоники разных процессоров к единому виду, если даже банальный inc у разных процессоров действует на разные флаги? Чтобы одинаковость мнемоник скрыла разницу в действиях?

Hello George.

04 Feb 04 03:51, you wrote to me:

GS> "ðÁÍÑÔØ ËÏÎÞÉÌÁÓØ". GS>>> ÏÓÔÁÌØÎÙÅ ÐÅÒÅÐÉÓÙ×ÁÌÉÓØ Ó ÎÕÌÑ. AB>> ôÏ ÅÓÔØ ÉÚ-ÚÁ Ô×ÏÅÇÏ ÎÅÚÎÁÎÉÑ óÉ ÐÒÉÛÌÏÓØ ÐÅÒÅÐÉÓÙ×ÁÔØ ÎÁ AB>> ÁÓÓÅÍÂÌÅÒÅ? GS> HÁ ÓÑÈ ÏÎÏ ÕÖÅ "ÎÅ ÌÅÚÌÏ". HÁ ÁÓÓÅÍÂÌÅÒÅ _ÌÅÇËÏ_ ÒÅÁÌÉÚÏ×ÁÌÏÓØ Ó GS> ÚÁÎÑÔÉÅÍ × 3-20 ÒÁÚ ÍÅÎØÛÅÇÏ ÏÂߣÍÁ ÐÁÍÑÔÉ.

ïÐÑÔØ Ä×ÁÄÃÁÔØ ÐÑÔØ?

Alexey

Hello George.

04 Feb 04 03:51, you wrote to me:

AB>> HÉ ÒÁÚÕ ÎÅ ÉÓÐÙÔÙ×ÁÌ ÐÏÔÒÅÂÎÏÓÔÉ × ÆÕÎËÃÉÑÈ Ó ÎÅÓËÏÌØËÉÍÉ ÔÏÞËÁÍÉ AB>> ×ÈÏÄÁ. äÁÖÅ ËÏÇÄÁ ÎÁ ÁÓÓÅÍÂÌÅÒÅ ÐÉÓÁÌ. GS> é Ï ޣÍ ÜÔÏ ÇÏ×ÏÒÉÔ?

åÓÌÉ ÎÅÞÅÇÏ ÓËÁÚÁÔØ, ÔÏ ÐÕÓÔØ ÇÏ×ÏÒÉÔ ÏÐÐÏÎÅÎÔ? ;) ñ ÄÕÍÁÀ, ÜÔÏ ÇÏ×ÏÒÉÔ Ï ÔÏÍ, ÞÔÏ ÂÅÚ ÜÔÏÇÏ ÍÏÖÎÏ ÏÂÏÊÔÉÓØ. ôÁË ÞÔÏ ÓÌÁÂÏÅ ÜÔÏ ÐÒÅÉÍÕÝÅÓÔ×Ï.

GS>>> úÁÞÅÍ ÖÅ × ËÎÉÖËÁÈ ÐÏ ÓÉÓÔÅÍÁÍ ÕÐÒÁ×ÌÅÎÉÑ ÐÒÉ×ÏÄÉÔÓÑ ÓÔÏÌØËÏ GS>>> ÔÅÏÒÉÉ ÉÈ ÒÁÂÏÔÙ?.. AB>> ÷ÏÚÍÏÖÎÏ, ÔÁÍ ÏÈ×ÁÔÙ×ÁÀÔ ×ÓÅ ÞÁÓÔÉ ÓÉÓÔÅÍ ÕÐÒÁ×ÌÅÎÉÑ. GS> á ËÁË Åݣ ÍÏÖÎÏ _ÕÐÒÁ×ÌÑÔØ ÓÉÓÔÅÍÏÊ_?

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

AB>> ðÏÞÅÍÕ? GS> ôÁË ÐÒÏÇÒÁÍÍÙ ÎÁ ÓÑÈ ÐÉÛÕÔÓÑ. ðÒÏÝÅ ÎÁÐÉÓÁÔØ ÎÏ×ÏÅ, ÞÅÍ ÕÓÌÏÖÎÉÔØ GS> ÕÖÅ ÉÍÅÀÝÅÅÓÑ.

üÔÏ ÔÙ ÐÒÏ ÐÒÏÇÒÁÍÍÙ ÎÁ ÁÓÓÅÍÂÌÅÒÅ?

GS>>> éÓÈÏÄÎÉË × ÔÉÐÉÞÎÏ ÓÉÛÎÏÍ ÓÔÉÌÅ ÐÏÓËÉÐÁÎ. AB>> ëÏÎÅÞÎÏ × ÓÉÛÎÏÍ ÓÔÉÌÅ. á × ËÁËÏÍ ÖÅ ÅÝÅ ÓÔÉÌÅ ÐÉÓÁÔØ ÎÁ óÉ? ;) GS> ÷ _ÎÁÇÌÑÄÎÏÍ_ ÓÔÉÌÅ.

ôÁÍ ÔÏÌØËÏ ÏÄÎÁ ÓÔÒÏËÁ ÎÅ ÎÁÇÌÑÄÎÁÑ. HÁ ÁÓÓÅÍÂÌÅÒÅ ÜÔÁ ÓÔÒÏËÁ ÚÁÎÉÍÁÅÔ ÂÏÌØÛÅ ÓÔÒÁÎÉÃÙ.

GS>>> HÉËÁËÉÈ ËÏÍÍÅÎÔÁÒÉÅ×, AB>> ôÁÍ ÎÅÞÅÇÏ ËÏÍÍÅÎÔÉÒÏ×ÁÔØ. GS> éÍÅÎÎÏ ÚÁ ÔÁËÏÊ ÐÏÄÈÏÄ ÑÚÙË ÓÉ ÞÁÓÔÏ ÎÁÚÙ×ÁÀÔ write only!

üÔÏ ÁÓÓÅÍÂÌÅÒ ÔÁË ÎÁÚÙ×ÁÀÔ.

GS>>> ÎÅ ×ÉÖÕ ÏÔÒÁÂÏÔËÉ "ÁÎÔÉÄÒÅÂÅÚÇÁ", AB>> ïÔÒÁÂÏÔËÁ ÁÎÔÉÂÒÅÂÅÚÇÁ × ÄÒÕÇÏÊ ÆÕÎËÃÉÉ, Ñ ÎÅ ÐÏËÁÚÁÌ, ÞÔÏÂÙ ÎÅ AB>> ÚÁÇÒÏÍÏÖÄÁÔØ ÐÉÓØÍÏ. GS> úÎÁÞÉÔ ÚÁÄÁÞÕ ÔÙ ÎÅ ÒÅÛÉÌ.

ëÁËÕÀ ÚÁÄÁÞÕ?

AB>> ôÁÍ, Ë ÔÏÍÕ ÖÅ, ÅÓÔØ ÒÁÚÌÉÞÅÎÉÅ ÍÅÖÄÕ ËÏÒÏÔËÉÍ É ÄÌÉÎÎÙÍ AB>> ÎÁÖÁÔÉÅÍ. GS> éÚ×ÒÁÔ, ÍÅÖÄÕ ÎÁÍÉ. äÒÕÇÏÅ ÄÅÌÏ - ÕÄÅÒÖÁÎÉÅ ÂÏÌØÛÅ (ÐÏÒÑÄËÁ) 4 GS> ÓÅËÕÎÄ, ÄÌÑ ×ÈÏÄÁ × ÓÅÒ×ÉÓ-ÒÅÖÉÍ.

HÕ ÄÁ. éÍÅÎÎÏ ÔÁË ÔÁÍ É ÚÄÅÌÁÎÏ, ÔÏÌØËÏ ÎÅ 4 ÓÅËÕÎÄÙ, Á ÏËÏÌÏ 1 ÓÅË.

GS>>> ÎÅ ×ÉÖÕ ÒÅÖÉÍÏ× ÍÅÒÃÁÎÉÑ Ó ÒÁÚÎÏÊ ÞÁÓÔÏÔÏÊ. AB>> íÅÒÃÁÎÉÅ ÔÏÌØËÏ Ó ÏÄÎÏÊ ÞÁÓÔÏÔÏÊ. á ÚÁÞÅÍ ÒÁÚÎÁÑ? GS> á ÚÁÔÅÍ, ÞÔÏ ÅÓÌÉ ÎÅÌØÚÑ ÐÏÍÅÎÑÔØ Ã×ÅÔ, ÐÒÉÈÏÄÉÔÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ GS> ÒÁÚÎÕÀ ÞÁÓÔÏÔÕ ÍÅÒÃÁÎÉÑ :-( ôÁËÏÅ ×ÏÔ "ÖÅÌÅÚÏ" ÄÏÓÔÁÌÉ ÐÏÄ ÜÔÕ GS> ÚÁÄÁÞÕ...

íÎÅ È×ÁÔÉÌÏ ÐÒÏÓÔÏ ÍÅÒÃÁÎÉÑ Ó ÏÄÎÏÊ ÞÁÓÔÏÔÏÊ. ïÎÏ ÐÏËÁÚÙ×ÁÅÔ, ËÁËÏÊ ÐÁÒÁÍÅÔÒ ÓÅÊÞÁÓ ÉÚÍÅÎÑÅÔÓÑ.

GS>>> é ÐÒÉ ÜÔÏÍ ËÏÄ 3 ËÉÌÏÂÁÊÔÁ :-/ AB>> ôÙ ÒÅÛÉÌ ÞÔÏ ÜÔÁ ÆÕÎËÃÉÑ ÚÁÎÉÍÁÅÔ 3 ËÉÌÏÂÁÊÔÁ? éÚÄÅ×ÁÅÛØÓÑ? GS> óËÁÖÉ, ÓËÏÌØËÏ ÚÁÎÉÍÁÀÔ ÔÅ ÆÕÎËÃÉÉ, Ï ËÏÔÏÒÙÈ Ñ ÓÐÒÁÛÉ×ÁÌ.

üÔÉ Ä×Å ÆÕÎËÃÉÉ - ÐÒÉÍÅÒÎÏ 466 ÂÁÊÔ.

GS> HÏÒÍÁÌØÎÙÊ GS> ÏÐÒÏÓ ËÌÁ×ÉÁÔÕÒÙ Ó ÁÎÔÉÄÒÅÂÅÚÇÏÍ, ÏÂÓÌÕÖÉ×ÁÎÉÅ ÉÎÄÉËÁÔÏÒÁ Ó ÐÏÄÄÅÒÖËÏÊ GS> ÍÅÒÃÁÎÉÑ Ó ÒÁÚÎÙÍÉ ÞÁÓÔÏÔÁÍÉ. òÁÚÍÅÒ Ó×ÏÅÊ (ÂÏÌÅÅ ÓÌÏÖÎÏÊ) ÐÒÏÇÒÁÍÍËÉ GS> Ñ ÕÖÅ ÐÒÉ×ÏÄÉÌ.

ôÏÌØËÏ ÜÔÏ ÐÌÏÈÏÅ ÓÒÁ×ÎÅÎÉÅ. ÷ÓÅ ÒÁ×ÎÏ Õ ÍÅÎÑ ÐÒÏÇÒÁÍÍÁ ÄÒÕÇÏÅ ÄÅÌÁÅÔ.

Alexey

Hello George.

04 Feb 04 03:53, you wrote to me:

GS>>>>> ðÏÔÏÍÕ ÞÔÏ ÎÅ ÄÏÌÖÅÎ × ñ÷õ ÒÁÚÍÅÒ ÓÔÁÎÄÁÒÔÎÏÇÏ ÏÂßÅËÔÁ GS>>>>> ÍÅÎÑÔØÓÑ ÐÒÉ ÐÅÒÅÈÏÄÅ Ó ÐÌÁÔÆÏÒÍÙ ÎÁ ÐÌÁÔÆÏÒÍÕ. AB>>>> äÁÖÅ ÅÓÌÉ ÜÔÏ ÐÏ×ÙÛÁÅÔ ÜÆÆÅËÔÉ×ÎÏÓÔØ? GS>>> ó ËÁËÏÊ ÒÁÄÏÓÔÉ? AB>> ôÙ ÎÅ ÚÎÁÌ, ÞÔÏ ÎÁ 32-È ÂÉÔÎÙÈ ÐÌÁÔÆÏÒÍÁÈ 32-È ÂÉÔÎÙÅ ÏÐÅÒÁÎÄÙ AB>> ÏÂÙÞÎÏ ÜÆÆÅËÔÉ×ÎÅÅ ÏÂÒÁÂÁÔÙ×ÁÀÔÓÑ, ÞÅÍ 16-ÂÉÔÎÙÅ.

GS> HÅ ÆÁËÔ. óÒÁ×ÎÉ ÒÅÁÌÉÚÁÃÉÀ 16-ÔÉ É 32-È ÂÉÔÎÏÊ ÁÒÉÆÍÅÔÉËÉ ÎÁ x86 × GS> "ÒÅÁÌØÎÏÍ" ÒÅÖÉÍÅ (Ë ÐÒÉÍÅÒÕ ÐÏÄ DOS'ÏÍ).

åÓÌÉ ÔÙ ÜÔÏ ÚÎÁÅÛØ, ÔÏ ÐÏÞÅÍÕ ÓÐÏÒÉÛØ? äïóÏ×ÓËÉÅ ËÏÍÐÉÌÑÔÏÒÙ óÉ ÉÍÅÀÔ int ÛÉÒÉÎÏÊ 16 ÂÉÔ.

GS> é ÒÁÓÓËÁÖÉ, ËÁË ÚÁÇÎÁÔØ 386 GS> ÐÒÏÃ × "ÞÅÓÔÎÙÊ" 32-ÂÉÔÎÙÊ ÒÅÖÉÍ, ÏÓÔÁ×ÁÑÓØ × RealMode.

úÁÞÅÍ ÐÒÉ ÜÔÏÍ ÏÓÔÁ×ÁÔØÓÑ × RealMode? äÌÑ ÜÔÏÇÏ ÅÓÔØ V86 Mode. òÁÓÛÉÒÉÔÅÌÉ äïóÁ ÉÍÅÎÎÏ ÔÁË É ÄÅÌÁÀÔ.

GS> HÁÐÏÍÉÎÁÀ, ÞÔÏ GS> "×ÓÔÒÁÉ×ÁÅÍÙÅ" 386 É 486 ÐÒÏÃÙ ÓÕÝÅÓÔ×ÕÀÔ, ÔÁË ÞÔÏ ÜÔÏ ×ÐÏÌÎÅ GS> ÜÈÏÔÁÖÎÁÑ ÚÁÄÁÞÁ...

HÕ ÄÁ. éÈ ÌÉÂÏ ÐÅÒÅ×ÏÄÑÔ × ÚÁÝÉÝÅÎÎÙÊ 32-È ÂÉÔÎÙÊ ÒÅÖÉÍ É ÉÓÐÏÌØÚÕÀÔ

32-È ÂÉÔÎÙÅ ËÏÍÐÉÌÑÔÏÒÙ óÉ, ÉÌÉ ÏÓÔÁÀÔÓÑ × ÒÅÁÌØÎÏÍ ÒÅÖÉÍÅ, É ÉÓÐÏÌØÚÕÀÔ 16-É ÂÉÔÎÙÅ ËÏÍÐÉÌÑÔÏÒÙ óÉ.

Alexey

Hello George.

04 Feb 04 03:54, you wrote to me:

AB>> á nasm ÞÅÍ ÎÅ ÕÇÏÄÉÌ? GS> ÷ÙËÉÎÕÔÁ ÔÉÐÉÚÁÃÉÑ. ÷ ÐÒÉÍÅÒÁÈ, ËÏÔÏÒÙÍÉ È×ÁÓÔÁÌÉÓØ ÌÀÂÉÔÅÌÉ ÎÁÓÍÁ, GS> ÐÒÉÈÏÄÉÌÏÓØ ÐÉÓÁÔØ

GS> MOV AX,word ÔÒÁ-ÌÑ-ÌÑ

ÔÏÌØËÏ ÞÔÏ ÎÁÐÉÓÁÌ

mov ax,10

óËÏÍÐÉÌÉÒÏ×ÁÌÏÓØ ×:

B8 A0 00

HÁÐÉÓÁÌ mov ax, 100000

ðÒÉ ËÏÍÐÉÌÑÃÉÉ ×ÙÄÁÌ:

1.s:3: warning: word value exceeds bounds

þÔÏ ÎÅ ÔÁË?

Alexey

Hello George.

04 Feb 04 03:43, you wrote to Andy Mozzhevilov:

AM>> üÔÏ ÐÏÄÔ×ÅÒÖÄÁÅÔ, ÞÔÏ ×ÙÉÇÒÙÛ ÂÙÌ ÄÏÓÔÉÇÎÕÔ ÚÁ ÓÞÅÔ ÐÒÉÍÅÎÅÎÉÑ AM>> ÂÏÌÅÅ ÏÐÔÉÍÁÌØÎÙÈ ÁÌÇÏÒÉÔÍÏ×. GS> é ËÔÏ ÍÅÛÁÌ ÐÒÉÍÅÎÉÔØ ÜÔÉ ÏÐÔÉÍÁÌØÎÙÅ ÁÌÇÏÒÉÔÍÙ ÎÁ ÓÑÈ? GS> ðÒÁ×ÉÌØÎÏ, ÏÇÒÁÎÉÞÅÎÉÑ ÑÚÙËÁ.

âÒÅÄ.

Alexey

Kirill, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?

ðÏÎÅÄÅÌØÎÉË æÅ×ÒÁÌØ 02 2004 20:02, Kirill Frolov wrote to George Shepelev:

AM>>> HÕ, É ÈÏÔÅÌÏÓØ ÂÙ ÉÍÅÔØ ÐÒÉÍÅÒ ÚÅ×ËÁ, ËÏÔÏÒÙÊ ÐÌÏÈÏ ÌÏ×ÉÔ óÉ. GS>> "=" ×ÍÅÓÔÏ "==". HÕ ÏÞÅÎØ ÚÁÂÁ×ÎÏ ÇÌÑÄÅÔØ, ËÁË ×ÙÌÁ×ÌÉ×ÁÀÔ GS>> ÐÏÄÏÂÎÕÀ ÂÁÇÕ ;))) KF> þÕÛØ. á ÓÁÍ-ÔÏ ÐÒÏÂÏ×ÁÌ? ìÀÂÏÊ ËÏÍÐÉÌÑÔÏÒ ÎÁ ÜÔÏ ÖÕÔËÏ ÒÕÇÁÅÔÓÑ.

HÅ ÌÀÂÏÊ. é, ËÓÔÁÔÉ, ÎÅ ÏÂÑÚÁÎ ÒÕÇÁÔØÓÑ. æÏÒÍÁÌØÎÏ, Ó ÔÏÞËÉ ÚÒÅÎÉÑ ÓÔÁÎÄÁÒÔÁ ÑÚÙËÁ C, ÏÛÉÂËÉ ÚÄÅÓØ ÎÅÔ.

KF> åÓÌÉ, ËÏÎÅÞÎÏ, warning'É × /dev/null ÎÅ ÏÔÐÒÁ×ÌÑÔØ.

warning'É, ÜÔÏ ÎÅ ÒÕÇÁÎØ, Á ×ÅÖÌÉ×ÙÅ ÎÁͣËÉ ËÏÍÐÉÌÑÔÏÒÁ, ÞÔÏ ÔÕÔ ÎÅÐÌÏÈÏ ÂÙ ÐÏÇÌÑÄÅÔØ ×ÎÉÍÁÔÅÌØÎÅÅ. íÎÏÇÉÅ ÐÒÏÇÒÁÍÍÉÓÔÙ, ÓÞÉÔÁÀÝÉÅ ÓÅÂÑ "ÎÅÍÅÒÑÎÏ ËÒÕÔÙÍÉ" ×ÓÅ warning'É ÏÔËÌÀÞÁÀÔ. ôÅÂÅ ÞÔÏ, ÎÅ ÐÒÉÈÏÄÉÌÏÓØ ×ÉÄÅÔØ ÉÓÈÏÄÎÉËÏ× Ó ËÏÍÍÅÎÔÁÒÉÑÍÉ ×ÉÄÁ "ËÏÍÐÉÌÉÒÏ×ÁÔØ Ó ÏÔËÌÀÞÅÎÎÙÍÉ warning'ÁÍÉ"? ;-)

çÅÏÒÇÉÊ

Wed Feb 04 2004 03:17, George Shepelev wrote to Yuriy K:

GS>>>>>>> ÄÅÔÁÌÑÈ, ÐÏÜÔÏÍÕ × ÎÅËÏÔÏÒÙÈ áïH'ÁÈ ÐÒÉÈÏÄÉÌÏÓØ ÓÔÁ×ÉÔØ GS>>>>>>> ÔÏÌØËÏ ÏÐÒÅÄẠ̊ÎÎÙÊ ÔÉÐ ÞÉÐÏ×, ÈÏÔÑ ÄÒÕÇÉÅ, ×ÏÚÍÏÖÎÏ, ÂÙÌÉ GS>>>>>>> ÄÏÓÔÕÐÎÅÅ É ÄÅÛÅ×ÌÅ). Yë>>>>>> áÓØ? HÁÚ×ÁÎÉÑ ÆÉÒÍ É ÓÕÔØ ÒÁÚÌÉÞÉÊ ÔÙ, ËÁË ×ÓÅÇÄÁ, ÎÅ Yë>>>>>> ÐÏÍÎÉÛØ... éÌÉ ×ÓÅ ÖÅ ÎÁÚÏ×ÅÛØ? YK>>>> ðÏÎÑÔÎÏ, ÎÅ ÚÎÁÅÛØ. YK>>>> é ÐÏÞÅÍÕ Ñ ÎÅ ÕÄÉ×ÌÅÎ? GS>>> á ÞÅÍÕ ÔÕÔ ÎÁÄÏ ÂÙÌÏ ÕÄÉ×ÌÑÔØÓÑ? YK>> HÕ, ×ÄÒÕÇ ÔÙ ÓÕÍÅÅÛØ ÏÂÏÓÎÏ×ÁÔØ ÓÔÏÌØ, ÈÍ, ÓÔÒÁÎÎÏÅ ÕÔ×ÅÒÖÄÅÎÉÅ.

GS> ëÏÇÄÁ Ñ ÐÙÔÁÌÓÑ ÐÏÌÕÞÉÔØ ÒÁÂÏÔÕ, Ó×ÑÚÁÎÎÕÀ Ó ÎÁÐÉÓÁÎÉÅÍ ÐÒÏÛÉ×ËÉ ÄÌÑ GS> áïH'Ï×, ÏÄÎÏÊ ÉÚ ÐÒÏÂÌÅÍ ÔÅËÕÝÅÊ ÒÅÁÌÉÚÁÃÉÉ ÂÙÌÁ ÒÁÂÏÔÏÓÐÏÓÏÂÎÏÓÔØ ÎÅ ÎÁ GS> ×ÓÅÈ ÍÏÄÅÌÑÈ i51-ÓÏ×ÍÅÓÔÉÍÙÈ ÐÒÏÃÅÓÓÏÒÏ×. ñ ÎÅ ÄÕÍÁÀ, ÞÔÏ ÒÁÂÏÔÏÄÁÔÅÌØ GS> ÓÔÁÌ ÂÙ ÉÚÏÂÒÅÔÁÔØ _ÎÅÓÕÝÅÓÔ×ÕÀÝÕÀ_ ÐÒÏÂÌÅÍÕ.

úÁÔÏ ÍÏÇ ÐÒÅÒÁÓÎÏ ÅÎ ÐÏÎÉÍÁÔØ ÐÒÉÞÉÎÙ ÓÕÝÅÓÔ×ÕÀÝÅÊ ÐÒÏÂÌÅÍÙ.

GS> ô.Ë. ÍÙ ÎÅ ÓÏÛÌÉÓØ ÐÏ GS> ×ÏÐÒÏÓÁÍ ÏÐÌÁÔÙ É ÐÒÁ× ÓÏÂÓÔ×ÅÎÎÏÓÔÉ, ÜÔÕ ÐÒÏÂÌÅÍÕ ÍÎÅ ÒÅÛÁÔØ ÎÅ ÐÒÉÛÌÏÓØ GS> É ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ ÉÎÆÙ GS> ÐÏÄ ÒÕËÏÊ ÎÅ ÓÏÈÒÁÎÉÌÏÓØ.

ëÁË Ñ É ÇÏ×ÏÒÉÌ - ÏÐÑÔØ ÎÅ ÐÏÍÎÉÛØ/ÎÅ ÚÎÁÅÛØ...

WBR, àÒÉÊ.

Привет, 4 февраля 2004 г., 19:59:12, ты писал(а):

VC>>> Reset1: VC>>> bcf status_reg, _some_bit VC>>> Reset2: VC>>> bcf status_reg, _other_bit VC>>> return KF>> void Reset2() { KF>> asm("bcf status_reg, _other_bit"); KF>> } KF>> void Reset1() { KF>> asm("bcf status_reg, _some_bit"); KF>> Reset2(); KF>> } AM> Убил бы. Второе использует лишний уровень стека, последствия AM> непредсказуемы.

Вполне может скомпилироваться в вид, подобный вышеприведенному на ассемблере. Если же объявить функции как static - функции и вовсе могут инлайниться.

Всего хорошего.

ðÒÉ×ÅÔ George!

Wednesday February 04 2004 03:49, George Shepelev wrote to Andy Mozzhevilov:

AVB>>> HÏÒÍÁÌØÎÙÊ ËÏÍÐÉÌÑÔÏÒ ó, ËÏÔÏÒÙÊ ÕÍÅÅÔ tail merging AVB>>> Ó×ÅÒÎÅÔ ËÏÄ ÎÅÓËÏÌØËÉÈ ÆÕÎËÃÉÊ, AM>> üÔÏÇÏ ÇÏÓÐÏÄÁ ÁÓÓÅÍÂÌÅpÝÉËÉ ÎÅ ÐÏÎÉÍÁÀÔ. GS>

GS> çÏÓÐÏÄÁ ÁÓÓÅÍÂÌÅÒÝÉËÉ ÖÅÌÁÀÔ ÇÏÓÐÏÄÁÍ ÓÉÛÎÉËÁÍ, ÞÔÏÂÙ ÉÈ ËÏÍÐÉÌÑÔÏÒÙ GS> ×ÓÅÇÄÁ ÕÍÅÌÉ (É ÐÒÁ×ÉÌØÎÏ ÐÒÏÄÅÌÙ×ÁÌÉ) ÐÏÄÏÂÎÙÅ ÏÐÔÉÍÉÚÁÃÉÉ!

ïÎÉ ÜÔÏ ÕÍÅÌÉ ÚÁÄÏÌÇÏ ÄÏ ÔÏÇÏ, ËÁË ÔÙ Õ×ÉÄÅÌ ÐÅÒ×ÙÊ ËÏÍÐÉÌÑÔÏÒ, öÏÒÁ.

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