SSE mulps

Тема в разделе "WASM.BEGINNERS", создана пользователем Maggot, 11 авг 2005.

  1. Maggot

    Maggot New Member

    Публикаций:
    0
    Регистрация:
    31 июл 2005
    Сообщения:
    17
    Я ещё пока плохо в ассемблере разбираюсь, так что не смейтесь.

    Я хотел бы узнать, почему процессор неправильно читает данные из регистра ebx. Возникает ошибка "команда ссылается на адрес в памяти 0xFFFFFFFF, хотя в регистре ebx совершенно другой адрес.

    matr dd 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100

    .....

    mov ebx,matr

    .....

    mulps xmm0,[ebx]

    .....
     
  2. yureckor

    yureckor New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    494
    Адрес:
    Russia
    если под MASM, то mov ebx, OFFSET matr.

    А может не в этом месте ошибка? Проверь просто mulps xmm0, OFFSET matr
     
  3. Maggot

    Maggot New Member

    Публикаций:
    0
    Регистрация:
    31 июл 2005
    Сообщения:
    17
    Не, на Фасме. Я думал, что просто что то совсем не правильное я написал...

    А какая разница, я ведь с помощью IDA'ы отлаживаю и перед вызовом команды в регистре ebx число отличное от 0xFFFFFFFF. Может проблема в том, что при использовании SSE команд нельзя в качестве операнда использовать регистр общего назначения, хотя в инете много таких примеров.
     
  4. Maggot

    Maggot New Member

    Публикаций:
    0
    Регистрация:
    31 июл 2005
    Сообщения:
    17
    Блин, ну что я не так делаю?

    даже так не работает:

    matr dd 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100

    mulps xmm0,[matr]
     
  5. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    align 16

    matr dd 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100

    mulps xmm0,[matr]