home *** CD-ROM | disk | FTP | other *** search
- TOPIC : HOW TO MODIFY MAC.COM TO NOT CHANGE LOWER-CASE TO UPPER-CASE
- FROM : IRVIN M. HOFF
- DATE : 22 OCT 82
-
- MAC.COM (by Digital Research) is one of the most popular assemblers
- used with CP/M. It has one feature that most people do not like -- when
- making a print file (FILENAME.PRN) it automatically converts any lower-
- case characters to upper-case.
-
- Neither ASM.COM nor RMAC.COM by the same firm does that.
-
- There are two ways to modify MAC.COM to approach this problem.
- Changing address 165C from C8 to D0 will convert any lower-case source
- code to upper, leaving DB strings and comments alone. (1st example
- below). Changing 1663 from E6 to 5F will leave all the lower case
- comments alone, will convert all DB strings to upper case, but will
- toss out any lower case code that does not agree with labels that
- are also lower case. (second example.)
- 1st example: leaves all comments and DB strings alone
- ===================================================
-
- 1655 47 MOV B,A
- 1656 3A 05 30 LDA 3005
- 1659 FE 03 CPI 03
- 165B 78 MOV A,B
- 165C C8 RZ
-
- Change the RZ (C8) to a RNC (D0)
-
- Using DDT or SID:
-
- 165C C8 D0
-
- A>SAVE 46 MAC.COM
-
- This will convert any source code not in a string from lower to
- upper, and not bother any comment areas or DB strings. It's as close
- as you can get easily, to leaving all lower case alone.
-
- 2nd example: leaves all comments alone, but throws out lower case
- source code including strings that do not match.
- ===================================================
- 1663 E6 5F (ANI 5FH)
-
- Using DDT or SID, change to:
-
- 1663 E6 7F (ANI 7FH)
-
- A>SAVE 46 MAC.COM (new, normal version)
-
-
- This prevents the lower-case from being changed to upper-case.
- For a complete disassembly of that area:
-
-
- 1655 47 MOV B,A ;Put the char. into 'B' temporarily
- 1656 3A 05 30 LDA ABORT ;See any request to quit
- 1659 FE 03 CPI 03
- 165B 78 MOV A,B ;Get the char. back again
- 165C C8 RZ ;Exit with the char. if a 03
- 165D FE 61 CPI 61H ;Less than lower-case alpha char.?
- 165F D8 RC ;If less, ignore
- 1660 FE 7B CPI 7AH+1 ;More than lower-case alpha char.?
- 1662 D0 RNC ;If more, ignore
- 1663 E6 5F ANI 5FH ;Otherwise change to upper-case
- 1665 C9 RET ;Finished
-
- --end--
-