Перспектива асма

Тема в разделе "WASM.BEGINNERS", создана пользователем Processor, 15 мар 2008.

  1. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Novi4ek
    Название "Системный программист" само собой подразумевает хорошее знание
    ассемблера.Чтобы писать качественный код , обязательно нужно знать систему
    изнутри.Знание ассемблера говорит о высоком внутреннем развитии человека.
    К примеру человеку , не знающему асм трудно объяснить что результатом
    работы какойто функции на С не может быть адрес её локальной переменной, т.к.
    это дело в стеке и при дальнейших вызовах функций , после неё , там будет
    БОЛТ.
    Наверно асм это не ведущая прогрессивная технология - а образ жизни (дзен).
    И посмотри в ветке коммерц сколько платят, хоть и разово.
     
  2. Novi4ek

    Novi4ek New Member

    Публикаций:
    0
    Регистрация:
    3 авг 2007
    Сообщения:
    317
    wsd
    Никто не говорит про незнание ассемблера. На любом программерском/системотехническом потоке в любом вузе ассемблер изучается на 1, 2 или 3ем курсе. Что там его изучать-то? Естественно знать надо, никто не спорит об этом.

    Наверное на васме это именно так.
     
  3. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.734
    Отнють. Сам язык несложен.

    Сложнее архитектура ОС, API и пр.
     
  4. beginner

    beginner New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2008
    Сообщения:
    233
    асм нужен хотя бы для того, что бы не платить за программные поделки, таких программеров как Novi4ek и им подобным.
     
  5. Processor

    Processor New Member

    Публикаций:
    0
    Регистрация:
    15 мар 2008
    Сообщения:
    46
    Эх, хорошо! (Это я конечно же про сегодняшнее прекрасное утро)...
     
  6. Karasb

    Karasb New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2007
    Сообщения:
    8
    И как же немного "изменить" или "зарегистрировать" программу незная ассемблера?
    Аля HIEW32 + знание Асма....

    А вирусы писать? А антивирусы?
     
  7. Processor

    Processor New Member

    Публикаций:
    0
    Регистрация:
    15 мар 2008
    Сообщения:
    46
    Да и вообще есть в ассемблере что-то такое... Завораживающее... Не знаю как объяснить толком... Но думаю здешние меня понимают...
     
  8. Aquila

    Aquila Самурай дзена

    Публикаций:
    0
    Регистрация:
    30 авг 2002
    Сообщения:
    1.467
    Адрес:
    Russia, Moscow
    Сила с большой буквы.
     
  9. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    вопрос поставлен неверно: что значит "есть ли перспектива"??:)) асм - это язык проца и значит, что он будет жить пока живут процы. другой вопрос будет ли он использоваться напрямую - на эту тему мы с SII как раз и беседовали:)), так что повторяться не буду:)) одно могу порекомендовать: не надо впадать в фанатизм, ибо абсолютно выигрышных подходов нет. конечно, стоит признать, что асм хорош для тренировки мозга, хотя я предпочитаю математику.
     
  10. beginner

    beginner New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2008
    Сообщения:
    233
    Главное уметь строить алгоритмы и логику программы, а в чем воплощать их в жизнь - это уже дело десятое.
     
  11. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    beginner
    Так строиш ты их опираясь на какой-то язык или псевдоязык.
    Язык формирует мышление!
    Если язык слишком примитивен, то соответственно и результаты мышления
    будут желать лучшего. К примеру возьмём чукч.
    Да это не шутка.
    На ихнем языке ни черта не объясниш физические процессы или элементы
    высшей математики:dntknw: Но зато они самые лучшие охотники . У них
    в языке 15 названий вида снега и куча других наворотов, связанных с охотой.
    Вот их язык и определил ихнее занятие и мышление.
    Асм всеобъемлин и допускает любую реализацию творческой мысли.
     
  12. beginner

    beginner New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2008
    Сообщения:
    233
    wsd
    Нет, я сначала строю алгоритм в уме, пытаюсь его в уме выполнить или на листке бумаги (ну это уже крайность :) ). Если я могу выразить этот алгоритм словами - я его смогу закодить. И тогда уже выбираю на чем его кодить. Лишь бы возможности языка программирования позволяли закодить то, что мне нужно. Ну и ессно, с учетом специфики алгоритма выбирается тот язык, который наиболее лучше подходит данную задачу, или тот, который знаем.

    Хотя если под псевдоязыком понимать язык человеческого общения - тогда ты прав.
     
  13. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    wsd
    ты на асме своей девушке в любви объясняешься:))??
    самым сильным языком является язык образов, слова отображают его, но не вполной мере.
     
  14. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    И мне пофлудить хочется. :)

    beginner
    Ага. Вот Вы придумаете алгоритм для boot load программы, под который ну просто идеально подходит VB6.0. Хотел бы я посмотреть, как Вы его закодите. wsd прав: если Вы раньше писали на высокоуровневых языках и переходите на ассемблер, то образ мышления придется поменять. Понятия циклов нескольких типов (по количеству, предусловие, постусловие и т.п.), ветвлений не имеют силы. Мало того: мегакрамольный оператор goto, который не использует ни один, уважающий себя программист на высокоуровневом языке, - средство, без которого практически нереальна программа на ассемблере. Так вот без смены образа мышления при переходе к ассемблеру подстраивать Ваши суперкрутые алгоритмы с листочка бумаги под ассемблер будет нелегко, а получаться будет отвратительнейший код. Ну вот простейший пример - фрагмент перевода числа в строку:
    Что пишет человек, перешедший от языка высокого уровня:
    Код (Text):
    1. mov ecx, 8h
    2. cycle:
    3. push Eax
    4. and Eax, 0fh
    5. cmp Eax, 0Ah
    6.    jae hex
    7. add Eax, 30h
    8. mov [answer+ecx], al
    9.  jmp resume
    10.    hex:
    11. add Eax, 57h
    12. mov [answer+ecx], al
    13.  resume:
    14. dec ecx
    15. pop Eax
    16. shr Eax, 4h
    17. cmp Eax, 0
    18.  jne cycle
    Смотришь и видишь конструкцию If-then-else. Мало того. В оригинале ответ вообще заполнялся от адреса answer, к концу буфера, что еще увеличивало объем кода.
    А вот, что пишет человек, думающий на ассемблере (посмею так выразиться, т.к. пример достаточно прост):
    Код (Text):
    1. mov ecx,8
    2. nextDigit:
    3.    mov eax,esi
    4.    and eax,0Fh
    5.    add eax,'0'
    6.    cmp eax,'9'
    7.    jbe @F
    8.       add eax, 'A'-('9'+1)
    9.    @@:
    10.    shr esi,4
    11. add ecx,-1h
    12. mov byte[Answer+ecx],al
    13. jnz nextDigit
    Вы писали когда-нибудь на прологе? Нет? А при переходе к этому языку Вам тоже придется менять образ мышления и строить алгоритмы под него, а не кодить на нем алгоритм, который к этому языку ну ни в тын, ни в другие места. Да что там к языку... даже если сравнивать структурно-функциональный подход с ООП - разные шария думающих частей человеческого тела. Если Вы привыкли к ООП, то и придуманный Вами алгоритм будет хоть и не осознанно, но отвра... ну в общем другим.
    UbIvItS
    Ну что Вы говорите? wsd говорил о реализации творческой мысли, а не о таком никчемном, мелочном, пошлом и эгоистичном понятии, как "любовь". :)
     
  15. beginner

    beginner New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2008
    Сообщения:
    233
    l_inc
    Продолжаем флудить. :)))
    Я изначально начинал учить именно асм, при чем на таких гробах, что счас даже никто о них не слышал.
    этот гроб представлял собой чемодан, именно чемодан, с 6 индикаторами и с процом КР580ВМ80А, аналога интела 8080 и вроде как с 512 байтами под код. И давали задачи написать код, что бы в отведенный обьем вписать все заданные функции.
    Так что я как раз переходил с асма на С и С++, а не наоборот и оптимизацию кода нам хорошо вбивали. Кроме того, программирование под ZX Synclair также подразумевает знание асма, и там был небольшой опыт кодинга :)
    Я там еще дописал, что можно использовать язык которым знаем :)
    Если программер знает тока бейсик, то он и будет писать на бейсике :)

    Тут еще мысля пришла. Если программер владеет каким либо ЯВУ, то он автоматически будет строить алгоритм с учетом специфики этого языка.
    Если программер изучал С++ изначально под МФС, то он и будет строить практически всегда алгоритмы с учетом МФС.

    И мы спорим о перспективах асма или как?
    тут уже выше написали - пока будут жить процы - будет жить и асм :)
    Если я не ошибаюсь, то вместо данной операции можно написать dec ecx ?
     
  16. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Если интересует только изменение содержимого регистра -- то да. А вот если изменение флажков -- то не всегда, если память не изменяет (смотреть в мануал, как устанавливает флаги dec, мне лень).
     
  17. beginner

    beginner New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2008
    Сообщения:
    233
    всю жизнь операции декремента и инкремента изменяли флаги, в соответствии с результатом операции :)
    dec ecx устанавливает флаг нуля, если есх стал = 0.
    любые математические, логические операции меняют флаги. Другой вопрос, флаг может не поменятся, если он уже до операции установлен или сброшен в тоже самое состояние, в которое он переходит после выполнения операции. Тогда визуально не видно, что флаг изменился.
    Флаги не меняются только при использовании операций перемещения и изменения хода выполнения программы.
     
  18. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.734
    Скорее наоборот.
    Их образ жизни определил язык ...

    Язык утилитарен и вторичен по сути.
     
  19. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    до тех пор, пока его не начинают распространять те, которыми он не был придуман и которыми не использовался в повседневной жизни в качестве утилитарного, после этого язык превращается в культ ;).
     
  20. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    l_inc
    товарищ, только задача определяет выбор инструмента:)) а споры о том, что лучше - что хуже в абсолюте, для фанатиков и ламеров:derisive:) решение любой задачи - это компромисс между разл. факторами - нельзя выиграть сразу по всем параметрам.
    ну, вот приехали: любовь стала ассоциироваться с такими вещами:dntknw:( идеолагам масмедиа можно поставить железную пятёрку, ибо здорово людям м0зги промыли:))