LOWER START ; Argument s ST GR1,ARG1 ST GR2,ARG2 ; For i = 0 To (Len(s) - 1) Step 1 LD GR7,ARG1 LD GR7,0,GR7 LAD GR7,-1,GR7 ST GR7,T001 XOR GR7,GR7 ST GR7,I001 J001 NOP LD GR1,I001 CPA GR1,T001 JPL J003 ; ch = s(i) LD GR7,I001 LD GR1,GR7 LD GR2,ARG1 LD GR2,0,GR2 LD GR3,ARG2 CALL C011 LD GR7,GR0 ST GR7,I002 ; If (("A"c <= ch) And (ch <= "Z"c)) Then LD GR7,='A' LD GR6,I002 XOR GR0,GR0 CPA GR7,GR6 JPL J009 LAD GR0,#FFFF J009 LD GR7,GR0 LD GR6,I002 LD GR5,='Z' XOR GR0,GR0 CPA GR6,GR5 JPL J010 LAD GR0,#FFFF J010 LD GR6,GR0 AND GR7,GR6 AND GR7,GR7 JZE J008 ; s( i ) = ((ch - "A"c) + "a"c) LD GR7,I001 LD GR1,GR7 LD GR2,ARG1 LD GR2,0,GR2 CALL C013 LD GR7,ARG2 ADDL GR7,GR0 LD GR6,I002 SUBA GR6,='A' ADDA GR6,='a' ST GR6,0,GR7 ; End If J008 NOP ; Next i J002 NOP LAD GR1,I001 LD GR2,0,GR1 LAD GR2,1,GR2 ST GR2,0,GR1 JUMP J001 J003 NOP EXIT NOP RET ; ByRef s As String [GR1,GR2] ARG1 DS 1 ARG2 DS 1 ; Dim i As Integer I001 DS 1 ; Dim ch As Integer I002 DS 1 T001 DS 1 ; UtilLoadElement C011 AND GR2,GR2 JNZ J004 XOR GR0,GR0 RET J004 CALL C013 PUSH 0,GR3 ADDL GR3,GR0 LD GR0,0,GR3 POP GR3 RET ; UtilSafeIndex C013 AND GR2,GR2 JNZ J005 XOR GR0,GR0 RET J005 LD GR0,GR1 JPL J006 XOR GR0,GR0 RET J006 CPL GR0,GR2 JMI J007 LAD GR0,-1 ADDL GR0,GR2 J007 RET END