Маразм... откровение наСильника

Тема в разделе "WASM.HEAP", создана пользователем Lyzzard, 26 сен 2005.

  1. Lyzzard

    Lyzzard New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2005
    Сообщения:
    5
    Адрес:
    Russia
    Летом месяц кодил на асме (осваивал, типа), Це вообще не трогал. Потом друг-паскалист звонит:

    - слушай, я тут с линуховыми сырцами разбираюсь, чё значит выражение (1 << 8) ?

    - ну эээ... там оператор побитового сдвига, только как ты собрался константу сдвигать?..



    (это мне, значит, привиделось shl 1, 8 ...)
     
  2. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Операции над константами делаются на этапе компиляции. Никаких сдвигов там не будет. Будет сразу 256.
     
  3. Lyzzard

    Lyzzard New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2005
    Сообщения:
    5
    Адрес:
    Russia
    Я о том и говорю... А в асме что будет при попытке сделать shl 1, 8, а? :) То-то же.
     
  4. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Ну почему же? Например компиллер МОГ БЫ сделать так:



    srand(1 << 8);



    ==>



    mov eax,1

    shl eax,8

    push eax

    call [srand]

    add esp, 4
     
  5. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Lyzzard

    А вот не нужно отрывать часть выражения от остального. В каком контексте оно было использовано?



    Возьмём, например, код:

    int i = 12 + (1 << 8).



    На асме можно написать аналогично:

    mov ,12 + (1 shl 8)
     
  6. Lyzzard

    Lyzzard New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2005
    Сообщения:
    5
    Адрес:
    Russia
    IceStudent

    Вот-вот, это я уже потом допетрил. А тогда я пребывал в состоянии глубочайшего транса (где-то на полпути к дзену - первый месяц... знакомые ощущения?), и не сразу врубился, что к чему...