🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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
#2147
Author: Andrzej Grażyński
Date: Fri, 19 Mar 2010 10:52
4 lines
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
#2148
Author: Bogdan (bogdro)
Date: Fri, 19 Mar 2010 18:17
26 lines
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
#2149
Author: Andrzej Grażyński
Date: Fri, 19 Mar 2010 18:53
27 lines
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