home *** CD-ROM | disk | FTP | other *** search
/ Power Programming / powerprogramming1994.iso / progtool / filutl / ldiff12s.arc / MEG.ASM < prev    next >
Assembly Source File  |  1989-07-15  |  11KB  |  217 lines

  1. ;-----------------------------------------------------------------------------;
  2. ; meg.asm âüâbâZü[âWÅoù═âïü[â`âô    (C) ÄOû╪ÿaòF NIFTY SDR SDI00147  1989/2/12;
  3. ;-----------------------------------------------------------------------------;
  4. ; ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ü@ ü@ü@ü@ü@ ì\æóë╗â}âNâìé═î├É∞Äüé╠éαé╠é≡Ägùp;
  5. ;                                          ;
  6. ;   ì∞ɼû@:                                      ;
  7. ;       optasm é≡ Use THREADs for Smaller OBJ(N) é╔é╡é─âAâZâôâuâïé╖éΘ         ;
  8. ;                                          ;
  9. ; ü@Ägùpû@:                                      ;
  10. ;                                                ;
  11. ;    âXâ^âbâNé╔âüâbâZü[âWö╘ìåé≡É╧é▌üAî─é╤Åoé╖üB                            ;
  12. ;    âèâ^ü[âôÄ₧é╔é═é╗é╠âXâ^âbâNé═û▀é│éΩüAéäéôüAéééÉüAéôéÉüAéôéôê╚èOé╠      ;
  13. ;       âîâWâXâ^Ælé═ò█Å╪é╡é╚éóüBüiâpâXâJâïâTâuâïü[â`âôüj              ;
  14. ;    Äµô╛é╡é╜âüâbâZü[âWé═è╓Éöé╠â|âCâôâ^é╞é╡é─ò╘é╖                  ;
  15. ;                                          ;
  16. ;-----------------------------------------------------------------------------;
  17. include lms3.inc                    ; ìéæ¼ì\æóë╗â}âNâì
  18.                             ; (c)S.Furukawa
  19. include minimac.inc                    ; movseg movdat movdatb
  20. ;-----------------------------------------------------------------------------;
  21. code    segment    byte public                ;
  22.     assume    cs:code,ds:code,es:code,ss:code        ;
  23.                             ;
  24.     public    Meg                    ;
  25.  
  26. E    MACRO    s
  27.     IF    ENG EQ 1
  28.         DB    s,0
  29.     ENDIF
  30.     ENDM
  31.  
  32.  
  33. J    MACRO    s
  34.     IF    ENG NE 1
  35.         DB    s,0
  36.     ENDIF
  37.     ENDM
  38.  
  39. D    MACRO    s
  40.     DB    s,0
  41.     ENDM
  42.  
  43. msgdata label byte
  44. J '                           üyòíÉ╗üEö╨òzé╔é┬éóé─üz'
  45. J ' '
  46. J 'Ääé═üA'
  47. J 'ü@éPüjé▒é╠â\âtâgâEâFâAé╠òíÉ╗é╞ö╨òzé╔é¿éóé─üAî└éΦé╚é½Ä⌐ùRé¬ò█Å╪é│éΩéΘé▒é╞'
  48. J 'ü@éQüjâ\âtâgâEâFâAÄæÄYé╠ïñùLë╗é╠ÉäÉié╔üAżé╚éΦé╞î╛éªé╟éαìvîúé╡é╜éóé▒é╞'
  49. J 'é≡ïFèΦé╡é─é▒é╠â\âtâgâEâFâAé≡î÷ò\é╡é▄é╖üB'
  50. J ' '
  51. J 'ïMò√é═üA'
  52. J 'ü@éPüjéóé⌐é╚éΘö}æ╠é┼éáéδéñé╞éαüAòíÉ╗é╞ö╨òzé¬ïûé│éΩé─éóéΘüB'
  53. J 'ü@éQüjéóé⌐é╚éΘïαòié╠Ä÷Ä≤é¬ö║é╠éñé╞éαüAòíÉ╗é╞ö╨òzé¬ïûé│éΩé─éóéΘüB'
  54. J 'ü@éRüjéóé⌐é╚éΘÅCÉ│üEê°ùpé┼éáéδéñé╞éαüAé▒é╠üyòíÉ╗üEö╨òzé╔é┬éóé─üzé╞â\ü[âX'
  55. J 'ü@ü@ü@âRü[âhé¬ôYòté│éΩé─éóéΘî└éΦüAïûé│éΩé─éóéΘüB'
  56. J ' '
  57. ;
  58. J 'ì╖ò¬ê│Åkü@ékécéhéeéeü@Ver.1.20ü@89/7/15ü@(C) ÄOû╪ÿaòF (NIFTY SDR SDI00147)'
  59. J '---------------------------------------------------------------------------'
  60. J 'üyÄgùpû@üz LDIFF  {H|{X}|C}  {ì╖ò¬âtâ@âCâï}  {ïîâtâ@âCâï}  {ÉVâtâ@âCâï}'
  61. J '                   H: Éαû╛  X: ÉVâtâ@âCâïò£èê  C: ì╖ò¬âtâ@âCâïì∞ɼ'
  62. J 'üyü@ùßü@üz LDIFF c test.org test.com  --> test.lzdé≡ì∞ɼé╖éΘ'
  63. J 'ü@ü@ü@ü@ü@ LDIFF x test  --> ïîâtâ@âCâï(test.com)é⌐éτÉVâtâ@âCâï(test.com)é≡'
  64. J '                             ì∞ɼé╡üAïîâtâ@âCâïé═test.orgé╔ëⁿû╝é│éΩéΘ'
  65. ;**************************Message
  66. J <CR,LF,'LDIFF Ver1.20 Copyright(C) 1989 K.MIKI',CR,LF>         ;20
  67. J 'ĽÅæâtâ@âCâï('                                                        ;21
  68. J ')é╠âtâ@âCâïÆ╖é╞ébéqébé¬ôKìçé╡é▄é╡é╜üB'                                ;22
  69. J 'ì∞ɼâtâ@âCâï ->'                                                      ;23
  70. J 'æ╬Å█âtâ@âCâï ->'                                                      ;24
  71. J 'ĽÅæâtâ@âCâï ->'                                                      ;25
  72. J 'ɼî≈é╡é▄é╡é╜üIüIì∞ɼé╡é╜âtâ@âCâïé═'                                   ;26
  73. J 'ÅπÅæé½é╡é▄é╖é⌐üH'                                                     ;27
  74. J 'üiê│Åkùªüjüü'                                                         ;28
  75. ;**************************Error type 1
  76. J 'ì╖ò¬âtâ@âCâïû╝é¬è╘êßé┴é─éóé▄é╖'                                       ;29
  77. J 'û╜ù▀é¬è╘êßé┴é─éóé▄é╖'                                                 ;30
  78. J 'âtâ@âCâïé¬èJé¡é▒é╞é¬é┼é½é▄é╣é±'                                       ;31
  79. J 'âtâ@âCâïé≡ô╟é▐é▒é╞é¬é┼é½é▄é╣é±'                                       ;32
  80. J 'âtâ@âCâïé╔Åæé¡é▒é╞é¬é┼é½é▄é╣é±'                                       ;33
  81. J 'âtâ@âCâïé╠Åæé½ì₧é▌é╔Ä╕ösé╡é▄é╡é╜üBæ╜ò¬üAâfâBâXâNé¬êΩöté╚é±é┼é╡éσéñé╦' ;34
  82. J 'âtâ@âCâïé≡ì∞ɼé╖éΘé▒é╞é¬é┼é½é▄é╣é±'                                   ;35
  83. J 'ébénéméeéhéfüDéréxéré╠éeéhékédéré≡ò╧ìXé╡é─ë║é│éó'                     ;36
  84. J 'ÆåÄ~é╡é▄é╡é╜'                                                         ;37
  85. J 'âoâCâgé╠écénéré╠âtâèü[âüâéâèé╡é⌐éáéΦé▄é╣é±üB'                         ;38
  86. J 'écénéré═éuéàéÆéQüDéPéPê╚Åπé≡é▓ùÿùpë║é│éó'                             ;39
  87. J 'âRâ}âôâhâëâCâôé╠ÄwÆΦé¬è╘êßé┴é─éóé▄é╖'                                 ;40
  88. J 'é▒éΩé═û{ôûé╔ì╖ò¬âtâ@âCâïé┼é╖é⌐üH'                                     ;41
  89. J 'é▒é╠ì╖ò¬âtâ@âCâïé═Ääé╔é═ê╡éªé▄é╣é±üBÉVé╡éóékécéhéeéeé═éméhéeéséxé╠érécéqé╔éáéΘé⌐é╞Ävéóé▄é╖üB'         ;42
  90. J 'é▒é╠âtâ@âCâïé═ì▌éΦé▄é╣é±é╦'                                           ;43
  91. J ': âtâ@âCâïÆ╖é¬è·æ╥é╡é─éóéΘéαé╠é╞êßéóé▄é╖'                             ;44
  92. J ': âtâ@âCâïé╠ébéqébé¬è·æ╥é╡é─éóéΘéαé╠é╞êßéóé▄é╖'                       ;45
  93. J 'ê│Åké╔Ä╕ösé╡é▄é╡é╜üBæ╜ò¬üAâfâBâXâNé¬êΩöté╚é±é┼é╡éσéñé╦'               ;46
  94. J 'ò£èêé╔Ä╕ösé╡é▄é╡é╜üBæ╜ò¬üAâfâBâXâNé¬êΩöté╚é±é┼é╡éσéñé╦'               ;47
  95. J 'ì╧é±é▄é╓é±üBé▒éΩé═ékécéhéeéeé╗é╠éαé╠âoâOé┼üDüDüDÄOû╪é▄é┼ÿAùìé╡é─ë║é│éóüB' ;48
  96. J 'é▒éΩé═ûóÆmé╠âAü[âJâCâoé╔éµé┴é─ì∞ɼé│éΩé╜éαé╠é┼é╖'                     ;49
  97. J 'é▒éΩé═ékégéüéÆéâé┼ê│Åké╡é╜éαé╠é┼é╡éσüI'                 ;50
  98. J 'é▒éΩé═éké`éqébé┼ê│Åké╡é╜éαé╠é┼é╡éσüI'                                 ;51
  99. J 'é¿éΓüAé▒éΩé═ÉVé╡éóÄΦû@é╔éµéΘì╖ò¬âtâ@âCâïé┼é╖é╦üBâoü[âWâçâôéPüDéTé≡é▓ùÿùpë║é│éóüB'                                      ;52
  100. J 'é¿éΓüAé▒éΩé═ÉVé╡éóÄΦû@é╔éµéΘì╖ò¬âtâ@âCâïé┼é╖é╦üBâoü[âWâçâôéQüDéOé≡é▓ùÿùpë║é│éóüB'                                      ;53
  101.  
  102.  
  103. E '                           <<COPYING POLICIES>>'
  104. E 'I will be guided by the two goals of'
  105. E '   (1) of preserving the free status of all derivatives of my free software'
  106. E '   (2) of promoting the sharing and reuse of software.'
  107. E 'You may:'
  108. E '  1) COPY and DISTRIBUTE copies of LDIFF  as you receive it, in any medium.'
  109. E '  2) CHARGE a distribution fee for the physical act of transferring a copy.'
  110. E '  3) MODIFY your copy or copies of LDIFF or any portion of it, and copy and'
  111. E '     distribute such modifications under the terms of Paragraph 1&2  above,'
  112. E '     provided that  you also do the following:  cause the whole of any work'
  113. E '     that  you distribute or publish, that  in whole or in part contains or'
  114. E '     is  a derivative  of LDIFF  to be licensed  at no charge  to all third'
  115. E '     parties on terms identical to those contained in this COPYING POLICIES'
  116. ;
  117. E 'File Differencer LDIFF Ver.1.20 89/7/15(C)Kazuhiko MIKI(NIFTY SDR SDI00147)'
  118. E '---------------------------------------------------------------------------'
  119. E '[ USAGE ] LDIFF  {H|{X}|C}  {LzdFName}  {OldFName}  {NewFName}'
  120. E '                  H: Help  X: Extract new file  C: Create .lzd file'
  121. E '[EXAMPLE] LDIFF c test.org test.com  --> create test.lzd'
  122. E '          LDIFF x test               --> create test.com from old-test.com'
  123. E '                                         rename old-test.com to test.org'
  124. ;**************************Message
  125. E <CR,LF,'LDIFF Ver1.20 Copyright(C) 1989 K.MIKI',CR,LF>         ;20
  126. E 'Old File('                                                            ;21
  127. E ') is good SIZE & CRC'                                                 ;22
  128. E 'Creating'                                                             ;23
  129. E 'from'                                                                 ;24
  130. E 'with'                                                                 ;25
  131. E 'CONGRATULATION!! Name of new file is'                                 ;26
  132. E 'OverWrite ?'                                                          ;27
  133. E '(Lzd/New)='                                                           ;28
  134. ;**************************Error type 1
  135. E 'Bad LzdFName'                                                         ;29
  136. E 'Bad Command'                                                          ;30
  137. E 'Error in Open'                                                        ;31
  138. E 'Error in Reading'                                                     ;32
  139. E 'Error in Writing'                                                     ;33
  140. E 'Error in Writing [disk is full]'                                      ;34
  141. E 'Error in Create'                                                      ;35
  142. E 'Too many opened files. Please change config.sys'                      ;36
  143. E 'Aborted'                                                              ;37
  144. E 'bytes are free memory. DOS memory is not enough'                      ;38
  145. E 'MS-DOS must be ver2.11,3.XX'                                          ;39
  146. E 'Bad Command Line'                                                     ;40
  147. E 'is not LZD file ?'                                                    ;41
  148. E 'This LZD-file is new type..New LDIFF is in NIFTY FSDR(JAPAN)'         ;42
  149. E 'dose not exist'                                                       ;43
  150. E ': Bad size of old file'                                               ;44
  151. E ': Bad CRC of old file'                                                ;45
  152. E 'Packing Error : disk full?'                                           ;46
  153. E 'UnPacking Error : disk full?'                                         ;47
  154. E 'CRC Error : Fatal Error!! please contact with K.MIKI'                 ;48
  155. E 'is compressed by unkown Archiver'                                     ;49
  156. E 'is compressed by LHarc'                         ;50
  157. E 'is compressed by LArc'                                                ;51
  158. E 'Please use LDIFF(LDARC) Ver1.2X'                                      ;52
  159. E 'Please use LDIFF(LDARC) Ver2.XX'                                      ;53
  160. DB 0
  161.  
  162. strofres   equ dword ptr [bp+8]
  163. strofcount equ byte  ptr [bp+6]
  164. ;-------------------------------------------------------------------------
  165. ;    meg(num):string
  166. ;-------------------------------------------------------------------------
  167. meg    proc    far
  168.     push    bp
  169.     mov    bp,sp
  170.     les     di,strofres
  171.         mov     cl,strofcount
  172.         mov     si,offset msgdata
  173.     push    ds
  174.     movseg    ds,cs
  175.         cld
  176.         .while    <<byte ptr [si]> nz 0 and <cl nz 0>>
  177.                 dec     cl
  178.         .do
  179.             lodsb
  180.                         .if    <al z 0>
  181.                             .break
  182.             .endif
  183.             .if    <al ae 81h and <al be 9fh or <al ae 0e0h and <al be 0fch>>>>
  184.                 inc    si
  185.             .endif
  186.                 .enddo    <>
  187.         .enddo
  188.     .if    <<byte ptr [si]> z 0>
  189.         xor     al,al
  190.     .else
  191.             push    di
  192.             inc     di
  193.             .do
  194.             lodsb
  195.                     .if    <al e 0>
  196.                         .break
  197.             .endif
  198.                     stosb
  199.             inc    cl
  200.             .if    <al ae 81h and <al be 9fh or <al ae 0e0h and <al be 0fch>>>>
  201.                 movsb
  202.                 inc    cl
  203.             .endif
  204.             .enddo    <>
  205.             pop     di
  206.             mov     al,cl
  207.     .endif
  208.     stosb
  209.     pop    ds
  210.     pop    bp
  211.     ret    2
  212. meg    endp
  213.  
  214.  
  215. code    ends
  216.     end
  217.