home *** CD-ROM | disk | FTP | other *** search
/ AMIGA PD 1 / AMIGA-PD-1.iso / Programme_zum_Heft / Programmieren / Kurztests / Barfly / ARexx-Asm / BASM.rexx next >
OS/2 REXX Batch file  |  1994-11-04  |  2KB  |  79 lines

  1. /************************************************************************
  2.  *
  3.  * BASM.basm    copyright (c) 1992, 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.  *
  12.  ************************************************************************/
  13.  
  14.  
  15.  
  16. /* This command allows BASM to pass status variables */
  17.  
  18. Options FailAt 200
  19.  
  20. AREXXERROR_OK        =0
  21. AREXXERROR_False        =20            /* Error by the Assembler-Parse!!! */
  22. AREXXERROR_OpenError    =1
  23. AREXXERROR_SourceError    =2
  24. AREXXERROR_ReadError    =3
  25. AREXXERROR_UnknownOption=4
  26. AREXXERROR_MemoryError    =5
  27. AREXXERROR_NoSourceFile =6
  28. AREXXERROR_NoNextError  =7
  29. AREXXERROR_NoErrorList  =8
  30.  
  31.  
  32. options results
  33.  
  34. /* Activate BASM Arexx port */
  35. address 'rexx_BASM'
  36.  
  37.  
  38.     SAY '************************** Example 1 ************************'
  39.  
  40.     basm '-v -O -OG Source/Stop.s'
  41.     if RC=AREXXERROR_OK then SAY 'Message of the day: 'result
  42.         else SAY 'Status:' RC
  43.  
  44.     SAY '************************** Example 2 ************************'
  45.  
  46.     basm '-e -es- Source/Error.s'
  47.     IF RC=AREXXERROR_OpenError THEN SAY 'Open File Error...'
  48.     IF RC=AREXXERROR_SourceError THEN SAY 'No ASCII-Source...'
  49.     IF RC=AREXXERROR_ReadError THEN SAY 'Read File Error...'
  50.     IF RC=AREXXERROR_UnknownError THEN SAY 'Unknown Assembler Option...'
  51.     IF RC=AREXXERROR_MemoryError THEN SAY 'Not enough Memory...'
  52.     IF RC=AREXXERROR_NoSourceFile THEN SAY 'No Source File specified...'
  53.     IF RC=AREXXERROR_False THEN DO
  54.            SAY 'Assembling Error:'
  55.            SAY 'Init Error List Pointer to the first entry...'
  56.            biniterror
  57.            SAY 'Get actual Error description...'
  58.        ErrorNum=0
  59.            RC=AREXXERROR_OK
  60.            DO UNTIL RC=AREXXERROR_NoNextError
  61.               bgeterror
  62.               IF RC=AREXXERROR_OK THEN DO
  63.                 SAY '******************************** Error 'ErrorNum' *********************************'
  64.                 SAY result
  65.               END
  66.               ErrorNum=ErrorNum+1
  67.               bnexterror
  68.            END
  69.         END
  70.  
  71.  
  72.     SAY '************************** Example 3 ************************'
  73.     basm '-c'
  74.     IF RC=AREXXERROR_NoSourceFile then SAY 'It would make sense if you would also specify a File name.'
  75.  
  76.     SAY 'Now...close BAsm.'
  77. /*    bend*/
  78. exit
  79.