Thread View: pl.comp.lang.asm
7 messages
7 total messages
Started by Andrzej Grażyński
Fri, 26 Mar 2010 14:09
Odwracanie kolejności bitów w bajcie
Author: Andrzej Grażyński
Date: Fri, 26 Mar 2010 14:09
Date: Fri, 26 Mar 2010 14:09
1 lines
810 bytes
810 bytes
To kolejna zagadka.
Re: Odwracanie kolejności bitów w bajcie
Author: Michal Schulz
Date: Fri, 26 Mar 2010 14:44
Date: Fri, 26 Mar 2010 14:44
21 lines
1036 bytes
1036 bytes
cos takiego? mov dl, al and dl, 0x55 shr al shl dl and al, 0x55 or al, dl mov dl, al and dl, 0x33 shr al, 2 shl dl, 2 and al, 0x33 or al, dl ror al, 4 pewnie mozna prosciej :) -- Michal Schulz
Re: Odwracanie kolejności bitów w bajcie
Author: Andrzej Grażyński
Date: Sat, 27 Mar 2010 11:35
Date: Sat, 27 Mar 2010 11:35
23 lines
1341 bytes
1341 bytes
Michal Schulz pisze: > cos takiego? > > mov dl, al > and dl, 0x55 > shr al > shl dl > and al, 0x55 > or al, dl > mov dl, al > and dl, 0x33 > shr al, 2 > shl dl, 2 > and al, 0x33 > or al, dl > ror al, 4 > > pewnie mozna prosciej :) > Wskazówka: Niech X będzie liczbą bez znaku, Y będzie liczbą powstającą przez odwrócenie kolejności bitów w liczbie X. Wtedy X xor Y = X + Y.
Re: Odwracanie kolejności bitów w bajcie
Author: Wojciech Muła
Date: Sat, 27 Mar 2010 12:45
Date: Sat, 27 Mar 2010 12:45
38 lines
1742 bytes
1742 bytes
Andrzej Grażyński <grazynsk@petex.com.pl> wrote: > Michal Schulz pisze: > > cos takiego? > > > > mov dl, al > > and dl, 0x55 > > shr al > > shl dl > > and al, 0x55 > > or al, dl > > mov dl, al > > and dl, 0x33 > > shr al, 2 > > shl dl, 2 > > and al, 0x33 > > or al, dl > > ror al, 4 > > > > pewnie mozna prosciej :) > > > Wskazówka: > > Niech X będzie liczbą bez znaku, Y będzie liczbą powstającą przez > odwrócenie kolejności bitów w liczbie X. Wtedy X xor Y = X + Y. X = 0xf8, więc Y = 0x1f X ^ Y = 0xe7 X + Y = 0x117 (X + Y) & 0xff = 0x17 Jakoś różne liczby wychodzą. Chyba, że ja czegoś nie rozumiem. w. -- Mamy oswojoną sarnę i w związku z tym projektuję, by dorobić do niej kłódkę.
Re: Odwracanie kolejności bitów w bajcie
Author: Andrzej Grażyński
Date: Sat, 27 Mar 2010 20:11
Date: Sat, 27 Mar 2010 20:11
41 lines
1958 bytes
1958 bytes
Wojciech Muła pisze: > Andrzej Grażyński <grazynsk@petex.com.pl> wrote: > >> Michal Schulz pisze: >>> cos takiego? >>> >>> mov dl, al >>> and dl, 0x55 >>> shr al >>> shl dl >>> and al, 0x55 >>> or al, dl >>> mov dl, al >>> and dl, 0x33 >>> shr al, 2 >>> shl dl, 2 >>> and al, 0x33 >>> or al, dl >>> ror al, 4 >>> >>> pewnie mozna prosciej :) >>> >> Wskazówka: >> >> Niech X będzie liczbą bez znaku, Y będzie liczbą powstającą przez >> odwrócenie kolejności bitów w liczbie X. Wtedy X xor Y = X + Y. > > X = 0xf8, więc Y = 0x1f > > X ^ Y = 0xe7 > X + Y = 0x117 > (X + Y) & 0xff = 0x17 > > Jakoś różne liczby wychodzą. Chyba, że ja czegoś nie rozumiem. > > w. > Odwołuję, przepisałem i nie sprawdziłem. To jest prawdziwe tylko w odniesieniu do tzw. liczb Lecoutera-Langa, wynalezionych w związku z badaniem problemu stopu algorytmu 3K+1.
Re: Odwracanie kolejności bitów w bajcie
Author: Wojciech Muła
Date: Sun, 28 Mar 2010 10:40
Date: Sun, 28 Mar 2010 10:40
13 lines
1218 bytes
1218 bytes
Andrzej Grażyński <grazynsk@petex.com.pl> wrote: > To kolejna zagadka. Tu jest najwięcej metod: http://graphics.stanford.edu/~seander/bithacks.html Łatwo odwórcenie bitów można uzyskać rozkazami MMX2: http://wm.ite.pl/articles/snippets.html#transpozycja-bitow-update W SSE5 jest jeszcze łatwiej. w.
Re: Odwracanie kolejności bitów w bajcie
Author: Andrzej Grażyński
Date: Thu, 13 May 2010 07:21
Date: Thu, 13 May 2010 07:21
21 lines
1069 bytes
1069 bytes
Jak ktoś woli skoki: TEST AL,$81 JP @@1 XOR AL,$81 @@1: TEST AL,$42 JP @@2 XOR AL,$42 @@2: TEST AL,$24 JP @@3 XOR AL,$24 @@3: TEST AL,$18 JP @@4 XOR AL,$18 @@4:
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads