С чего начать Asm?
, Знатоки помогите...
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.217.37] |
|
|
Перед отправкой сообщения внимательно прочтите правила раздела!!!

| Страницы: (2) 1 [2] все ( Перейти к последнему сообщению ) |
С чего начать Asm?
, Знатоки помогите...
|
Сообщ.
#16
,
|
|
|
|
Нет, этого он не делает. Просто если переход попадает в границы -127..128 использует jmp short, иначе jmp near. Т.е. минимально возможную форму. А замену перехода на два я и в tasm не использую - не люблю когда компилятор умничает ![]() А чего оффтоп? Человек почитает и сам решение примет. Цитата ANDLL @ Рекомендую начать с того, что ассемблер это не язык программирования, а компьютерная программа. Да что вы говорите ![]() Если уж быть точным - то ассэмблер это как раз язык программирования, а то о чём вы говорите называется "транслятор с языка ассэмблер". |
|
Сообщ.
#17
,
|
|
|
|
это очень верно подмечено! Цитата cppasm @ Если уж быть точным - то ассэмблер это как раз язык программирования а если ещё точнее, то это низкоуровневый язык программирования |
|
Сообщ.
#18
,
|
|
|
|
Цитата cppasm @ Как раз наоборот, ассемблер - это программа переводящая код, написанный на особом языке(языке ассемблера) в машинный код Если уж быть точным - то ассэмблер это как раз язык программирования, а то о чём вы говорите называется "транслятор с языка ассэмблер". Это общепринятая трактовка термина. Это вам скажет и википедия и любой другой качественный источник. |
|
Сообщ.
#19
,
|
|
|
|
MakedoneZ найди книгу Том Сван. Освоение Turbo Assembler, единственная, где ООП на тасме описано
|
|
Сообщ.
#20
,
|
|
|
|
Цитата ANDLL @ Как раз наоборот, ассемблер - это программа переводящая код, написанный на особом языке(языке ассемблера) в машинный код А язык тогда как по вашему называется? Язык ассемблера? А логика где? Или для вас и С - это компилятор, а язык называется "язык С"? |
|
Сообщ.
#21
,
|
|
|
|
Цитата cppasm @ вообще то да.Язык ассемблера? Цитата cppasm @ Логика в том, что вещи называются так как они называются. Нет ну правда, по твоему на википедии вот так взяли и опечатались? А заодно и Юров и иже с ним?А логика где? Цитата cppasm @ Нет. C это язык. И тем не менее ассемблер это программа. Удивительно, что человек с таким ником слышит это впервые Или для вас и С - это компилятор, а язык называется "язык С"? |
|
Сообщ.
#22
,
|
|
|
|
cppasm ANDLL
Мож хватит? Или начнем рассуждать над тем,можно ли IDE Delphi назвать средой программирования,или программой,или штукой которая организует создание приложений итд итп...Честно говоря все равно как и что называется,мне главное этим владеть. А нужен мне asm,в связи с тем,что занимаюсь криптографией. Некоторые участки кода требуют высокой скорости,что просто недостижимо в языках высокого уровня. Цитата tDCKWL @ найди книгу Том Сван. Освоение Turbo Assembler Спасибо,поищу. +++Скачал уже MASM32,нормалек.Приступим к созданию традиционного "Salam-Eleykim,World!" |
|
Сообщ.
#23
,
|
|
|
|
ANDLL, ну и бред
|
|
Сообщ.
#24
,
|
|
|
|
Цитата cppasm @ Просто если переход попадает в границы -127..128 использует jmp short, иначе jmp near. Странное решение. И ИМХО неверное. Вернее не всегда верное. Это глюк? Или разработчики поленились? Цитата cppasm @ А замену перехода на два я и в tasm не использую - не люблю когда компилятор умничает Обычно да. Но бывает что времени в обрез, и некогда возиться с такой мелочью. Или же пишешь "начерно", в целях "эксперимента", опять же не до диапозонов, не до оптимизации LEA и прочих прелестей, тем более знаешь, что тасм сам все оптимизирует. Цитата rikitikitavi @ а если ещё точнее, то это низкоуровневый язык программирования rikitikitavi, с одной стороны верно, а вот с другой стороны асм все больше и больше обрастает высокоуровневыми средствами. Немного медленно, но тенденция наблюдается. И насколько я знаю, уже предпринимаются попытки создать нечто новое, более удобное и в тоже время оставить низкоуровневые возможности. Цитата tDCKWL @ единственная, где ООП на тасме описано В доках к тасму 3.0 тоже доходчиво это разжевано |
|
Сообщ.
#25
,
|
|
|
|
Цитата AndNot @ В доках к тасму 3.0 тоже доходчиво это разжевано ![]() там режим masm, у Свана ideal |
|
Сообщ.
#26
,
|
|
|
|
Цитата AndNot @ Странное решение. И ИМХО неверное. Вернее не всегда верное. Это глюк? Или разработчики поленились? А что неверного? Если ты явно не указал short/near, то будет тот, у которого короче машинная команда. Т.е. short если допустимо. Если указано явно то будет либо тот переход который указан, либо ошибка в случае невозможности его сгенерировать. Цитата ANDLL @ И тем не менее ассемблер это программа. Удивительно, что человек с таким ником слышит это впервые Спорить по просьбам трудящихся прекращаю. А про ники я бы особо не возмущался... ПС: если тебе станет легче то на wiki можно за минуту всё поменять. ППС: чтоб тут не флудить больше - самый реальный выход - создай голосовалку и посмотрим на результаты. Добавлено Цитата MakedoneZ @ А нужен мне asm,в связи с тем,что занимаюсь криптографией. Некоторые участки кода требуют высокой скорости,что просто недостижимо в языках высокого уровня. ИМХО тогда стоит ещё скачать с сайта Intel или AMD мануалы по MX, SSE, SSE2 и т.д. SIMD команды должны ощутимый прирост дать, смотря правда какие тебе алгоритмы нужны. |
|
Сообщ.
#27
,
|
|
|
|
MakedoneZ,Абеля хорошая книга, а вообще посоветовалабы Кнут-Искусство программирования ну очень хорошая книга, там азы и архитектура и много много всего !
Цитата AndNot @ а вот с другой стороны асм все больше и больше обрастает высокоуровневыми средствами это уже типа следствия, а вообще я просто написала так как во всех книгах везде именно так и пишут |
|
Сообщ.
#28
,
|
|
|
|
Цитата cppasm @ Если ты явно не указал short/near, то будет тот, у которого короче машинная команда. Т.е. short если допустимо. Просто лень в справочники заглядывать, у нас near переходы когда появились? Добавлено Цитата rikitikitavi @ это уже типа следствия Увы, это уже вопрос выживания языка. Цитата rikitikitavi @ а вообще я просто написала так как во всех книгах везде именно так и пишут Это старые мастера писали. А за последнее время толковых книг по асму что то и не припомню |
|
Сообщ.
#29
,
|
|
|
|
Цитата rikitikitavi @ там азы Я бы не сказал что там азы. ![]() У меня есть все 3 тома.Требуется нехилое знаение матана. Благо учусь на Прикладной. Цитата cppasm @ ИМХО тогда стоит ещё скачать с сайта Intel или AMD мануалы по MX, SSE, SSE2 и т.д. SIMD команды должны ощутимый прирост дать, смотря правда какие тебе алгоритмы нужны. Я не особо силен в архитектуре процессоров,но кажется это все некие пртоколы... Так? Все дело в том,что чувствую использование этих протоколов сделает программу машинно-зависимой. У AMD ведь нет MX,SSE,SS2.У них если не ошибаюсь 3DNow! и прочее... ![]() Короче это все новая сфера,которую предстоит изучить. |
|
Сообщ.
#30
,
|
|
|
|
Цитата AndNot @ Просто лень в справочники заглядывать, у нас near переходы когда появились? С х386. Цитата AndNot @ Это старые мастера писали. А за последнее время толковых книг по асму что то и не припомню Зубков. "Assembler для DOS, Windows и Unix" - мне оч понравилась ![]() Цитата MakedoneZ @ Я не особо силен в архитектуре процессоров,но кажется это все некие пртоколы... Так? Все дело в том,что чувствую использование этих протоколов сделает программу машинно-зависимой. У AMD ведь нет MX,SSE,SS2.У них если не ошибаюсь 3DNow! и прочее... Это не протоколы - это новые машинные команды. Но в принципе да - зависимость будет. MMX поддерживают все начиная с Pentium MMX и AMD K6. Только врядли он тебе сильно поможет - это для параллельной обработки целых чисел. А в криптографии ИМХО такое не часто встречается. AMD поддерживает SSE, SSE2 начиная с Athlon, 3DNow! вроди на всех процах. Intel 3DNow! не поддерживает. Так что в принципе или писать несколько реализаций для каждого процессора, или отказаться от использования этих команд. А поддержку того или другого набора процессором в принципе в программе определять можно... |