-
- Соколик, твое макро делает сдвиг на жестко задаваемой позицию бита. Для другой позиции искомого бита будет другое макро. Итого 24. От чего афтор и уйти хочет. - Barinov(28.02.2011 23:24, )
- Если бы ты хоть чуток понимал в ассемблере, то увидел бы, что "моё макро" ничего никуда не сдвигает. Ступай, соколик - MBedder(01.03.2011 01:23)
- Соколик, если бы ты чуть понимал а программировании, то знал бы, что макросы только пишутся экономно, а код транжирят направо и налево. У тебя для анализа ПРОИЗВОЛЬНОГО бита(а автору нужно задавать произвольный номер анализируемого бита, т.к. все Barinov(163 знак., 01.03.2011 08:31, )
- Какой такой "код для вызова макроса" ??? Он уже давно написан и содержится в теле программы под названием "ассемблер", там же "вызывается" и там же и остаётся. ReAl(2605 знак., 03.03.2011 09:21 - 09:23)
- +100500. Но объяснять это брызжущему словесным поносом ослу бесполезно - не в осла корм :)) - MBedder(03.03.2011 10:12)
- Пиздец не лечится, ибо это пиздец :)) - MBedder(01.03.2011 19:19)
- Какой такой "код для вызова макроса" ??? Он уже давно написан и содержится в теле программы под названием "ассемблер", там же "вызывается" и там же и остаётся. ReAl(2605 знак., 03.03.2011 09:21 - 09:23)
- Соколик, если бы ты чуть понимал а программировании, то знал бы, что макросы только пишутся экономно, а код транжирят направо и налево. У тебя для анализа ПРОИЗВОЛЬНОГО бита(а автору нужно задавать произвольный номер анализируемого бита, т.к. все Barinov(163 знак., 01.03.2011 08:31, )
- Не 24 а один этот макрос, а номер бита идёт вторым параметром макроса (константой). Посмотрите внимательней. - leon_(28.02.2011 23:37)MBedder
- Вот именно, задается константой. И кодовая реализация будет для каждого бита разная. И для всего набора анализируемых бит должен быть полный набор реализации макросов, от чего автор собственно и хочет уйти. Вот я и спрашиваю, в чем радость? - Barinov(01.03.2011 08:45, )
- Радость в том, что оптимизируется либо размер либо скорость, в данном случае скорость. Топикастер хочет знать как это делать ВААЩЕ - результат налицо. - Xитpый Kитaeц(01.03.2011 11:58)
- Кстати, соколик уже понял это, и запел про "легко модифицировать", а вначале пел про 3 такта "вместо всего твого монстрика":))) - Barinov(01.03.2011 08:48, )
- Ты обтекай поаккуратнее, а то брызги летят :)) - MBedder(01.03.2011 19:21)
- Он прав если че... Смешны скорее Вы со своими 3 тактами. Надо читать тему. - IvanKo(01.03.2011 20:13, )
- Если чё, то в теме написано: "Есть битовое поле. Скажем, 24 бита, то есть, 3 байта. И нужно проверить определенный [= заранее известно какой] бит" - что мой двухсловный макрос именно и делает. MBedder(466 знак., 01.03.2011 21:06)
- Если че, то там в теме написано, что он сделал 24 функции которые отличались только номерами бит, и это ему не нравится. Вы ему предлагаете генератор тех же 24-х реализаций и уверяете что на все про все 3 такта. Где логика? - Barinov(01.03.2011 22:16, )
- Я ему предлагаю не генератор, а суперкомпактный автоматический инлайн-реализатор тех функций. А тебе предлагаю оставить содержимое твоего горшка в покое, и больше им не плеваться - MBedder(01.03.2011 23:41)
- Вы предложили расхожий вариант для генерации своего куска кода для анализа каждого бита. Автор подтвердил, что хотел не этого. В чем проблемма признаться что Вы не прав? - Barinov(03.03.2011 08:39, )
- Вы уже столько написали... Не проще было скопипастить макрос, пару раз его вызвать да посмотреть дизассемблером, что получится? Лень? Так я Вам скажу: на каждый вызов будут подставлены те два оператора с правильными аргументами. - maik-vs(03.03.2011 10:22)
- Друг, ты не меньше понаписал, пора понять, что Мазуру нужен ззадаваемый номер бита, а ему дали метод обращения к константнозадаваемому биту. Вот попробуй напиши цикл опроса всех бит, и увидишь что это не 3 такта. Нужна подпрограммка, говорю же, а BorisSh(10 знак., 03.03.2011 15:15, )
- Где я понаписал? А Мазуру нужно переходить на Си с его любовью к монструозным конструкциям. Ладно, maik-vs(333 знак., 03.03.2011 15:56)
- Ни за что не поверю, что ваши программы с первого раза безупречны. - mazur(04.03.2011 22:36 - 05.03.2011 11:37)
- Вот полученная мною подпрограмма. Напишите ее короче. - mazur(03.03.2011 20:21, ссылка)
- Думаю, оптимальнее уже не сделать. mazur(614 знак., 04.03.2011 21:48)
- только на форумах по ассемблеру мужики меряются у кого короче :> - Snaky(05.03.2011 06:11)
- :))) - MBedder(05.03.2011 14:35)
- И зря думаешь MBedder(189 знак., 05.03.2011 03:33)
- только на форумах по ассемблеру мужики меряются у кого короче :> - Snaky(05.03.2011 06:11)
- Вот код, который покороче будет: 580BM80(895 знак., 04.03.2011 07:27 - 07:30)
- "Не корысти ради"(с) - еще чуток покороче и побыстрее :)) MBedder(802 знак., 04.03.2011 12:26 - 25.03.2011 03:21)
- Не думал, что эту тему снова поднимут. Раз так, спрошу, откуда взялась цифра именно 32? Я не спрашиваю, для чего, спрашиваю-откуда? - mazur(25.03.2011 06:51)
- За mul респект! Бум знать. - maik-vs(05.03.2011 12:53)
- Только справедливости ради :) И быстрее и универсальней, но не короче. - 580BM80(04.03.2011 13:39)
- Да короче, короче - твоя 21 слово, моя - 18. Но твоя изящнее - ijmp красиво лег, почти как у меня когда-то :)) --> MBedder(3026 знак., 05.03.2011 00:27, ссылка)
- Да, я лоханулся - таблицу масок посчитал как 8 слов, а не 4 :(( - 580BM80(05.03.2011 08:22)
- Да короче, короче - твоя 21 слово, моя - 18. Но твоя изящнее - ijmp красиво лег, почти как у меня когда-то :)) --> MBedder(3026 знак., 05.03.2011 00:27, ссылка)
- Человек не может думать на ассемблере. А бит один или несколько? Если один, то можно вначале проверить на 0, потом маска 0x0f, потом 0x33, потом 0x55 -- 4 операции вместо 8-и. Ведь на самом-то деле цель не проверить бит N-ый, а отыскать какие fk0(86 знак., 04.03.2011 13:24)
- Что за mulu? И разве в указатель на mask загружается не удвоенное число? - mazur(04.03.2011 13:22)
- Ага, что-то такое и хотел написать, но потом зацепился за макросы, а потом уже машина пришла и я побежал :-) Только там фрагмент можно на слово короче написать: ldzl,z sbrczl,2 swapah andizl,3clrzh subizl,low -ReAl-(85 знак., 05.03.2011 09:22, )
- "Не корысти ради"(с) - еще чуток покороче и побыстрее :)) MBedder(802 знак., 04.03.2011 12:26 - 25.03.2011 03:21)
- Думаю, оптимальнее уже не сделать. mazur(614 знак., 04.03.2011 21:48)
- Где я понаписал? А Мазуру нужно переходить на Си с его любовью к монструозным конструкциям. Ладно, maik-vs(333 знак., 03.03.2011 15:56)
- Друг, ты не меньше понаписал, пора понять, что Мазуру нужен ззадаваемый номер бита, а ему дали метод обращения к константнозадаваемому биту. Вот попробуй напиши цикл опроса всех бит, и увидишь что это не 3 такта. Нужна подпрограммка, говорю же, а BorisSh(10 знак., 03.03.2011 15:15, )
- Вы уже столько написали... Не проще было скопипастить макрос, пару раз его вызвать да посмотреть дизассемблером, что получится? Лень? Так я Вам скажу: на каждый вызов будут подставлены те два оператора с правильными аргументами. - maik-vs(03.03.2011 10:22)
- Вы предложили расхожий вариант для генерации своего куска кода для анализа каждого бита. Автор подтвердил, что хотел не этого. В чем проблемма признаться что Вы не прав? - Barinov(03.03.2011 08:39, )
- Я ему предлагаю не генератор, а суперкомпактный автоматический инлайн-реализатор тех функций. А тебе предлагаю оставить содержимое твоего горшка в покое, и больше им не плеваться - MBedder(01.03.2011 23:41)
- Если че, то там в теме написано, что он сделал 24 функции которые отличались только номерами бит, и это ему не нравится. Вы ему предлагаете генератор тех же 24-х реализаций и уверяете что на все про все 3 такта. Где логика? - Barinov(01.03.2011 22:16, )
- Если чё, то в теме написано: "Есть битовое поле. Скажем, 24 бита, то есть, 3 байта. И нужно проверить определенный [= заранее известно какой] бит" - что мой двухсловный макрос именно и делает. MBedder(466 знак., 01.03.2011 21:06)
- Он прав если че... Смешны скорее Вы со своими 3 тактами. Надо читать тему. - IvanKo(01.03.2011 20:13, )
- Ты обтекай поаккуратнее, а то брызги летят :)) - MBedder(01.03.2011 19:21)
- Вот именно, задается константой. И кодовая реализация будет для каждого бита разная. И для всего набора анализируемых бит должен быть полный набор реализации макросов, от чего автор собственно и хочет уйти. Вот я и спрашиваю, в чем радость? - Barinov(01.03.2011 08:45, )
- Если бы ты хоть чуток понимал в ассемблере, то увидел бы, что "моё макро" ничего никуда не сдвигает. Ступай, соколик - MBedder(01.03.2011 01:23)
- Соколик, твое макро делает сдвиг на жестко задаваемой позицию бита. Для другой позиции искомого бита будет другое макро. Итого 24. От чего афтор и уйти хочет. - Barinov(28.02.2011 23:24, )