Przeczytam kod smphello.s przez allan cruse codeMontaż: czy instrukcja xadd wymaga blokady?
w następnej części próbuje ustawić segment stosu dla każdego procesora.
chodzi o to, że użył xadd bez użycia prefiksu blokującego, będąc w opisie xadd, jak w here. może istnieć przedrostek blokady.
czy to błąd, czy jest to w porządku? i dlaczego ?
# setup an exclusive stack-area for this processor
mov $0x1000, %ax # paragraphs in segment
xadd %ax, newSS # 'atomic' xchg-and-add
mov %ax, %ss # segment-address in SS
xor %esp, %esp # top-of-stack into ESP
Tak, należy użyć 'blokady'. Jedyną instrukcją, która sama ustawia blokadę, jest 'xchg'. – Jester
@becks: Czy jest jakiś problem z moją odpowiedzią? – SonOfSun