home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 6 / AACD06.ISO / AACD / Emulation / ZXAMSpectrum / ZXAM_Rexx / Español / Disassem.zxam < prev    next >
Text File  |  1995-07-31  |  1KB  |  47 lines

  1. /* Este script hace un pequeño desensamblado de la memoria, empezando por la */
  2. /* dirección 0. Es un simple ejemplo de uso de la función ZXAMDisassemble() */
  3.  
  4.     /* comprobamos si el emulador está presente */
  5.     address command
  6.     
  7.     if ~show(ports,ZXAM_REXX) then do
  8.         requestchoice 'title "ZXAM Script error..." body "No encuentro el puerto del emulador!!" gadgets "AARGH!"'
  9.         exit
  10.         end
  11.  
  12.     /* Almacenar el estado inicial del emulador */
  13.     running=zxamactrun()    /* 1=en marcha */
  14.     zxamstop()              /* lo paramos */
  15.  
  16.     /* abrimos el fichero */
  17.     if ~open('fichero','con:0/11/640/200/Ejemplo de uso de ZXAMDisassemble()','W') then exit
  18.     
  19.     dir=0
  20.  
  21.     do forever
  22.  
  23.     do i=1 to 20    /* desensamblamos 20 lineas */
  24.         linea=zxamdisassemble(dir,'d')        /* desensambla en decimal */
  25.         dummy=writech('fichero',substr(linea,2))
  26.         dummy=writech('fichero','0a'x)
  27.         dir=(dir+left(linea,1))            /* suma bytes que ocupa la inst */
  28.         if dir>65535 then dir=dir-65536
  29.     end i
  30.  
  31.     /* debemos seguir? */
  32.     requestchoice '>t:zxamdisassem.tmp "ZXAM disassemble..."' '"¿Quieres seguir?"' GADGETS "OK|CANCEL"
  33.     respuesta=zxampploadfile('t:zxamdisassem.tmp')
  34.     respuesta=left(respuesta,length(respuesta)-1) /* eliminamos el LF */
  35.     if respuesta=0 then signal cleanup
  36.     
  37.     end
  38.  
  39. cleanup:
  40.  
  41.     dummy=close('fichero')
  42.  
  43.     /* dejar el emulador como estaba */
  44.     if running=1 then zxamrun()
  45.  
  46.     exit
  47.