Из с++ в Ассемблер!

Тема в разделе "WASM.BEGINNERS", создана пользователем tagegor, 9 сен 2009.

  1. tagegor

    tagegor New Member

    Публикаций:
    0
    Регистрация:
    8 июл 2009
    Сообщения:
    54
    Здравствуйте! :)
    Требуется перевести данный код в код на масм )))
    Код (Text):
    1. BYTE lpMsg[5] = {0xC1, 0x05, 0xF3, 0x06, CMD_STATS_TYPE};
    Несовсем все понимаю, прощу ващей помощи :))
    Спасибо
     
  2. x0man

    x0man New Member

    Публикаций:
    0
    Регистрация:
    23 мар 2008
    Сообщения:
    358
    Код (Text):
    1. .const
    2.     CMD_STATS_TYPE  equ 0FFh
    3. .data
    4.     lpMSG   db 0C1h, 005h, 0F3h, 006h, CMD_STATS_TYPE
    5. .code
    6.  
    7. start:
    8.     lea eax, lpMSG
    9.     mov bl, byte ptr [eax + 0] ; 0C1h
    10.     mov bl, byte ptr [eax + 1] ; 005h
    11.     mov bl, byte ptr [eax + 2] ; 0F3h
    12.     mov bl, byte ptr [eax + 3] ; 006h
    13.     mov bl, byte ptr [eax + 4] ; CMD_STATS_TYPE
    14.     ret
    15. end start
    %)
     
  3. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    rol [off32], imm8
    точнее сказать не получится т.к. смещ32 задано не полностью, но если рассматривать 16 битный вариант, то это rol word [di], 0xF3/push es/???CMD_STATS_TYPE???
     
  4. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Код (Text):
    1.     mov dword ptr [lpMsg],06F305C1H
    2.     mov byte ptr [lpMsg + 4],CMD_STATS_TYPE
     
  5. MEPOX

    MEPOX New Member

    Публикаций:
    0
    Регистрация:
    15 авг 2008
    Сообщения:
    259
    Clerk а почему вверх ногами?
     
  6. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    MEPOX
    Вес разрядов справа на лево увеличивается, поэтому последовательность байт назад.