op mem,reg vs (mov reg,mem op reg,reg,mov mem,reg)

Тема в разделе "WASM.A&O", создана пользователем asmprogrammer, 16 окт 2009.

  1. asmprogrammer

    asmprogrammer New Member

    Публикаций:
    0
    Регистрация:
    25 июл 2009
    Сообщения:
    15
    Допустим мне надо сложить регистр с операндом в памяти
    Что лучше?

    add [4],eax
    или
    mov ebx,[4]
    mov ebx,eax
    mov [4],ebx

    что лучше для конвеера просессора?
    А если два раза?

    add [4],eax
    add [8],eсx
    или
    mov ebx,[4]
    mov ebx,eax
    mov [4],ebx
    mov ebx,[8]
    mov ebx,eсx
    mov [8],ebx
    ?
    Или команды надо как-нибудь перекомпоновать, чтобы не было каких-нибудь stalls?
     
  2. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    asmprogrammer
    наверно вместо mov ebx,eax должно быть add ebx,eax
    этот вариант плох тем что у него идут зависимые операции так как идет использование регистра ebx
    Поэтому первый вариант лучше.

    А также
    Короче по размеру тоже может дать плюс. Хотя обычно это совсем не влияет.