Hm, Gyn, czy nie jest jednak tak, że PF ustawiana jest zależnie od parzystości tylko najmłodszych 8 bitów wyniku? Np. mov eax, 0101h test eax, eax nie ustawia PF na 1.
Na x86 PF mówi tylko o parzystości ustawionych bitów najmniej znaczącego bajta danych. Źródło: en.wikipedia.org/wiki/Parity_flag Testowałem na swoim procku, wygląda na to że wikipedia ma rację
Zastanawia mnie w jaki sposób flaga PF jest wykorzystywana w praktyce. Przychodzi mi do głowy jedynie jakiś algorytm sumy kontrolnej. Z tego co widzę na Wiki PF jest używana pośrednio przy sprawdzaniu flag FPU.
Zastanawiam się, dlaczego jeśli wypisz_parzysta dziala na zasadzie: call wypisz db "Parzysta ilosc bitow",0xa,0 to dlaczego takie udziwnienie w przypadku nieparzystej? Tam też wystarczy: call wypisz db "Nieparzysta ilosc bitow",0xa,0 Zauwazylem, ze we wczesniejszych odcinkach pisales taka sama konstrukcje i zastanawiam sie czy stoi za tym jakis powod, ktorego nie moge dostrzec :)?
Kurs osdev w twoim wykonaniu? Jestem za!
Tak wgl to świetny kanał :)
Hm, Gyn, czy nie jest jednak tak, że PF ustawiana jest zależnie od parzystości tylko najmłodszych 8 bitów wyniku?
Np.
mov eax, 0101h
test eax, eax
nie ustawia PF na 1.
Na x86 PF mówi tylko o parzystości ustawionych bitów najmniej znaczącego bajta danych.
Źródło: en.wikipedia.org/wiki/Parity_flag
Testowałem na swoim procku, wygląda na to że wikipedia ma rację
Zastanawia mnie w jaki sposób flaga PF jest wykorzystywana w praktyce. Przychodzi mi do głowy jedynie jakiś algorytm sumy kontrolnej. Z tego co widzę na Wiki PF jest używana pośrednio przy sprawdzaniu flag FPU.
Zastanawiam się, dlaczego jeśli wypisz_parzysta dziala na zasadzie:
call wypisz
db "Parzysta ilosc bitow",0xa,0
to dlaczego takie udziwnienie w przypadku nieparzystej? Tam też wystarczy:
call wypisz
db "Nieparzysta ilosc bitow",0xa,0
Zauwazylem, ze we wczesniejszych odcinkach pisales taka sama konstrukcje i zastanawiam sie czy stoi za tym jakis powod, ktorego nie moge dostrzec :)?