/* Este script hace un pequeño desensamblado de la memoria, empezando por la */
/* dirección 0. Es un simple ejemplo de uso de la función ZXAMDisassemble() */

	/* comprobamos si el emulador está presente */
	address command
	
	if ~show(ports,ZXAM_REXX) then do
		requestchoice 'title "ZXAM Script error..." body "No encuentro el puerto del emulador!!" gadgets "AARGH!"'
		exit
		end

	/* abrimos el fichero */
	if ~open('fichero','con:0/11/640/200/Ejemplo de uso de ZXAMDisassemble()','W') then exit
	
	dir=0

	do forever

	do i=1 to 20	/* desensamblamos 20 lineas */
		linea=zxamdisassemble(dir,'d')		/* desensambla en decimal */
		dummy=writech('fichero',substr(linea,2))
		dummy=writech('fichero','0a'x)
		dir=(dir+left(linea,1))			/* suma bytes que ocupa la inst */
		if dir>65535 then dir=dir-65536
	end i

	/* debemos seguir? */
	requestchoice '>t:zxamdisassem.tmp "ZXAM disassemble..."' '"¿Quieres seguir?"' GADGETS "OK|CANCEL"
	respuesta=zxampploadfile('t:zxamdisassem.tmp')
	respuesta=left(respuesta,length(respuesta)-1) /* eliminamos el LF */
	if respuesta=0 then signal cleanup
	
	end

cleanup:

	dummy=close('fichero')

	exit
