All pastes #492944 Raw Edit

Someone

public text v1 · immutable
·published 2007-05-17 14:44 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
run:
	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
	RET
	
	POP EDI
	POP ESI
	POP EDX
	POP ECX
	POP EBX
	POP EBP
RET

treat:
	PUSH EBP
	MOV EBP, ESP
	MOV ESI, [EBP+8]
	PUSH EAX
	MOVZX EAX, WORD[EBX+ESI*2-2]
	XOR EAX, EDI
	MOV [EDX+EDI], AL	
	INC EDI
        PUSHA				
        PUSH  EDI			
        CALL  afficherInt32	
        POP   EDI			
        POPA	

	POP EAX
	POP EBP
	RET