[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Odp: Odp: assembler



> Dzięki za odpowiedź.
> Twój pomysł jest niezły jednak mi przedewszystkim
> zależy na szybkości operacji, a co za tym idzie
> ograniczenia korzystania z pamięci (z poza prcesora)
> do minimum ( oczywiście są komendy przesuwające
> odpowiednie bloki do pamięci do cache ale moja
> znajomość assemblera niesięga jeszcze tak daleko i
> narazie tylko z nimi eksperymentuje). Mozna by również
> zmeniać rejestr %eip wskazujęcy na kolejną wykonywana
> instrukcję ..ale to również wiąże sie z korzystniem ze
> stosu.
> np. w programie z podanych z zewnątrz danych obliczam
> ile razy ( 0<n<5  'n' naturalne ) powinienem obrocic
> cyklicznie podwojne slowa w rejestrze %xmm0,
> załużmy że w %al otrzymuje 2*n, w %bl binarnie
> 0b11100100=x03020100, teraz jezeli mógłbym pisac
> bezpośrednio do  programu wystarczy ze zrobie
> 1) rorb %al,%bl     #obracam rządaną ilosć razy %bl   
>                                       
> 2) movb %bl,.+n     # zastap $1
> 3) shufs $1,%xmm0,%xmm0
> 
> moglbym oczywiscie w zalezności od wyniku w %al
> ustawiac adres skoku do procedury z ustalonym
> parametrem przestawienia dla shufs ale wiaze sie to z
> instrukcjami prownanwczymi ( chociaz tego mozna
> uniknac) no i odwolaniem do pamieci, co ma znaczenie
> kiedy podobne operacje dla rożnych 'n' wykonuje 2^1000
> razy.
> A nawet gdyby można było napisać inną szybszę
> instrukcję ( nie twierdzę że nie można :) ) to z samej
> ciekawości chciałębym umieć dowolnie manipulować
> programem :)
> 
> Pozdrawiam
> Lukas
> 

W sumie to adresy możesz też w rejestrach procesora przechowywać, no ale wtedy
oczywiście będą tam musiały siedzieć tak długo jak długo potrzebujesz podmieniać kod.
Czyli nie jest to chyba dobre rozwiązanie bo jeśli potrzebujesz używać tych adresów cały
czas to masz cały czas zajęte dwa rejestry...

Niestety więcej nie jestem w stanie pomóc, bo jak już pisałem, moja wiedza o asm jest raczej
niewielka...

Pozdrawiam, Tomek

----------------------------------------------------
Weekendowe trunkowanie czyli przepisy na drinki i nalewki - Kliknij:
http://klik.wp.pl/?adr=http%3A%2F%2Fadv.reklama.wp.pl%2Fas%2Fk23.html&sid=859




Reply to: