155 / 125 / 3
Регистрация: 22.06.2011
Сообщений: 1,784
1

Assembler умер?

06.04.2012, 18:46. Показов 19620. Ответов 169
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Был на форуме по Delphi

Не по теме:

(прости АССЕМБЛЕР за то что написал это слово)

там народ обсуждает вопрос, который стоит обсудить и у нас!
Одни говорят, что Assembler скончался, вторые, что умирает а другие, что живёт и развивается.
Так всё же жив он или умер?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2012, 18:46
Ответы с готовыми решениями:

C# умер?
В последнее время много встречаю заметок, в которых одни пишут, что C# умер, вторые, что он уже...

Delphi умер?
Одни говорят, что Delphi скончался, вторые, что умирает а другие, что живёт. Так всё же жив он или...

А говорите язык VB 6 умер!
Нашел страничку в VK. Обомлел при виде сего! Смотрите, что творит без использования DirectX.

Visual Basic умер?
Мне кажется, он умер ещё когда решили не продолжать линейку VB1-VB6. Много разразработчиков ушли с...

169
155 / 125 / 3
Регистрация: 22.06.2011
Сообщений: 1,784
23.04.2012, 22:25  [ТС] 161
Author24 — интернет-сервис помощи студентам
Priest_, прочти диалог школьников о вырвнивании.
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
24.04.2012, 06:51 162
Диалога там не видно, виден только полилог.
0
Higher
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
24.04.2012, 07:03 163
Цитата Сообщение от Priest_ Посмотреть сообщение
А как происходит выравнивание структур?
Очень весело.
C++
1
2
3
4
struct S
{
    char x; // 1 байт
}; // итого - 4 байта
C++
1
2
3
4
5
struct S
{
    char x; // 1 байт
    int a; // 4 байта
}; // итого - 8 байт
Дальше еще веселее
C++
1
2
3
4
5
6
struct S
{
    char x; // 1 байт
    char b; // 1 байт
    int a; // 4 байта
}; // итого - 8 байт
Меняем переменные местами
C++
1
2
3
4
5
6
struct S
{
    char x; // 1 байт
    int a; // 4 байта
    char b; // 1 байт
}; // итого - 12 байт
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
24.04.2012, 07:08 164
Мне попадалось упоминание масмовой равнялки аж на границу праграфа, то есть
Assembler
1
X DB ?
- уже вроде как 256 байт.
0
0 / 0 / 0
Регистрация: 12.04.2012
Сообщений: 203
24.04.2012, 19:58 165
Цитата Сообщение от diagon Посмотреть сообщение
Очень весело.
diagon, Я понимаю, что весело, но ничего из этого года не могу понять.
Цитата Сообщение от taras atavin Посмотреть сообщение
Мне попадалось упоминание масмовой равнялки аж на границу праграфа
taras atavin, А твой код хоть и короткий, но мне не понятен.
0
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
24.04.2012, 20:16 166
Цитата Сообщение от IOAN Посмотреть сообщение
Макросы в помощь или Ctrl+C & Ctrl+V
как?
которые развернут
for (i=0;i<10;++i) {
arr[i] = f(i*2) * ..;
}
в
arr[0]=f(0) * ..
arr[1]=f(2) * ..
arr[2]=f(4) * ..
arr[3]=f(6) * ..
...
?
Цитата Сообщение от IOAN Посмотреть сообщение
А разве на асме мона иначе кодить?
переменные по своей сути обычно располагаются в памяти (на хипе, на стеке, просто по фиксированному адресу виртуальной памяти)
перенос из памяти в регистры и обратно нетривиально влияет на скорость работы

Цитата Сообщение от IOAN Посмотреть сообщение
Для этого программист то и нужон.
когда с этим прекрасно справляется компилятор
причем, что под x86_64, что под armv7 один и тот же код

Цитата Сообщение от IOAN Посмотреть сообщение
Функции в циклах это изврат.
интересно мнения, может и циклы сами по себе изврат?)

Цитата Сообщение от IOAN Посмотреть сообщение
Это возможно, почему бы и нет?
опять макросы? Боюсь такими темпами вы напишите компилятор высокоуровневого языка
0
155 / 125 / 3
Регистрация: 22.06.2011
Сообщений: 1,784
24.04.2012, 23:00  [ТС] 167
Цитата Сообщение от alex_x_x Посмотреть сообщение
как?
которые развернут
for (i=0;i<10;++i) {
arr[i] = f(i*2) * ..;
}
Почему как, повторяется несколько раз один и тот же код за исключением индекса.

Цитата Сообщение от alex_x_x Посмотреть сообщение
нетривиально влияет на скорость работы

Не по теме:

Из всего относительного выбираем лучшее.



Цитата Сообщение от alex_x_x Посмотреть сообщение
интересно мнения, может и циклы сами по себе изврат?)
Возможно, но как без них? Помечтаем программирование без циклов! Линейность...


Цитата Сообщение от alex_x_x Посмотреть сообщение
опять макросы? Боюсь такими темпами вы напишите компилятор высокоуровневого языка
А в высокоуровневых языках явным образом высокая роль уделяется им?
0
10 / 10 / 1
Регистрация: 26.02.2011
Сообщений: 112
10.06.2012, 20:07 168
Асм годен только для сис программирования, при написании моей ос он мне сильно помог
0
155 / 125 / 3
Регистрация: 22.06.2011
Сообщений: 1,784
17.06.2012, 16:20  [ТС] 169
Илья Остапишен, есть возможность поближе познакомиться с данным творением!
На край описание возможностей ОС.
0
Asm/C++/Delphi/Py/PHP/VBA
6528 / 1973 / 228
Регистрация: 14.12.2014
Сообщений: 4,121
Записей в блоге: 12
22.03.2017, 11:12 170
Прошу прощения за поднятие такой старой темы, но есть исходники от Agner'а Fog'а относительно как раз функции strlen. 32-битная версия работает почти раза в 2 быстрее (хоть они и более громоздкая). А SSE-версия - раз в 7

Цитата Сообщение от HITMAN Посмотреть сообщение
В архиве три програмы на асм с функцией StrLen Delphi, lstrlen WinApi kernel и которой пользуюсь сам.
Скорость выполнения при $00FFFFFF повторах:
1)Asm ~ 562ms
2)WinApi ~ 843ms
3)Delphi ~ 1232ms
(исходники прилагаются)
p.s. Хотя, если заменить 5 инструкций под комментом check first four bytes for zero на jmp L2a (а метку L2a поставить на следующей строке после L2, т.е. на lea ecx, [ebx-01010101H]), то код становится меньше, а работает ещё чуть быстрее. Непонятно почему сам Agner не делал этого...
Вложения
Тип файла: zip strlen_fog.zip (2.5 Кб, 3 просмотров)
0
22.03.2017, 11:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2017, 11:12
Помогаю со студенческими работами здесь

Мир умер!!! :(
Вам никогда не казалось,что мир умер?! :(

Умер Джон Маккарти
23 октября в возрасте 84 лет скончался Джон Маккарти, создатель языка Lisp, основоположник...

Стив Джобс умер
Только-что узнал печальную новость. Рак поджелудочной железы....

Умер Деннис Ритчи
Мир праху его! Керниган остался один.

Умер Крис Касперски =(
Помним, скорбим.... ВАШИНГТОН, 7 марта, РИА ФедералПресс. Российский хакер Николай Лихачев,...

Умер создатель Си - Деннис Ритчи
В США в возрасте 70 лет скончался Деннис Ритчи (Dennis Ritchie), создатель языка программирования...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
170
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru