QL Toolbox '98 Collection

TidyAsm v0.30 - Tidy Assembly Language Source Files

                                                di Adrian Ives


Ho sviluppato questa piccola utility per manipolare i sorgenti
in linguaggio assembly prodotti  dal  disassember  IDIS  della
Digital Precision. 
Dite pure  che sono un abitudinario, ma  a me piacciono i miei
sorgenti   cosi'  come  sono,  il  che  significa  scritti  in
minuscolo  (in modo tale che possa leggerli senza farmi venire
il mal  di testa) e con i TAB  come separatori tra i campi, in
modo  tale da risparmiare spazi (utilizzando un editor come QD
che espande e comprime i TAB automaticamente). 
Se  TidyAsm trova una serie di  direttive DC.B e gli argomenti
di  queste sono  caratteri stampabili,  allora li  converte in
stringhe per renderli piu' leggibili.

Se questo formato non vi piace allora selezionate tutti i file
TidyAsm in QPAC2, fate DO su uno di essi, selezionate Delete e
poi scegliete All!

L'interfaccia utente segue  lo  stesso  standard  delle  altre
utility  nel mio QL Toolbox '98 collection (DirList, MakeDirs,
ListNames, Find etc.).

Source
------
Selezionate il file da convertire. Facendo DO sull'etichetta o
sul  campo compare una finestra File Select standard. Un click
sul campo consente di modificarne direttamente il contenuto.

Target
------
Selezionate  il   file  che   conterra'  il   risultato  della
conversione.
Facendo  DO sull'etichetta  o sul  campo compare  una finestra
File Select standard. 
Un  click sul  campo consente  di modificarne  direttamente il
contenuto. 
Lasciando il campo vuoto,  il  risultato  viene  inviato  alla
finestra di output.

Param
-----
Non e' utilizzato  nella versione  corrente del  programma (lo
sara' prossimamente...)

To Scrap
--------
Invia il  risultato della conversione  direttamente allo Scrap
da dove  puo' essere incollato  in un editor  che lo gestisce,
come QD. 
(Notate pero' che QD non e' in grado di espandere i TAB)

Delete
------
Selezionando questa opzione il file sorgente verra' cancellato
al termine dell'operazione. (State attenti!)

Tidy
----
Questa  opzione e' abilitata solo quando viene fornito un nome
di file sorgente  valido nel  campo Source.  Selezionandola si
ottiene la  conversione del file e  il risultato viene inviato
al Target specificato.
Durante  l'elaborazione, il pulsante Tidy diventa una finestra
di stato che indica la linea corrente.

Modifica dei campi
------------------
Modificando  un campo, la maggior parte dei tasti standard del
QDOS funzionano come ci si aspetta. 
Ma   ci  sono  alcuni  tasti  addizionali  che  vale  la  pena
conoscere:

[SHIFT]+[SPACE]  (Il tasto  INS della  tastiera del  PC) passa
dalla modalita' di  inserimento a  quella di  sovrascrittura e
viceversa.

[CTRL]+[S] inserisce  il contenuto dello  Scrap alla posizione
corrente del cursore. Fate attenzione, lo Scrap puo' contenere
grosse quantita' di dati!

[CTRL]+[SHIFT]+[S] copia  il contenuto corrente  del buffer di
edit  nello Scrap, sovrascrivendo qualunque cosa eventualmente
in esso contenuta.

[CTRL]+[SHIFT]+[H] copia  il contenuto corrente  del buffer di
edit nel buffer di HotKey System II Stuffer.

[CTRL]+[SHIFT]+[F]  chiama  la  finestra  di  dialogo  per  la
selezione dei  caratteri delle Menu  Extension, permettendo di
selezionare  un carattere inserendolo  alla posizione corrente
del cursore.

Linea di comando
----------------
TidyAsm accetta dei  parametri  sulla  linea  di  comando  nel
seguente formato:

        Source Target

Non  si puo'  omettere il  Source se  si vuole  specificare il
Target.

Gli switch possono comparire in qualunque punto della linea di
comando
ed hanno i seguenti significati:

/X       Se sono state fornite sufficienti informazioni  sulla
mlinea di comando, esegue il comando Find e alla fine
esce.

/B       Usato insieme a /X,  causa l'esecuzione del programma
completamente  in background. In  questa modalita' il
programma non mostra alcuna  finestra  di  dialogo  e
assume  come  YES  tutte  le  risposte  ad  eventuali
richieste.

/W       Insieme   a  /X,  causa  la  visualizzazione  di  una
finestra di ShLines alla fine dell'operazione.

/S       Invia l'output allo Scrap.

/N       Numera le righe del file.

/0       Ignora  ogni   canale  eventualmente   passato  (vedi
sotto). Questa  funzione e'  utile soltanto  nel caso
che  il programma sia stato lanciato da una shell che
abbia  impostato automaticamente i  tre canali stdin,
stdout e stderr.

Si puo'  anche passare un  singolo canale a  TidyAsm. Nel qual
caso l'output viene inviato ad esso. 
Quando   viene  fornito  un  canale,   il  campo  Target  deve
contenerne l'identificativo  di  tipo  Long  Word  in  formato
esadecimale.

Se vengono passati tre  canali,  questi  vengono  interpretati
come stdin,  stdout e stderr  e il programma  assume di essere
stato lanciato  da una shell tipo Unix  e si comporta come una
semplice utility a linea di comando. 
In questo caso gli switch  /X  e  /B  vengono  automaticamente
impostati.

Esempio
-------

EX 'TidyAsm_obj',#1;'Blurggh_asm NiceAndTidy_asm /x /b'

Riformatta  l'orribilmente non formattato file Blurggh_asm nel
file NiceAndTidy_asm - facendo tutto in background.

Configurazione
--------------
Alcune   limitate  configurazioni  possono  essere  effettuate
attraverso i programmi  Config Level 1  o Level 2.  Ad oggi e'
supportato un  unico elemento di  configurazione per impostare
il  valore  di  default   del   parametro   (attualmente   non
utilizzato).

Disclaimer
----------
Questo  programma non  e' stato  provato sotto  ogni possibile
configurazione ed ambiente operativo. 
Sono sicuro  che ci sono ancora  alcuni insidiosi bug nascosti
in esso, pertanto apprezzerei molto qualsiasi comunicazione al
riguardo  - specialmente se trovate problemi con TidyAsm (be',
in effetti anche se non li trovate).

Requisiti
---------
Le Menu Extension di Jochen Merz e il Toolkit II.
Il  file ShLinesRT_obj  incluso nelle  librerie di  runtime di
QLiberator.

Storico delle modifiche
-----------------------
0.30    01/03/1998      Prima versione

Termini della licenza d'uso
---------------------------

Si ha il permesso di utilizzare e distribuire questo software.
I termini della licenza sono riportati sotto.

Se viene regolarmente riportato il nome dell'autore, e se tale
nome viene incluso in ogni documentazione allegata, stampata o
elettronica che sia ...

1) Questo programma puo' essere distribuito liberamente.

2) Questo  programma  e  la  sua  documentazione  puo'  essere
incorporato come parte di un altro pacchetto software, a patto
che  non ne rappresenti la parte sostanziale e che, unitamente
ad altri programmi forniti dall'autore alle stesse condizioni,
non ne rappresenti la parte sostanziale.

3)  Gli eseguibili  possono essere  modificati o  corretti, se
necessario, per farli girare sotto ambienti operativi diversi.
In questo caso, pero', si deve allegare documentazione di tali
modifiche in forma elettronica o stampata.

Non   e'  consentito  far  pagare  questo  software  piu'  del
ragionevole costo dei supporti  di  memorizzazione  o  per  la
trasmissione, per facilitare la sua distribuzione.

L'autore   non  da'  alcuna  garanzia  sul  funzionamento  del
programma   o  sulla  correttezza   della  documentazione.  Il
programma viene fornito cosi' com'e'. 
E' responsabilita'  dell'utente stabilire  se il  programma e'
adatto e sicuro a girare nel suo ambiente operativo.

L'autore  non  accetta  alcuna  responsabilita'  su  eventuale
perdita  o   corruzione  di   dati  risultante   dall'uso  del
programma.

L'autore   fara'  del  suo  meglio  per  correggere  eventuali
problemi ad  esso comunicati  ma non  accetta alcun  obbligo a
farlo. 
L'autore  puo'  essere  contattato  via  e-mail  all'indirizzo
riportato alla fine del presente documento.

Adrian.D.Ives
ADIves@aol.com
01/03/1998

Traduzione di Enrico Maria Giordano
e.m.giordano@emagsoftware.it
03/06/2002