home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpm / asmutl / mac.fix < prev    next >
Encoding:
Text File  |  1983-11-21  |  2.5 KB  |  69 lines

  1. TOPIC :  HOW TO MODIFY MAC.COM TO NOT CHANGE LOWER-CASE TO UPPER-CASE
  2. FROM  :  IRVIN M. HOFF
  3. DATE  :  22 OCT 82
  4.  
  5.      MAC.COM (by Digital Research) is one of the most popular assemblers
  6. used with CP/M.  It has one feature that most people do not like -- when
  7. making a print file (FILENAME.PRN) it automatically converts any lower-
  8. case characters to upper-case.
  9.  
  10.      Neither ASM.COM nor RMAC.COM by the same firm does that.
  11.  
  12.      There are two ways to modify MAC.COM to approach this problem.
  13. Changing address 165C from C8 to D0 will convert any lower-case source
  14. code to upper, leaving DB strings and comments alone.  (1st example
  15. below).  Changing 1663 from E6 to 5F will leave all the lower case
  16. comments alone, will convert all DB strings to upper case, but will
  17. toss out any lower case code that does not agree with labels that
  18. are also lower case.  (second example.)
  19. 1st example:  leaves all comments and DB strings alone     
  20. ===================================================
  21.  
  22. 1655  47                 MOV    B,A
  23. 1656  3A 05 30           LDA    3005
  24. 1659  FE 03              CPI    03
  25. 165B  78                 MOV    A,B
  26. 165C  C8                 RZ
  27.  
  28.      Change the RZ (C8) to a RNC (D0)
  29.  
  30.                    Using DDT or SID:
  31.  
  32. 165C  C8 D0
  33.  
  34. A>SAVE 46 MAC.COM
  35.  
  36.       This will convert any source code not in a string from lower to
  37. upper, and not bother any comment areas or DB strings.  It's as close
  38. as you can get easily, to leaving all lower case alone. 
  39.  
  40. 2nd example:  leaves all comments alone, but throws out lower case
  41.               source code including strings that do not match.
  42. ===================================================
  43. 1663  E6 5F                  (ANI  5FH)
  44.  
  45.                    Using DDT or SID, change to:
  46.  
  47. 1663  E6 7F                  (ANI  7FH)
  48.  
  49. A>SAVE 46 MAC.COM            (new, normal version)
  50.  
  51.  
  52.      This prevents the lower-case from being changed to upper-case.
  53. For a complete disassembly of that area:
  54.  
  55.  
  56. 1655  47        MOV   B,A      ;Put the char. into 'B' temporarily
  57. 1656  3A 05 30  LDA   ABORT    ;See any request to quit
  58. 1659  FE 03     CPI   03
  59. 165B  78        MOV   A,B      ;Get the char. back again
  60. 165C  C8        RZ             ;Exit with the char. if a 03
  61. 165D  FE 61     CPI   61H      ;Less than lower-case alpha char.?
  62. 165F  D8        RC             ;If less, ignore
  63. 1660  FE 7B     CPI   7AH+1    ;More than lower-case alpha char.?
  64. 1662  D0        RNC            ;If more, ignore
  65. 1663  E6 5F     ANI   5FH      ;Otherwise change to upper-case
  66. 1665  C9        RET            ;Finished
  67.  
  68. --end--
  69.