Micro­power

  

Volume 2, Number 1 – February 1982

Page 13 of 37
2D3AFD22B70C0500LD (£0CB7), IY; END OF TEXT
2D3EFD22BB0C0510LD (£0CBB), IY; END OF ARRAYS
2D44C90520RET
0530;
0540; @@@@@@@@@@@@@@@@@@@@
0550; @@                 STRING$(NN,CC)               @@
0560; @@@@@@@@@@@@@@@@@@@@
0570;
0580; CREATES A STRING OF NN CHARACTERS
0590; WITH AN ASCII CODE CC
0600;
2D43E10610STRINGPOP HL
2D44230620INC HL
2D45CD50220630CALL IN255; GET NUMBER 0-255
2D48F50640PUSH AF
2D49CD4C150650CALL TSTCOM; GET COMMA
2D4CCD50220660CALL IN255; GET CHAR. CODE
2D4FF50670PUSH AF; SASVE CHARACTER
2D50CD51150680CALL TSTCHR; TEST FOR
2D53290690DEFB "); CLOSING BRACKET
2D54F10700POP AF; RECOVER CHAR.
2D55470710LD B,A; PUT IN B
2D56F10720POP AF; RECOVER NUMBER
2D57E50730PUSH HL; SAVE TEXT POINTER
2D584F0740LD C, A; PUT NUMBER IN C
2D59790750LD A, C
2D5AC50760PUSH BC; SAVE BC
2D5BCDAB1F0770CALL ASNSTR; CREATE NEW STRING
2D5EC10780POP BC; RECOVER BC
2D5FEB0790EX DE, HL; SET HL TO START
2D60700800ST1LD (HL), B; COPY CHARACTER
2D61230810INC HL; INCREMENT POINTER
2D620D0820DEC C
2D6320FB0830JR NZ, ST1; LOOP
2D65C3D91F0840JP STREND; RETURN TO BASIC
0850;
0860; @@@@@@@@@@@@@@@@@@@@@@@@@@@
0870; @@                     CONVERT TO LOWER CASE                     @@
0880; @@@@@@@@@@@@@@@@@@@@@@@@@@@
0890;
2D683E4C0900LOWERLD A, "L; SET FLAG TO
2D6A32FE2D0910LD (CONV), A; LOWER CASE
2D6D180C0920JR CONVRT
0930;
0940; @@@@@@@@@@@@@@@@@@@@@@@@@@@
0950; @@                     CONVERT TO UPPER CASE                     @@
0960; @@@@@@@@@@@@@@@@@@@@@@@@@@@
0970;
2D6F3E550980UPPERLD A, "U; SET FLAG TO
2D7132FE2D0990LD (CONV), A; UPPER CASE
2D7418051000JR CONVRT
1010;
1020; @@@@@@@@@@@@@@@@@@@@
1030; @@               REVERSE STRING               @@
1040; @@@@@@@@@@@@@@@@@@@@
1050;
2D763E521060REVRSELD A, "R; SET FLAG TO
Page 13 of 37