Правильные и неправильные команды (ассемблер)

Тема в разделе "Другие", создана пользователем Trishi, 22 июл 2009.

  1. Trishi

    Trishi Гость

    Определить неправильную команду для .386p
    1. xor eax,[ebx]
    2. mov dword ptr [ebx],1
    3. mov [esi+di+2],bl
    4. xor [ebx+2],esi

    Определить неправильную команду для .486p
    1. xor eax,ebx
    2. mov dword ptr [ebx],1
    3. mov [esi+2],bx
    4. xor [ebx+2],0ffffh


    Помогите пожалуйста разобраться, и главное, не просто ответ - а почему именно так... Спасибо!
     
  2. Maxx

    Maxx Гость

    в первом случае ошибка в строке 3 - mov [esi+di+2],bl
    ошибка из-за того, что процессор не поддерживает такой режим адресации, правильно будет mov [esi+edi+2],bl

    во втором случае ошибка в строке 4 - xor [ebx+2],0ffffh
    ошибка в том, что ассемблер не может решить, к памяти какого размера по адресу [ebx+2] обращаться
    надо явно указать размер операнда - xor word ptr [ebx+2],0ffffh или xor dword ptr [ebx+2],0ffffh
     
Загрузка...
Похожие Темы - Правильные неправильные команды
  1. Sangitam
    Ответов:
    3
    Просмотров:
    1.045

Поделиться этой страницей