Thread View: pl.comp.lang.asm
3 messages
3 total messages
Started by Andrzej Grażyński
Fri, 19 Mar 2010 10:52
Jeszcze prostsza zagadka
Author: Andrzej Grażyński
Date: Fri, 19 Mar 2010 10:52
Date: Fri, 19 Mar 2010 10:52
4 lines
877 bytes
877 bytes
386 i wyżej W EAX jest liczba ze znakiem. Należy w EAX umieścić jej wartość bezwzględną. Oczywiście bez skoku.
Re: Jeszcze prostsza zagadka
Author: Bogdan (bogdro)
Date: Fri, 19 Mar 2010 18:17
Date: Fri, 19 Mar 2010 18:17
26 lines
1652 bytes
1652 bytes
W dniu 19.03.2010 11:52, Andrzej Grażyński pisze: > 386 i wyżej > > W EAX jest liczba ze znakiem. Należy w EAX umieścić jej wartość > bezwzględną. Oczywiście bez skoku. Jeszcze dłuższe rozwiązanie :) xor ebx, ebx test eax, eax sets bl sub ebx, 1 ; 0 / -1 mov ecx, eax and ecx, ebx ; 0 / EAX neg ecx ; 0 / -EAX not ebx ; -1 / 0, zamiast drugiego ; TEST+SETS+SUB, jak słusznie ; zwrócono mi uwagę and eax, ebx ; EAX / 0 add eax, ecx ; EAX / -EAX, można użyć "OR" -- Pozdrawiam/Regards - Bogdan (GNU/Linux & FreeDOS) Kurs asemblera x86 (DOS, GNU/Linux):http://rudy.mif.pg.gda.pl/~bogdro Grupy dyskusyjne o asm: pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32 www.JabberPL.org www.TorProject.org Soft (EN): miniurl.pl/bogdro-soft
Re: Jeszcze prostsza zagadka
Author: Andrzej Grażyński
Date: Fri, 19 Mar 2010 18:53
Date: Fri, 19 Mar 2010 18:53
27 lines
1466 bytes
1466 bytes
Bogdan (bogdro) pisze: > W dniu 19.03.2010 11:52, Andrzej Grażyński pisze: >> 386 i wyżej >> >> W EAX jest liczba ze znakiem. Należy w EAX umieścić jej wartość >> bezwzględną. Oczywiście bez skoku. > > Jeszcze dłuższe rozwiązanie :) > > xor ebx, ebx > test eax, eax > sets bl > sub ebx, 1 ; 0 / -1 > mov ecx, eax > and ecx, ebx ; 0 / EAX > neg ecx ; 0 / -EAX > not ebx ; -1 / 0, zamiast drugiego > ; TEST+SETS+SUB, jak słusznie > ; zwrócono mi uwagę > and eax, ebx ; EAX / 0 > add eax, ecx ; EAX / -EAX, można użyć "OR" > CDQ XOR EAX,EDX SUB EAX,EDX
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