SSE mulps

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

  1. Maggot

    Maggot New Member

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

    Я хотел бы узнать, почему процессор неправильно читает данные из регистра 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
    если под MASM, то mov ebx, OFFSET matr.

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

    Maggot New Member

    Публикаций:
    0
    Не, на Фасме. Я думал, что просто что то совсем не правильное я написал...

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

    Maggot New Member

    Публикаций:
    0
    Блин, ну что я не так делаю?

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

    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
    align 16

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

    mulps xmm0,[matr]