Previous | Contents | Next

C.3 Get command line parameters

 ; GetParameters

 ; input, none

 ; output, top of stack (replaces, with e.g. whatever)

 ; modifies no other variables.

 

 Function GetParameters

 

   Push $R0

   Push $R1

   Push $R2

   Push $R3

   

   StrCpy $R2 1

   StrLen $R3 $CMDLINE

   

   ;Check for quote or space

   StrCpy $R0 $CMDLINE $R2

   StrCmp $R0 '"' 0 +3

     StrCpy $R1 '"'

     Goto loop

   StrCpy $R1 " "

   

   loop:

     IntOp $R2 $R2 + 1

     StrCpy $R0 $CMDLINE 1 $R2

     StrCmp $R0 $R1 get

     StrCmp $R2 $R3 get

     Goto loop

   

   get:

     IntOp $R2 $R2 + 1

     StrCpy $R0 $CMDLINE 1 $R2

     StrCmp $R0 " " get

     StrCpy $R0 $CMDLINE "" $R2

   

   Pop $R3

   Pop $R2

   Pop $R1

   Exch $R0

 

 FunctionEnd

Previous | Contents | Next