All pastes #493709 Raw Edit

Something

public text v1 · immutable
·published 2007-05-17 21:57 UTC
rendered paste body
CPU 386
GLOBAL decode
EXTERN afficherInt32
SECTION .text

decode:
	PUSH EBP
	MOV EBP, ESP
	PUSH EBX
	PUSH ECX
	PUSH EDX
	PUSH ESI
	PUSH EDI
	
	MOV EBX, [EBP+8] 			; t[]
	MOV EDX, [EBP+12]			; s[]
	MOVZX ECX, WORD[EBP+16]		; n
	MOV ESI, 1
	MOV EDI, 0
	PUSH ESI
	CALL run
	POP ESI
	
	POP EDI
	POP ESI
	POP EDX
	POP ECX
	POP EBX
	MOV ESP, EBP
	POP EBP
RET
run:
	PUSH EBP
	MOV EBP, ESP
	MOV ESI, [EBP+8]
	SHL ESI,1
	CMP ESI, ECX
	JGE end
	PUSH ESI
	CALL run
	POP ESI
	INC ESI
	CMP ESI, ECX
	JGE end1
	PUSH ESI
	CALL run
	POP ESI
end1:
	DEC ESI
end:
	SHR ESI,1
	PUSH ESI
	CALL treat
	POP ESI
	POP EBP
	RET



treat:
	PUSH EBP
	MOV EBP, ESP
	MOV ESI, [EBP+8]
	PUSH EAX
	MOVZX EAX, WORD[EBX+ESI*2-2]
	
	XOR AX, DI
	MOV [EDX+EDI-2], AL	
	INC EDI
	POP EAX
	MOV ESP, EBP
	POP EBP
	RET