// ******************************************************************************************************************** // AnyASM Sample - The assembled version of "Command Line.AnyScript" // This simply lists the arguments sent to main from the command-line // Created: 2007-02-15 // Last Modified: 2007-04-22 // by Mark Ormston Region Code //Nothing Main(UProcInt ArgumentCount, String *Arguments) { Function Main(UProcInt @ArgumentCount, String *@Arguments) Format C, Returns Nothing; VarLocal UProcInt @q; VarLocal String @@LocalTempString; //Print(ArgumentCount + " arguments found.\n"); Call Strings.Set@UProcInt(@@LocalTempString, @ArgumentCount); Call Strings.Append@StringMem(@@LocalTempString, @@Const_String0); Call Base.Print(@@LocalTempString); //For (UProcInt q = 0; q < ArgumentCount; q++) { Move @q, 0; @@Label_Main_0: Compare @q, @ArgumentCount; JumpIf NB, @@Label_Main_1; //Print("Argument #" + q + ": " + Arguments[q] + "\n"); Call Strings.Set@StringMem(@@LocalTempString, &@@Const_String1); Call Strings.Set@UProcInt(@@TempString0, @q); Call Strings.Append(@@LocalTempString, @@TempString0); Call Strings.Append@StringMem(@@LocalTempString, &@@Const_String2); Call Strings.Append(@@LocalTempString, @Arguments[@q]); Call Strings.Append@StringMem(@@LocalTempString, &@@Const_String3); Call Base.Print(@@LocalTempString); //} Inc @q; Jump @@Label_Main_0; @@Label_MainFunc_1: //} // Main EndFunction; Region Constants VarConstant StringMem @@Const_String0 = " arguments found." STRINGLITERAL_NEWLINE; VarConstant StringMem @@Const_String1 = "Argument #"; VarConstant StringMem @@Const_String2 = ": "; VarConstant StringMem @@Const_String3 = STRINGLITERAL_NEWLINE;