home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 3 / goldfish_volume_3.bin / files / dev / asm / barflydemo / arexx-asm / basm.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1995-05-07  |  2.9 KB  |  99 lines

  1. /************************************************************************
  2.  *
  3.  * BASM.basm    copyright (c) 1992-95, Ralph Schmidt
  4.  *
  5.  * This is an example how to control the arexx port of BASM....
  6.  * If you have further suggestions mail it, because it's my first
  7.  * try with AREXX and so I'm no real expert.
  8.  *
  9.  * Version 1.00:  3.1.1992
  10.  * Version 1.01:  13.4.1992
  11.  * Version 1.02:  07.5.1995
  12.  *
  13.  ************************************************************************/
  14.  
  15.  
  16.  
  17. /* This command allows BASM to pass status variables */
  18.  
  19. Options FailAt 200
  20.  
  21. AREXXERROR_OK            =0
  22. AREXXERROR_False        =20            /* Error by the Assembler-Parse!!! */
  23. AREXXERROR_OpenError        =1
  24. AREXXERROR_SourceError        =2
  25. AREXXERROR_ReadError        =3
  26. AREXXERROR_UnknownOption    =4
  27. AREXXERROR_MemoryError        =5
  28. AREXXERROR_NoSourceFile        =6
  29. AREXXERROR_NoNextError        =7
  30. AREXXERROR_NoErrorList        =8
  31. AREXXERROR_NoNextWarning    =9
  32. AREXXERROR_NoWarningList    =10
  33.  
  34.  
  35. options results
  36.  
  37. /* Activate BASM Arexx port */
  38. address 'rexx_BASM'
  39.  
  40.  
  41.     SAY '************************** Example 1 ************************'
  42.  
  43.     basm '-v -O -OG Source/Stop.s'
  44.     if RC=AREXXERROR_OK then SAY 'Message of the day: 'result
  45.         else SAY 'Status:' RC
  46.  
  47.     SAY '************************** Example 2 ************************'
  48.  
  49.     basm '-e -es- -iSource Source/Error.s'
  50.     IF RC=AREXXERROR_OpenError THEN SAY 'Open File Error...'
  51.     IF RC=AREXXERROR_SourceError THEN SAY 'No ASCII-Source...'
  52.     IF RC=AREXXERROR_ReadError THEN SAY 'Read File Error...'
  53.     IF RC=AREXXERROR_UnknownError THEN SAY 'Unknown Assembler Option...'
  54.     IF RC=AREXXERROR_MemoryError THEN SAY 'Not enough Memory...'
  55.     IF RC=AREXXERROR_NoSourceFile THEN SAY 'No Source File specified...'
  56.     IF RC=AREXXERROR_False THEN DO
  57.            SAY 'Assembling Error:'
  58.            SAY 'Init Error List Pointer to the first entry...'
  59.            biniterror
  60.            SAY 'Get actual Error description...'
  61.        ErrorNum=0
  62.            RC=AREXXERROR_OK
  63.            DO UNTIL RC=AREXXERROR_NoNextError
  64.               bgeterror
  65.               IF RC=AREXXERROR_OK THEN DO
  66.                 SAY '******************************** Error 'ErrorNum' *********************************'
  67.                 SAY result
  68.               END
  69.               ErrorNum=ErrorNum+1
  70.               bnexterror
  71.            END
  72.  
  73.  
  74.            SAY 'Init Warning List Pointer to the first entry...'
  75.            binitwarning
  76.            SAY 'Get actual Warning description...'
  77.        WarningNum=0
  78.            RC=AREXXERROR_OK
  79.            DO UNTIL RC=AREXXERROR_NoNextWarning
  80.               bgetwarning
  81.               IF RC=AREXXERROR_OK THEN DO
  82.                 SAY '******************************** Warning 'WarningNum' *********************************'
  83.                 SAY result
  84.               END
  85.               WarningNum=WarningNum+1
  86.               bnextWarning
  87.            END
  88.  
  89.         END
  90.  
  91.  
  92.     SAY '************************** Example 3 ************************'
  93.     basm '-c'
  94.     IF RC=AREXXERROR_NoSourceFile then SAY 'It would make sense if you would also specify a File name.'
  95.  
  96.     SAY 'Now...close BAsm.'
  97. /*    bend*/
  98. exit
  99.