Простенькая задача

Тема в разделе "WASM.HEAP", создана пользователем valterg, 2 июн 2011.

  1. valterg

    valterg Active Member

    Публикаций:
    0
    Разбираясь с задачами новичков набрел на нетривиальную задачку:
    превратить 0x3333 в 0x2222 командами циклического сдвига.
    Там где я ее нашел сказали, что это невозможно, и сразу начали жульничать
    через команды простого сдвига и даже пересылки.
    Немного подумав понял, что имелось ввиду использование 32-битных и 16-битных сдвигов.
    Пока лень рисовать программу - может кому-то будет интересно себя проверить :)
     
  2. ava

    ava New Member

    Публикаций:
    0
    Либо я чего-то не понял, либо решение элементарно:
    Код (Text):
    1. ; > AX, < AX
    2. clc
    3. mov cl,3
    4. rcr ax,1
    5. ror ax,cl
    6. rcr ax,1
    7. ror ax,cl
    8. rcr ax,1
    9. ror ax,cl
    10. rcr ax,1
    11. ror ax,cl
     
  3. valterg

    valterg Active Member

    Публикаций:
    0
    Вот-вот. Склероз подвел. Забыл что циклические сдвиги бывают через бит переноса и просто 8 бит. Смутно такое пытался вспомнить, но увидев категорическое невозможно - тоже поверил. СПАСИБО.
     
  4. edemko

    edemko New Member

    Публикаций:
    0
    используйте OR