home *** CD-ROM | disk | FTP | other *** search
/ For Beginners & Professional Hackers / cd.iso / docum / pascal.doc / pas_1-5.doc < prev    next >
Encoding:
Text File  |  1989-11-26  |  90.5 KB  |  2,180 lines

  1.  
  2.                           âïÇéÇ 15
  3.  
  4.             é¡πΓαÑ¡¡∩∩ «αúá¡¿ºáµ¿∩ Æπαí«-Åá߬á½∩
  5.  
  6.      é φΓ«⌐ ú½áóÑ ñáÑΓß∩ ñ«»«½¡¿Γѽ∞¡á∩ ΓÑσ¡¿τÑ߬á∩ ¿¡Σ«α¼á-
  7. µ¿∩ ñ½∩ ΓÑσ, ¬Γ« σ«τÑΓ í«½ÑÑ πú½πí½Ñ¡¡« ¿ºπτ¿Γ∞ »α«úαá¼¼¿α«-
  8. óá¡¿Ñ ¡á Æπαí«-Åá߬á½Ñ. îδ ¬«ß¡Ñ¼ß∩ Γᬿσ ó«»α«ß«ó, ¬á¬ ¬áα-
  9. Γá  »á¼∩Γ¿,  »α«úαἼᠠñ¿¡á¼¿τÑ߬«ú«  αáß»αÑñѽѡ¿∩ »á¼∩Γ¿,
  10. Σ«α¼áΓδ ó¡πΓαÑ¡¡¿σ ñá¡¡δσ, ß«ú½áΦÑ¡¿∩ »«  ó맮óá¼ ¿ Γ.ñ.  ìá
  11. É¿ß. 15.1 »α¿óÑñÑ¡á ßσѼá αáß»αÑñѽѡ¿∩ »á¼∩Γ¿  »α«úαá¼¼δ ¡á
  12. Æπαí«-Åá߬á½Ñ.
  13.      ÅαÑΣ¿¬ß¡δ⌐ ßÑú¼Ñ¡Γ »α«úαá¼¼δ (ÉSÉ) - φΓ« «í½áßΓ∞ ñ½¿¡«⌐
  14. 256 íá⌐Γ, ¬«Γ«αá∩  ßΓα«¿Γß∩ «»Ñαᵿ«¡¡«⌐  ß¿ßΓѼ«⌐  äÄæ  »α¿
  15. ºáúαπº¬Ñ Σá⌐½á .àòà.  ÇñαÑß ßÑú¼Ñ¡Γá ÉSÉ ß«σαá¡∩ÑΓß∩ ó »αÑñ-
  16. óáα¿Γѽ∞¡«  «»¿ßá¡¡«⌐ ó  Æπαí«-Åá߬á½Ñ  »ÑαѼѡ¡«⌐  ñ½¿¡«⌐ ó
  17. ß½«ó« ß ¿¼Ñ¡Ñ¼ ÉrefixSeg.
  18.      èáªñ«¼π   »α«úαá¼¼¡«¼π  ¼«ñπ½ε (¬«Γ«αδ⌐ ó¬½ετáÑΓ ó ßÑí∩
  19. «ß¡«ó¡πε  »α«úαá¼¼π ¿  ¬áªñδ⌐  ¼«ñπ½∞) ß««ΓóÑΓßΓóπÑΓ ßÑú¼Ñ¡Γ
  20. Ñú« ¬«ñá.  Äß¡«ó¡á∩  »α«úαἼᠺ᡿¼áÑΓ »Ñαóδ⌐ ßÑú¼Ñ¡Γ ¬«ñá.
  21. æ½ÑñπεΘ¿Ñ ßÑú¼Ñ¡Γδ ¬«ñá ºá¡∩Γδ ¼«ñπ½∩¼¿ (ó »«α∩ñ¬Ñ, «íαáΓ¡«¼
  22. Γ«¼π, ó  ¬«Γ«α«¼  «¡¿ π¬áºá¡δ  ó »αÑñ½«ªÑ¡¿¿ ¿ß»«½∞º«óá¡¿∩).
  23. ū߽Ññ¡¿⌐ ßÑú¼Ñ¡Γ ¬«ñá ºá¡∩Γ í¿í½¿«ΓѬ«⌐ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ
  24. (¼«ñπ½∞ System).  ÉẼÑα «Γñѽ∞¡«ú« ßÑú¼Ñ¡Γá ¡Ñ ¼«ªÑΓ »αÑóδ-
  25. ΦáΓ∞ 64è,  «ñ¡á¬« «íΘ¿⌐ αẼÑα ¬«ñá «úαá¡¿τÑ¡ Γ«½∞¬« «íΩѼ«¼
  26. ¿¼ÑεΘÑ⌐ß∩ »á¼∩Γ¿.
  27.      æÑú¼Ñ¡Γ ñá¡¡δσ (áñαÑßπѼδ⌐  τÑαѺ  αÑú¿ßΓα DS) ß«ñÑনΓ
  28. óßÑ Γ¿»¿º«óá¡¡δÑ ¬«¡ßΓá¡Γδ, ºá ¬«Γ«α묨 ß½ÑñπεΓ óßÑ ú½«íá½∞-
  29. ¡δÑ »ÑαѼѡ¡δÑ. é »α«µÑßßÑ óδ»«½¡Ñ¡¿∩  »α«úαá¼¼δ  αÑú¿ßΓα DS
  30. ¡¿¬«úñá ¡Ñ ¿º¼Ñ¡∩ÑΓß∩. ÉẼÑα ßÑú¼Ñ¡Γá ñá¡¡δσ ¡Ñ ¼«ªÑΓ  »αÑ-
  31. óδΦáΓ∞ 64è.
  32.  
  33.                  éÑασ¡∩∩ úαá¡¿µá »á¼∩Γ¿ äÄæ
  34.         -------------------------------------------
  35.         !       é ß»¿ß¬Ñ ßó«í«ñ¡δσ «í½áßΓÑ⌐       !
  36.         !       «Γ¼ÑτáÑΓß∩ ¿¼ÑεΘÑÑß∩ »α«ßΓαá¡ßΓó« !
  37.         !      ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ !
  38. FreePtr !-----------------------------------------!
  39.         !       æó«í«ñ¡á∩ »á¼∩Γ∞                  !
  40. ìÑáαÉtr !-----------------------------------------!
  41.         !        ä¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽá∩       !
  42.         !       «í½áßΓ∞ »á¼∩Γ¿ αáßΦ¿α∩ÑΓß∩ ó      !
  43.         !       ßΓ«α«¡π πóѽ¿τÑ¡¿∩ áñαÑß«ó...     !
  44. ìÑáαÄrg !-----------------------------------------!OvrHeapEnd
  45.         !            ÄóÑα½Ñ⌐¡δ⌐ íπΣÑα             !
  46.         !-----------------------------------------!OvrHeapOrg
  47.         !  æÑú¼Ñ¡Γ ßΓѬᠠ    æΓѬ πóѽ¿τ¿óáÑΓß∩  !
  48.         !                    ó ßΓ«α«¡π π¼Ñ¡∞ΦÑ¡¿∩ !
  49.         !                    áñαÑß«ó...           !
  50.         !-----------------------------------------!SSeg:SPtr
  51.         !      æó«í«ñ¡á∩ «í½áßΓ∞ ßΓѬᠠ          !
  52.         !-----------------------------------------!SSeg:0000
  53.         !        â½«íá½∞¡δÑ »ÑαѼѡ¡δÑ            !
  54.         !-----------------------------------------!<-------
  55.         !        Æ¿»¿º«óá¡¡δÑ ¬«¡ßΓá¡Γδ           !       !
  56.         !-----------------------------------------!DSeg:0000
  57.         !        Æ¿»¿º«óá¡¡δÑ ¬«¡ßΓá¡Γδ           !       !
  58.         !-----------------------------------------!       !
  59.         !       æÑú¼Ñ¡Γ ¬«ñá ¼«ñπ½∩ System        !       !
  60.         !                                         !       !
  61.         !-----------------------------------------!       !
  62.         !        æÑú¼Ñ¡Γ ¬«ñá ¼«ñπ½∩ »Ñαó«ú«      ! æ«ñÑα-!
  63.         !-----------------------------------------! ª¿¼«Ñ !
  64.         .     (æÑú¼Ñ¡Γδ ¬«ñá ñαπú¿σ ¼«ñπ½Ñ⌐)      . «íαáºá!
  65.         .-----------------------------------------! Σá⌐½á !
  66.         !       æÑú¼Ñ¡Γ ¬«ñá »«ß½Ññ¡Ñú« ¼«ñπ½∩    !  .àòà !
  67.         !-----------------------------------------!       !
  68.         !    æÑú¼Ñ¡Γ ¬«ñá «ß¡«ó¡«⌐ »α«úαá¼¼δ      !       !
  69.         !-----------------------------------------!       !
  70.         !     ÅαÑΣ¿¬ß¡δ⌐ ßÑú¼Ñ¡Γ »α«úαá¼¼δ (ÉSÉ)  !       !
  71. ÉrefixSeg--------------------------------------------------
  72.  
  73.                          É¿ß. 15.1
  74.  
  75.      Åα¿ óσ«ñÑ ó »α«úαá¼¼π αÑú¿ßΓα  ßÑú¼Ñ¡Γá  ßΓѬᠠ(SS)  ¿
  76. π¬áºáΓѽ∞ ßΓѬá (SÉ) ºáúαπªáεΓß∩ Γá¬, τΓ« SS:SÉ π¬áºδóáÑΓ ¡á
  77. »Ñαóδ⌐ íá⌐Γ, ß½ÑñπεΘ¿⌐ ºá ßÑú¼Ñ¡Γ«¼ ßΓѬá. ÉÑú¿ßΓα SS ó »α«-
  78. µÑßßÑ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ ¡¿¬«úñá ¡Ñ ¿º¼Ñ¡∩ÑΓß∩, á SÉ ¼«ªÑΓ
  79. »ÑαѼÑΘáΓ∞ß∩ ó¡¿º, »«¬á ¡Ñ ñ«ßΓ¿ú¡ÑΓ  ¡¿ª¡Ñ⌐ úαá¡¿µδ ßÑú¼Ñ¡-
  80. Γá. ÉẼÑα ßÑú¼Ñ¡Γá ßΓѬᠡѠ¼«ªÑΓ  »αÑóδΦáΓ∞ 64è.  Å« π¼«½-
  81. τá¡¿ε Ñ¼π ¡áº¡áτáÑΓß∩ αẼÑα,  αáó¡δ⌐ 16è,  ¡« ß »«¼«Θ∞ε ñ¿-
  82. αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá $î φΓ« º¡áτÑ¡¿Ñ ¼«ª¡« ¿º¼Ñ¡¿Γ∞.
  83.      é ñ¿¡á¼¿τÑ߬¿  αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ß«σαá¡∩εΓß∩ ñ¿¡á-
  84. ¼¿τÑ߬¿Ñ »ÑαѼѡ¡δÑ,  Γ« ÑßΓ∞ »ÑαѼѡ¡δÑ, óδñѽѡ¡δÑ »α¿ «í-
  85. αáΘÑ¡¿∩σ ¬ ßΓá¡ñáαΓ¡δ¼ »α«µÑñπαá¼ New ¿ GetMem. Ä¡á ºá¡¿¼áÑΓ
  86. óßε ßó«í«ñ¡πε »á¼∩Γ∞  ¿½¿ τáßΓ∞ ßó«í«ñ¡«⌐ »á¼∩Γ¿, «ßΓáóΦπεß∩
  87. »α¿ óδ»«½¡Ñ¡¿¿ »α«úαá¼¼δ.  äÑ⌐ßΓó¿Γѽ∞¡δ⌐ αẼÑα ñ¿¡á¼¿τÑ߬¿
  88. αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿  ºáó¿ß¿Γ «Γ ¼á¬ß¿¼á½∞¡«ú« ¿ ¼¿¡¿¼á½∞-
  89. ¡«ú«  º¡áτÑ¡¿⌐,  ¬«Γ«αδÑ  ¼«ª¡«  πßΓá¡«ó¿Γ∞  ñ½∩ ñ¿¡á¼¿τÑ߬¿
  90. αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ß »«¼«Θ∞ε  ñ¿αÑ¬Γ¿óδ  ¬«¼»¿½∩Γ«αá $î.
  91. âáαá¡Γ¿α«óá¡¡δ⌐ ¼¿¡¿¼á½∞¡δ⌐ αẼÑα  ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ñ-
  92. ¼«⌐ «í½áßΓ¿ ¡Ñ ¼«ªÑΓ íδΓ∞ ¼Ñ¡∞ΦÑ  ¼¿¡¿¼á½∞¡«ú« º¡áτÑ¡¿∩, πß-
  93. Γá¡«ó½Ñ¡¡«ú« ñ½∩ φΓ«⌐  «í½áßΓ¿.  îá¬ß¿¼á½∞¡δ⌐ αẼÑα ñ¿¡á¼¿-
  94. τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ¡¿¬«úñá ¡Ñ »αÑóδΦáÑΓ  ºáñá¡¡«ú«
  95. ñ½∩ ¡ÑÑ ¼á¬ß¿¼á½∞¡«ú« º¡áτÑ¡¿∩.
  96.      àß½¿ π¬áºá¡¡δ⌐  ¼¿¡¿¼á½∞¡δ⌐  «íΩѼ  »á¼∩Γ¿  ¡Ññ«ßΓπ»Ñ¡,
  97. Γ« »α«úαἼᠡѠóδ»«½¡∩ÑΓß∩. Å« π¼«½τá¡¿ε ¼¿¡¿¼á½∞¡δ⌐ αẼÑα
  98. ñ¿¡á¼¿τÑ߬¿  αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ αáóÑ¡ 0 èíá⌐Γ,  á ¼á¬ß¿-
  99. ¼á½∞¡δ⌐ αẼÑα ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ß«ßΓáó½∩ÑΓ
  100. 1 îíá⌐Γ.  ¥Γ« «º¡áτáÑΓ, τΓ« »« π¼«½τá¡¿ε ñ¿¡á¼¿τÑ߬¿ αáß»αÑ-
  101. ñѽ∩Ѽá∩ «í½áßΓ∞ íπñÑΓ ºá¡¿¼áΓ∞ óßε «ßΓáóΦπεß∩ »á¼∩Γ∞.
  102.      Åα«úαá¼¼á ñ¿¡á¼¿τÑ߬«ú« αáß»αÑñѽѡ¿∩ »á¼∩Γ¿ (∩ó½∩εΘá∩-
  103. ß∩ τáßΓ∞ε  í¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ),  ¬á¬ ¼«ª¡« ñ«úá-
  104. ñáΓ∞ß∩, π»αáó½∩ÑΓ ñ¿¡á¼¿τÑ߬¿  αá»αÑñѽ∩Ѽ«⌐  «í½áßΓ∞ε.  äÑ-
  105. Γá½∞¡« «¡á «»¿ßδóáÑΓß∩ ó ß½ÑñπεΘѼ αáºñѽÑ.
  106.  
  107.                    Å«ñß¿ßΓѼá π»αáó½Ñ¡¿∩
  108.          ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ∞ε »á¼∩Γ¿
  109.  
  110.      ä¿¡á¼¿τÑ߬¿  αáß»αÑñѽ∩Ѽá∩  «í½áßΓ∞  - φΓ«  »«σ«ªá∩ ¡á
  111. ßΓѬ ßΓαπ¬Γπαá, ¬«Γ«αá∩ πóѽ¿τ¿óáÑΓß∩,  ¡áτ¿¡á∩  «Γ  ¼½áñΦ¿σ
  112. áñαÑß«ó »á¼∩Γ¿.  Åα¿ φΓ«¼  ¿ß»«½∞ºπÑΓß∩  ßÑú¼Ñ¡Γ ñ¿¡á¼¿τÑ߬¿
  113. αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿.  ì¿ª¡∩∩ úαá¡¿µá ñ¿¡á¼¿τÑ߬¿ αá»αÑñÑ-
  114. ½∩Ѽ«⌐ «í½áßΓ¿  ºá»«¼¿¡áÑΓß∩ ó »ÑαѼѡ¡«⌐ ìÑápÄrg, á óÑασ¡∩∩
  115. úαá¡¿µá ñ¿¡á¼¿τÑ߬¿ αá»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ß««ΓóÑΓßΓóπÑΓ ¡¿ª-
  116. ¡Ñ⌐ úαá¡¿µÑ ßó«í«ñ¡«⌐ »á¼∩Γ¿ ¿ ß«σαá¡∩ÑΓß∩ ó  »ÑαѼѡ¡«⌐ ìÑ-
  117. ápÉtr.  Åα¿ ¬áªñ«¼ óδñѽѡ¿¿ ñ¿¡á¼¿τÑ߬«⌐ »ÑαѼѡ¡«⌐ ó ñ¿¡á-
  118. ¼¿τÑ߬¿  αáß»αÑñѽ∩Ѽ«⌐  «í½áßΓ¿  »«ñß¿ßΓѼᠠ ñ¿¡á¼¿τÑ߬«ú«
  119. αáß»αÑñѽѡ¿∩   »á¼∩Γ¿  (»«ñß¿ßΓѼᠠπ»αáó½Ñ¡¿∩  ñ¿¡á¼¿τÑ߬¿
  120. αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ∞ε) »ÑαѼÑΘáÑΓ »ÑαѼѡ¡πε ìÑáαÉtr óóÑασ
  121. ¡á αẼÑα »ÑαѼѡ¡«⌐, ¬á¬ íδ «αúá¡¿ºπ∩ »α¿ φΓ«¼ ßΓѬ ñ¿¡á¼¿-
  122. τÑ߬¿σ »ÑαѼѡ¡δσ, ó ¬«Γ«α«¼ «ñ¡á »ÑαѼѡ¡á∩ αẼÑΘáÑΓß∩ ¡áñ
  123. ñαπú«⌐.
  124.      ÅÑαѼѡ¡á∩ ìÑápÉtr  »«ß½Ñ  ¬áªñ«⌐  «»Ñαᵿ¿ ¬á¬ »αá󿽫
  125. ¡«α¼á½¿ºπÑΓß∩, ¿ ß¼ÑΘÑ¡¿Ñ, Γᬿ¼ «íαẫ¼, »α¿¡¿¼áÑΓ º¡áτÑ¡¿∩
  126. ó ñ¿á»áº«¡Ñ «Γ $0000  ñ«  $000F.  Æá¬ ¬á¬  ¬áªñá∩ »ÑαѼѡ¡á∩
  127. ñ«½ª¡á  µÑ½¿¬«¼  ß«ñÑαªáΓ∞ß∩ ó  «ñ¡«¼ ßÑú¼Ñ¡ΓÑ, ¼á¬ß¿¼á½∞¡δ⌐
  128. αẼÑα «Γñѽ∞¡«⌐ »ÑαѼѡ¡«⌐,  ¬«Γ«αá∩ ¼«ªÑΓ íδΓ∞ αẼÑΘÑ¡á ó
  129. ñ¿¡á¼¿τÑ߬¿  αáß»αÑñѽ∩Ѽ«⌐  «í½áßΓ¿, ß«ßΓáó½∩ÑΓ  65521 íá⌐Γ
  130. (τΓ« ß««ΓóÑΓßΓóπÑΓ $10000 ¼¿¡πß $000F).
  131.  
  132.                îÑΓ«ñδ «ßó«í«ªñÑ¡¿∩ «í½áßΓÑ⌐
  133.              ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ »á¼∩Γ¿
  134.  
  135.      ä¿¡á¼¿τÑ߬¿Ñ »ÑαѼѡ¡δÑ, ß«σαá¡∩ѼδÑ ó ñ¿¡á¼¿τÑ߬¿ αáß-
  136. »αÑñѽ∩Ѽ«⌐ «í½áßΓ¿, «ßó«í«ªñáεΓß∩ «ñ¡¿¼ ¿º  ñóπσ  ß½ÑñπεΘ¿σ
  137. ß»«ß«í«ó:
  138.  
  139.      1.  æ »«¼«Θ∞ε »α«µÑñπα Dispose ¿½¿ FrÑÑîѼ.
  140.      2.  æ »«¼«Θ∞ε »α«µÑñπα îárk ¿ RÑlÑásÑ.
  141.  
  142.      Åα«ßΓÑ⌐ΦÑ⌐  ßσѼ«⌐   ¿ß»«½∞º«óá¡¿∩   »α«µÑñπα   îárk  ¿
  143. RÑlÑásÑ, ¡á»α¿¼Ñα, ∩ó½∩ÑΓß∩ óδ»«½¡Ñ¡¿Ñ ß½ÑñπεΘ¿σ «»ÑαáΓ«α«ó:
  144.  
  145. New(Ptr1);
  146. New(Ptr2);
  147. Mark(P);
  148. New(Ptr3);
  149. New(Ptr4);
  150. New(Ptr5);
  151.  
  152. æσѼá ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »α¿ φΓ«¼ íπñÑΓ óδú-
  153. ½∩ñÑΓ∞, ¬á¬ »«¬áºá¡« ¡á É¿ß. 15.2.
  154.  
  155.   Étr1  -------------------------------- î½áñΦ¿Ñ
  156.         ! æ«ñÑন¼«Ñ  Étr1             !  áñαÑßá
  157.   Étr2  !------------------------------!  »á¼∩Γ¿
  158.         ! æ«ñÑন¼«Ñ  Étr2             !
  159.   Étr3  !------------------------------!
  160.         ! æ«ñÑন¼«Ñ  Étr3             !
  161.   Étr4  !------------------------------!
  162.         ! æ«ñÑন¼«Ñ  Étr4             !
  163.   Étr5  !------------------------------!
  164.         ! æ«ñÑন¼«Ñ  Étr5             !
  165. ìÑápÉtr !------------------------------!
  166.         !                              ! æΓáαΦ¿Ñ
  167.         !                              !  áñαÑßá
  168.         !                              !  »á¼∩Γ¿
  169.         --------------------------------
  170.  
  171.      É¿ß. 15.6 îÑΓ«ñ «ßó«í«ªñÑ¡¿∩ «í½áßΓÑ⌐ ñ¿¡á¼¿τÑ߬¿ αáß»-
  172. αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »«¼«Θ∞ε »α«µÑñπα îárk ¿ RÑlÑásÑ
  173.  
  174.  
  175.   Étr1  -------------------------------- î½áñΦ¿Ñ
  176.         ! æ«ñÑন¼«Ñ  Étr1             !  áñαÑßá
  177.   Étr2  !------------------------------!  »á¼∩Γ¿
  178.         ! æ«ñÑন¼«Ñ  Étr2             !
  179. ìÑápÉtr !------------------------------!
  180.         !                              !
  181.         !                              !
  182.         !                              ! æΓáαΦ¿Ñ
  183.         !                              !  áñαÑßá
  184.         !                              !  »á¼∩Γ¿
  185.         --------------------------------
  186.  
  187.      É¿ß. 15.3 æσѼá ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐  «í½áßΓ¿ »α¿
  188. óδ»«½¡Ñ¡¿¿ »α«µÑñπαδ RÑleásÑ(É)
  189.  
  190.      Ä»ÑαáΓ«α îárk(É) «Γ¼ÑτáÑΓ ß«ßΓ«∩¡¿Ñ ñ¿¡á¼¿τÑ߬¿ αáß»αÑ-
  191. ñѽ∩Ѽ«⌐ «í½áßΓ¿ ¡Ñ»«ßαÑñßΓóÑ¡¡« »ÑαÑñ óδñѽѡ¿Ñ¼ »á¼∩Γ¿ ñ½∩
  192. »ÑαѼѡ¡«⌐ Étr3 (»πΓѼ ß«σαá¡Ñ¡¿∩ ΓѬπΘÑú« º¡áτÑ¡¿∩ »ÑαѼѡ-
  193. ¡«⌐ ìÑápÉtr ó É). àß½¿ óδ»«½¡∩ÑΓß∩  «»ÑαáΓ«α  RÑleásÑ(É), Γ«
  194. ßσѼá ñ¿¡á¼¿τÑ߬¿  αáß»αÑñѽ∩Ѽ«⌐  «í½áßΓ¿ ßΓá¡«ó¿Γß∩ Γᬫ⌐,
  195. ¬á¬ »«¬áºá¡« ¡á É¿ß. 15.3.  Åα¿ φΓ«¼, »«ß¬«½∞¬π »α«¿ºó«ñ¿Γß∩
  196. «íαáΘÑ¡¿Ñ ¬ »α«µÑñπαÑ îárk, «ßó«í«ªñáÑΓß∩ »á¼∩Γ∞, óδñѽѡ¡á∩
  197. »«ñ óßÑ π¬áºáΓѽ¿.
  198.  
  199.       Åα¿¼Ñτá¡¿Ñ: éδ»«½¡Ñ¡¿Ñ »α«µÑñπαδ RÑleásÑ(ìÑápÄrg) »«½-
  200.       ¡«ßΓ∞ε «ßó«í«ªñáÑΓ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽπε  «í½áßΓ∞
  201.       »á¼∩Γ¿, »«ß¬«½∞¬π »ÑαѼѡ¡á∩ ìÑápÄrg π¬áºδóáÑΓ ¡á ¡¿ª-
  202.       ¡εε úαá¡¿µπ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿.
  203.  
  204.   Étr1  -------------------------------- î½áñΦ¿Ñ
  205.         ! æ«ñÑন¼«Ñ  Étr1             !  áñαÑßá
  206.   Étr2  !------------------------------!  »á¼∩Γ¿
  207.         ! æ«ñÑন¼«Ñ  Étr2             !
  208.         !------------------------------!
  209.         !//////////////////////////////!
  210.   Étr4  !------------------------------!
  211.         ! æ«ñÑন¼«Ñ  Étr4             !
  212.   Étr5  !------------------------------!
  213.         ! æ«ñÑন¼«Ñ  Étr5             !
  214. ìÑápÉtr !------------------------------!
  215.         !                              ! æΓáαΦ¿Ñ
  216.         !                              !  áñαÑßá
  217.         !                              !  »á¼∩Γ¿
  218.         --------------------------------
  219.  
  220.      É¿ß. 15.4 æ«ºñá¡¿Ñ ¡Ñºá¡∩Γ«⌐ «í½áßΓ¿ ("ñδαδ") ó ñ¿¡á¼¿-
  221. τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿
  222.  
  223.      Åα¿¼Ñ¡Ñ¡¿Ñ »α«µÑñπα îárk ¿ RÑlÑásÑ ñ½∩ «ßó«í«ªñÑ¡¿∩ »á-
  224. ¼∩Γ¿, óδñѽѡ¡«⌐  ñ½∩  ñ¿¡á¼¿τÑ߬¿σ  »ÑαѼѡ¡δσ,  ¡á ¬«Γ«αδÑ
  225. ßßδ½áεΓß∩ π¬áºáΓѽ¿, ó »«α∩ñ¬Ñ, ó Γ«τ¡«ßΓ¿  «íαáΓ¡«¼ Γ«¼π, ó
  226. ¬«Γ«α«¼ »α«¿ßσ«ñ¿½« óδñѽѡ¿Ñ »á¼∩Γ¿, óÑß∞¼á φΣΣÑ¬Γ¿ó¡«. Äñ-
  227. ¡á¬« ó í«½∞Φ¿¡ßΓóÑ »α«úαá¼¼  ¿¼ÑÑΓß∩  ΓÑ¡ñÑ¡µ¿∩ ó í«½ÑÑ ß½π-
  228. τá⌐¡«¼π óδñѽѡ¿ε ¿  «ßó«í«ªñÑ¡¿ε »á¼∩Γ¿, «ΓóÑñÑ¡¡«⌐ ñ½∩ ñ¿-
  229. ¡á¼¿τÑ߬¿σ »ÑαѼѡ¡δσ,  ¡á  ¬«Γ«αδÑ ßßδ½áεΓß∩ π¬áºáΓѽ¿, τΓ«
  230. ó½ÑτÑΓ ºá ß«í«⌐  ¡Ñ«íσ«ñ¿¼«ßΓ∞  ¿ß»«½∞º«óá¡¿∩  í«½ÑÑ  Γ«¡¬¿σ
  231. ¼ÑΓ«ñ«ó  π»αáó½Ñ¡¿∩  »á¼∩Γ∞ε,  ¬«Γ«αδÑ αÑ὿º«óá¡δ ß »«¼«Θ∞ε
  232. »α«µÑñπα Dispose ¿ FrÑÑMem.  ¥Γ¿ »α«µÑñπαδ »«ºó«½∩εΓ ó ½εí«⌐
  233. ¼«¼Ñ¡Γ «ßó«í«ñ¿Γ∞ »á¼∩Γ∞, óδñѽѡ¡πε ñ½∩ ½εí«⌐  ñ¿¡á¼¿τÑ߬«⌐
  234. »ÑαѼѡ¡«⌐, ¡á ¬«Γ«απε ßßδ½áÑΓß∩ π¬áºáΓѽ∞.
  235.      è«úñá ß »«¼«Θ∞ε »α«µÑñπα Dispose ¿ FrÑÑîѼ «ßó«í«ªñáÑΓ-
  236. ß∩ »á¼∩Γ∞, «ΓóÑñÑ¡¡á∩ ñ½∩ ñ¿¡á¼¿τÑ߬«⌐ »ÑαѼѡ¡«⌐, ¡Ñ ∩ó½∩ε-
  237. Θá∩ß∩ "ßἫ⌐ óÑασ¡Ñ⌐" »ÑαѼѡ¡«⌐ ó ñ¿¡á¼¿τÑ߬¿  αáß»αÑñѽ∩Ñ-
  238. ¼«⌐ «í½áßΓ¿, Γ« ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞ ßΓá¡«ó¿Γ-
  239. ß∩  Σαáú¼Ñ¡Γ¿α«óá¡¡«⌐.  ÅαÑñ»«½«ª¿¼, τΓ«  óδ»«½¡∩½áß∞  Γá ªÑ
  240. »«ß½Ññ«óáΓѽ∞¡«ßΓ¿ «»ÑαáΓ«α«ó, τΓ« ¿  ó  »αÑñδñπΘѼ »α¿¼ÑαÑ.
  241. Æ«úñá »«ß½Ñ óδ»«½¡Ñ¡¿∩ »α«µÑñπαδ Dispose(Étr3) ó µÑ¡ΓαÑ  ñ¿-
  242. ¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿ «íαáºπÑΓß∩ ¡Ñºá¡∩Γ«Ñ
  243. »α«ßΓαá¡ßΓó« ("ñδαá"). ¥Γ« »«¬áºá¡« ¡á É¿ß. 15.4.
  244.      àß½¿ ó ñá¡¡δ⌐  ¼«¼Ñ¡Γ  óδ»«½¡∩ÑΓß∩ »α«µÑñπαá New(Étr3),
  245. Γ«  φΓ«  «»∩Γ∞ »α¿óÑñÑΓ ¬ óδñѽѡ¿ε Γ«⌐ ªÑ «í½áßΓ¿ »á¼∩Γ¿. æ
  246. ñαπú«⌐  ßΓ«α«¡δ, óδ»«½¡Ñ¡¿Ñ »α«µÑñπαδ Dispose(Étr4) πóѽ¿τ¿Γ
  247. αẼÑα  ßó«í«ñ¡«ú« í½«¬á, Γᬠ¬á¬ Étr3 ¿ Étr4 í뫨 ß«ßÑñ¡¿¼¿
  248. í½«¬á¼¿ (ß¼. É¿ß. 15.5).
  249.  
  250.   Étr1  -------------------------------- î½áñΦ¿Ñ
  251.         ! æ«ñÑন¼«Ñ  Étr1             !  áñαÑßá
  252.   Étr2  !------------------------------!  »á¼∩Γ¿
  253.         ! æ«ñÑন¼«Ñ  Étr2             !
  254.         !------------------------------!
  255.         !//////////////////////////////!
  256.         !//////////////////////////////!
  257.   Étr5  !------------------------------!
  258.         ! æ«ñÑন¼«Ñ  Étr5             !
  259. ìÑápÉtr !------------------------------!
  260.         !                              ! æΓáαΦ¿Ñ
  261.         !                              !  áñαÑßá
  262.         !                              !  »á¼∩Γ¿
  263.         --------------------------------
  264.  
  265.      É¿ß. 15.5 ôóѽ¿τÑ¡¿Ñ αẼÑαᠡѺá¡∩Γ«ú« í½«¬á »á¼∩Γ¿
  266.  
  267.      é ¬«¡Ñτ¡«¼  ¿Γ«úÑ  óδ»«½¡Ñ¡¿Ñ  »α«µÑñπαδ  Dispose(Étr5)
  268. »α¿óÑñÑΓ ß¡áτá½á ¬ ß«ºñá¡¿ε ¡Ñºá¡∩Γ«ú« í½«¬á í«½∞ΦÑú« αẼÑ-
  269. αá, á ºáΓѼ  ìÑápÉtr »ÑαѼÑßΓ¿Γß∩ ó í«½ÑÑ ¼½áñΦ¿Ñ áñαÑßá »á-
  270. ¼∩Γ¿. Å«ß¬«½∞¬π »«ß½Ññ¡¿¼ ñ«»πßΓ¿¼δ¼ π¬áºáΓѽѼ ΓÑ»Ñα∞ íπñÑΓ
  271. Étr2  (ß¼. É¿ß. 15.6), Γ« φΓ« »α¿óÑñÑΓ ¬ ñÑ⌐ßΓó¿Γѽ∞¡«¼π «ß-
  272. ó«í«ªñÑ¡¿ε ¡Ñºá¡∩Γ«ú« í½«¬á.
  273.  
  274.   Étr1  -------------------------------- î½áñΦ¿Ñ
  275.         ! æ«ñÑন¼«Ñ  Étr1             !  áñαÑßá
  276.   Étr2  !------------------------------!  »á¼∩Γ¿
  277.         ! æ«ñÑন¼«Ñ  Étr2             !
  278. ìÑápÉtr !------------------------------!
  279.         !                              !
  280.         !                              !
  281.         !                              !
  282.         !                              !
  283.         !                              ! æΓáαΦ¿Ñ
  284.         !                              !  áñαÑßá
  285.         !                              !  »á¼∩Γ¿
  286.         --------------------------------
  287.  
  288.      É¿ß. 15.7 Äßó«í«ªñÑ¡¿Ñ ¡Ñºá¡∩Γ«ú« í½«¬á »á¼∩Γ¿
  289.  
  290.      èᬠ»«¬áºá¡« ¡á  É¿ß. 15.2.  ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽá∩
  291. «í½áßΓ∞ »á¼∩Γ¿ ΓÑ»Ñα∞ ¡áσ«ñ¿Γß∩ ó Γ«¼ ªÑ ßἫ¼  ß«ßΓ«∩¡¿¿, ó
  292. ¬á¬«¼   «¡á   ¡áσ«ñ¿½áß∞   íδ   »«ß½Ñ  óδ»«½¡Ñ¡¿∩  »α«µÑñπαδ
  293. RÑlÑásÑ(É).  Äñ¡á¬« ß«ºñáóáѼδÑ ¿  «ßó«í«ªñáѼδÑ  »α¿  Γᬫ¼
  294. »α«µÑßßÑ ¡Ñºá¡∩ΓδÑ  í½«¬¿  «Γ߽Ѫ¿óáεΓß∩  ñ½∩ ¿σ  ó«º¼«ª¡«ú«
  295. »«óΓ«α¡«ú« ¿ß»«½∞º«óáóá¡¿∩.
  296.  
  297.                   æ»¿ß«¬ ßó«í«ñ¡δσ í½«¬«ó
  298.  
  299.      ÇñαÑßá ¿ αẼÑαδ ßó«í«ñ¡δσ í½«¬«ó, ß«ºñá¡¡δσ »α¿ «»Ñαá-
  300. µ¿∩σ Dispose ¿  FrÑÑîѼ, σαá¡∩Γß∩ ó ß»¿ß¬Ñ ßó«í«ñ¡δσ í½«¬«ó,
  301. ¬«Γ«αδ⌐ πóѽ¿τ¿óáÑΓß∩ ó¡¿º, ¡áτ¿¡á∩ ß« ßΓáαΦ¿σ áñαÑß«ó »á¼∩-
  302. Γ¿, ó ßÑú¼Ñ¡ΓÑ  ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐  «í½áßΓ¿.  èáªñδ⌐
  303. αẠ»ÑαÑñ óδñѽѡ¿Ñ¼ »á¼∩Γ¿ ñ½∩ ñ¿¡á¼¿τÑ߬«⌐ »ÑαѼѡ¡«⌐, »Ñ-
  304. αÑñ ΓѼ, ¬á¬ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞ íπñÑΓ αáßΦ¿-
  305. αÑ¡á, »α«óÑα∩ÑΓß∩ ß»¿ß«¬ ßó«í«ñ¡δσ í½«¬«ó. àß½¿ ¿¼ÑÑΓß∩ í½«¬
  306. ß««ΓóÑΓßΓóπεΘÑú« αẼÑαá (Γ« ÑßΓ∞ αẼÑα ¬«Γ«α«ú« í«½∞ΦÑ ¿½¿
  307. αáóÑ¡ ΓαÑíπѼ«¼π αẼÑαπ), Γ« «¡ ¿ß»«½∞ºπÑΓß∩.
  308.  
  309.       Åα¿¼Ñτá¡¿Ñ: Åα«µÑñπαá  RÑlÑásÑ  óßÑúñá  «τ¿ΘáÑΓ ß»¿ß«¬
  310.       ßó«í«ñ¡δσ  í½«¬«ó. Æá¬¿¼ «íαẫ¼, »α«úαá¼¼á ñ¿¡á¼¿τÑß-
  311.       ¬«ú«  αáß»αÑñѽѡ¿∩ »á¼∩Γ¿ "ºáíδóáÑΓ" « ¡Ñºá¡∩Γδσ í½«-
  312.       ¬áσ, ¬«Γ«αδÑ ¼«úπΓ ßπΘÑßΓó«óáΓ∞ ¡¿ªÑ π¬áºáΓѽ∩ ñ¿¡á¼¿-
  313.       τÑ߬¿  αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿. àß½¿ óδ τÑαÑñπÑΓÑ «íαá-
  314.       ΘÑ¡¿∩ ¬ »α«µÑñπαá¼ îárk ¿ RÑlÑásÑ ß «íαáΘÑ¡¿∩¼¿ ¬ »α«-
  315.       µÑñπαá¼ Dispose ¿ FrÑÑîѼ, Γ« ¡πª¡« «íÑß»Ñτ¿Γ∞  «ΓßπΓ-
  316.       ßΓó¿Ñ Γᬿσ ßó«í«ñ¡δσ í½«¬«ó.
  317.  
  318.      ô¬áºáΓѽ∞  ß»¿ß¬á  ßó«í«ñ¡δσ í½«¬«ó ß«σαá¡∩ÑΓß∩ ó »ÑαÑ-
  319. ¼Ñ¡¡«⌐ ß  ¿¼Ñ¡Ñ¼  FrÑÑÉtr.  ò«Γ∩ φΓá »ÑαѼѡ¡á∩ «»¿ßδóáÑΓß∩,
  320. ¬á¬ »ÑαѼѡ¡á∩ Γ¿»á π¬áºáΓѽ∞, ó ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿ «¡á π¬áºδ-
  321. óáÑΓ ¡á ¼áßß¿ó ºá»¿ßÑ⌐  ßó«í«ñ¡δσ  í½«¬«ó, « τѼ  ßó¿ñÑΓѽ∞-
  322. ßΓóπÑΓ Γ¿» »ÑαѼѡ¡«⌐ FrÑÑListÉ:
  323.  
  324.  type
  325.    FreeRec = record
  326.                 OrgPtr,EndPtr: pointer;
  327.              end;
  328.    FreeList = array[0..8190] of FreeRec;
  329.    FreeListP = ^FreeList;
  330.  
  331.      Å«½∩ ¬áªñ«⌐ ºá»¿ß¿  ÄrgÉtr ¿ àndÉtr «»αÑñѽ∩εΓ ¡áτὫ ¿
  332. ¬«¡Ñµ ¬áªñ«ú« ßó«í«ñ¡«ú« í½«¬á. (ànd Σá¬Γ¿τÑ߬¿ π¬áºδóáÑΓ ¡á
  333. »Ñαóδ⌐  ß½ÑñπεΘ¿⌐ ºá  í½«¬«¼ ßó«í«ñ¡δ⌐ íá⌐Γ.)  Äíá π¬áºáΓѽ∩
  334. ∩ó½∩εΓß∩  ¡«α¼á½¿º«óá¡¡δ¼¿.  è«½¿τÑßΓó«  ºá»¿ßÑ⌐  ó  ¼áßß¿óÑ
  335. FrÑÑList óδτ¿ß½∩ÑΓß∩ »« Σ«α¼π½Ñ:
  336.  
  337.  FreeCount = (8192 - Ofs(FreePtr^) div 8) mod 8192
  338.  
  339.      ¥Γ« «º¡áτáÑΓ,  τΓ« ó ß»¿ß¬Ñ  ßó«í«ñ¡δσ í½«¬«ó ¼«ªÑΓ ß«-
  340. ñÑαªáΓ∞ß∩  ñ«  8191  ºá»¿ßÑ⌐.  è«úñá  ß¼ÑΘÑ¡¿Ñ ñ½∩ π¬áºáΓѽ∩
  341. FreePtr  αáó¡« 0, Γ« ß»¿ß«¬ ßó«í«ñ¡δσ í½«¬«ó »πßΓ. ô¬áºáΓѽ∞
  342. FreePtr  ¼«ª¡« ßαáó¡¿Γ∞ ß π¬áºáΓѽѼ ßΓѬá ó Γ«¼ ß¼δß½Ñ, τΓ«
  343. «¡ πóѽ¿τ¿óáÑΓß∩ ó ßΓ«α«¡π ¼½áñΦ¿σ áñαÑß«ó, ¿ óßÑ íá⌐Γδ, ¡á-
  344. τ¿¡á∩ «Γ FreePtr ¿ ñ« ¬«¡µá ßÑú¼Ñ¡Γá ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩-
  345. Ѽ«⌐  «í½áßΓ¿  ∩ó½∩εΓß∩ τáßΓ∞ε "ßó«í«ñ¡«ú« »α«ßΓαá¡ßΓóá ßΓÑ-
  346. ‡".
  347.  
  348.       Åα¿¼Ñτá¡¿Ñ: Å«»δΓ¬á «ßó«í«ñ¿Γ∞ »á¼∩Γ∞, ºá¡∩Γπε ñ½∩ ñ¿-
  349.       ¡á¼¿τÑ߬«⌐  »ÑαѼѡ¡«⌐,  ó ß¿Γπᵿ¿, ¬«úñá ß»¿ß«¬ ßó«-
  350.       í«ñ¡δσ í½«¬«ó »ÑαÑ»«½¡Ñ¡, ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼-
  351.       ¼δ »α¿óÑñÑΓ ó «Φ¿í¬Ñ. Äñ¡á¬« »ÑαÑ»«½¡Ñ¡¿Ñ  ß»¿ß¬á ßó«-
  352.       í«ñ¡δσ í½«¬«ó - φΓ« ¬αá⌐¡Ñ ¼á½«óÑα«∩Γ¡á∩ ß¿Γπᵿ∩. ä½∩
  353.       φΓ«ú« »«ΓαÑíπÑΓß∩ «ßó«í«ñ¿Γ∞ íѺ »«óΓ«α¡«ú«  ¿ß»«½∞º«-
  354.       óá¡¿∩ 8191 »«½¡«ßΓ∞ε ¡Ñ߼Ѫ¡δσ í½«¬«ó.
  355.  
  356.      ô¬áºáΓѽ∞ FreePrt ß½πª¿Γ ΓᬪѠñ½∩ «Γ¼ÑΓ¬¿ óÑασ¡Ñ⌐ úαá-
  357. ¡¿µδ ßó«í«ñ¡«⌐ »á¼∩Γ¿  ó  ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿
  358. (¡á ¡¿ª¡εε ÑÑ  úαá¡¿µπ  π¬áºδóáÑΓ ìÑápÉtr). çá¼ÑΓ¿¼, «ñ¡á¬«,
  359. τΓ« ¬«úñá ß¼ÑΘÑ¡¿Ñ ñ½∩ FreePtr αáó¡« 0, Γ« ñ½∩ »«½πτÑ¡¿∩ ¿ß-
  360. Γ¿¡¡«ú« π¬áºáΓѽ∩ ¡á óÑασ¡εε úαá¡¿µπ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩-
  361. Ѽ«⌐ «í½áßΓ¿ ¡πª¡« ¬ áñαÑßπ ßÑú¼Ñ¡Γá ñ«íáó¿Γ∞ $1000. (öá¬Γ¿-
  362. τÑ߬¿, áñαÑß ßÑú¼Ñ¡Γá ñ½∩ FrÑÑÉtr óßÑúñá ß«ñÑαª¿Γ áñαÑß ßÑú-
  363. ¼Ñ¡Γá ñ½∩ óÑασ¡Ñ⌐ úαá¡¿µδ »á¼∩Γ¿, ¼¿¡πß $1000.)
  364.      Åα¿ «ßó«í«ªñÑ¡¿¿ α∩ñá «Γ¼ÑτÑ¡¡δσ  π¬áºáΓѽ∩¼¿ ¡Ñ߼Ѫ¡δσ
  365. «í½áßΓÑ⌐ ß»¿ß«¬ ßó«í«ñ¡δσ í½«¬«ó  πóѽ¿τ¿óáÑΓß∩ (αáßΦ¿α∩ÑΓß∩
  366. 󡿺), τΓ«íδ «íαẫóáΓ∞ »α«ßΓαá¡ßΓó« ñ½∩ ºá»¿ß¿ ¬áªñ«ú« í½«-
  367. ¬á. Å«¬á ¼Ñªñπ π¬áºáΓѽ∩¼¿  ìÑápÉtr ¿ FrÑÑÉtr ¿¼ÑÑΓß∩ ñ«ßΓá-
  368. Γ«τ¡«Ñ »α«ßΓαá¡ßΓó«, »α«í½Ñ¼ ¡Ñ ó«º¡¿¬áÑΓ. Äñ¡á¬«, ¬«úñá ñ¿-
  369. ¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽá∩  «í½áßΓ∞  »«τΓ¿ ºá»«½¡Ñ¡á, Γ« ¼«ªÑΓ
  370. «í¡áαπª¿Γß∩ ¡ÑσóáΓ¬á  »α«ßΓαá¡ßΓóá  ñ½∩ í«½∞Φ«ú« ß»¿ß¬á ßó«-
  371. í«ñ¡δσ í½«¬«ó. Åα¿ φΓ«¼ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ »α«¿ß-
  372. σ«ñ¿Γ «Φ¿í¬á.
  373.      ÅαÑñßΓáó¿¼, ó  τáßΓ¡«ßΓ¿,  τΓ«  ß»¿ß«¬ ßó«í«ñ¡δσ í½«¬«ó
  374. »πßΓ, á ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽá∩ «í½áßΓ∞  »«τΓ¿ ºá»«½¡Ñ¡á.
  375. é Γᬫ⌐ ß¿Γπᵿ¿  «íó«í«ªñÑ¡¿Ñ  α∩ñá  «Γ¼ÑτÑ¡¡δσ π¬áºáΓѽ∩¼¿
  376. í½«¬«ó, «Γ½¿τ¡δσ «Γ Γ«ú«, ¡á ¬«Γ«αδ⌐ ßßδ½áÑΓß∩ ßá¼δ⌐ óÑασ¡¿⌐
  377. π¬áºáΓѽ∞, »α¿óÑñÑΓ ¬ αáßΦ¿αÑ¡¿ε í½«¬«ó ñ½∩ ß»¿ß¬á ßó«í«ñ¡δσ
  378. í½«¬«ó.
  379.      ùΓ«íδ »αÑñ«ΓóαáΓ¿Γ∞ ¿½¿ »αÑñó¿ñÑΓ∞ »«ñ«í¡δÑ »α«í½Ñ¼δ, ó
  380. »α«úαἼѠ ñ¿¡á¼¿τÑ߬«ú«  αáß»αÑñѽѡ¿∩ »á¼∩Γ¿ »αÑñπß¼«ΓαÑ¡á
  381. »ÑαѼѡ¡á∩ ñ½¿¡«⌐  ó  ß½«ó«  ß ¿¼Ñ¡Ñ¼ FrÑÑîin, ¬«Γ«απε ¼«ª¡«
  382. ¿ß»«½∞º«óáΓ∞  ñ½∩  π»αáó½Ñ¡¿∩ ¼¿¡¿¼á½∞¡« ñ«»πßΓ¿¼δ¼ αẼÑα«¼
  383. «í½áßΓ¿ »á¼∩Γ¿ ¼Ñªñπ ìÑápÉtr ¿ FrÑÑÉtr. éδ ¡Ñ ¼«ªÑΓÑ ¿ß»«½∞-
  384. º«óáΓ∞ »α«µÑñπαδ New ¿½¿  GetîѼ ñ½∩ Γ«ú«, τΓ«íδ «ΓóÑßΓ¿ ñ½∩
  385. »ÑαѼѡ¡«⌐ Γá¬πε »á¼∩Γ∞,  ¬«Γ«αá∩ π¼Ñ¡∞Φ¿½á íδ αẼÑα ñá¡¡«⌐
  386. «í½áßΓ¿  ñ«  º¡áτÑ¡¿∩  ¼Ñ¡∞ΦÑú«,  τѼ   FrÑÑîin.   Åα«µÑñπαδ
  387. MemAvail ¿ îáσAvail ΓᬪѠ»ÑαÑñ ó«ºóαáΘÑ¡¿Ñ¼ ßó«¿σ αѺπ½∞Γá-
  388. Γ«ó óδτ¿ΓáεΓ º¡áτÑ¡¿Ñ FrÑÑîin ¿º αẼÑαá φΓ«⌐ «í½áßΓ¿.
  389.      ç¡áτÑ¡¿Ñ, ß«σαá¡∩Ѽ«Ñ ó »ÑαѼѡ¡«⌐ FrÑÑîin »αÑñßΓáó½∩ÑΓ
  390. ß«í«⌐ αẼÑα «í½áßΓ¿ ó íá⌐Γáσ.  ä½∩ «íÑß»ÑτÑ¡¿∩ »α«ßΓαá¡ßΓóá
  391. ñ½∩ ºáñá¡¡«ú« τ¿ß½á ºá»¿ßÑ⌐ ß»¿ß¬á ßó«í«ñ¡δσ í½«¬«ó π¼¡«ª∞ΓÑ
  392. φΓ« τ¿ß½« ¡á 8 ¿ ß«σαá¡¿ΓÑ ó »ÑαѼѡ¡«⌐ FrÑÑîin.
  393.      çᬽετ¿Γѽ∞¡«Ñ ºá¼Ñτá¡¿Ñ »« ß»¿ß¬π ßó«í«ñ¡δσ í½«¬«ó ¬á-
  394. ßáÑΓß∩ »«ΓÑ¡µ¿á½∞¡«⌐ »α«í½Ñ¼δ Σαáú¼Ñ¡Γᵿ¿.  æΓѻѡ∞ ñÑΓ὿-
  395. ºáµ¿¿   ñ½∩  »α«úαá¼¼δ  ñ¿¡á¼¿τÑ߬«ú«  αáß»αÑñѽѡ¿∩  »á¼∩Γ¿
  396. ß«ßΓáó½∩ÑΓ 1 íá⌐Γ, Γ« ÑßΓ∞,  Ñß½¿ óδ «Γó«ñ¿ΓÑ ñ½∩ »ÑαѼѡ¡«⌐
  397. 1 íá⌐Γ, Γ« «¡á íπñÑΓ  ºá¡¿¼áΓ∞  φëà 1 íá⌐Γ.  é í«½∞Φ¿¡ßΓóÑ
  398. ß½πτáÑó, «ß«íÑ¡¡« »α¿ ¿ß»«½∞º«óá¡¿¿ »α«µÑñπα îárk ¿ RÑlÑásÑ,
  399. ¿½¿ ¬«úñá ¡Ñ »α«¿ºó«ñ¿Γß∩ ¡¿¬á¬¿σ «ßó«í«ªñÑ¡¿⌐, φΓ«  «íÑß»Ñ-
  400. τ¿óáÑΓ «»Γ¿¼á½∞¡«Ñ ¿ß»«½∞º«óá¡¿Ñ ñ«ßΓπ»¡«⌐  »á¼∩Γ¿.  Äñ¡á¬«,
  401. φΓ« ΓᬪѠ¼«ªÑΓ «¬áºáΓ∞ß∩ «í¼á¡τ¿óδ¼.
  402.      Åα¿ ß½πτá⌐¡«¼  ºá¡∩Γ¿¿  ¿  «ßó«í«ªñÑ¡¿¿  í«½∞Φ«ú« τ¿ß½á
  403. í½«¬«ó αẽ¿τ¡«ú«  αẼÑαá,  ¬á¬,  ¡á»α¿¼Ñα,  »α¿  αáí«ΓÑ ß«
  404. ßΓ᫬«ó묨 ºá»¿ß∩¼¿ ó »α«úαἼѠ«íαáí«Γ¬¿ ΓѬßΓ«ó, ó αѺπ½∞-
  405. ΓáΓÑ íπñÑΓ »«½πτÑ¡« «τÑ¡∞ í«½∞Φ«Ñ ¬«½¿τÑßΓó« ¡Ñí«½∞Φ¿σ ¡Ñºá-
  406. ¡∩Γδσ í½«¬«ó, τΓ« ¼«ªÑΓ »α¿óÑßΓ¿ ¬ »ÑαÑ»«½¡Ñ¡¿ε  ß»¿ß¬á ßó«-
  407. í«ñ¡δσ í½«¬«ó. é ¬áτÑßΓóÑ »α¿¼Ñαá »αÑñ»«½«ª¿¼, τΓ« ºá¡¿¼áÑΓ-
  408. ß∩ ¿ «ßó«í«ªñáÑΓß∩ í½«¬ αẼÑα«¼ 50 íá⌐Γ«ó.  Å«ß½Ñ Ñú« «ßó«-
  409. í«ªñÑ¡¿∩ ºá»¿ß∞ « ¡Ñ¼ ó¬½ετáÑΓß∩ ó ß»¿ß«¬  ßó«í«ñ¡δσ í½«¬«ó.
  410. àß½¿ ó ñá½∞¡Ñ⌐ΦѼ  »«ΓαÑíπÑΓß∩  í½«¬  αẼÑα«¼ 49 íá⌐Γ«ó, Γ«
  411. ñá¡¡δ⌐ í½«¬ íπñÑΓ  »«óΓ«α¡«  ¿ß»«½∞º«óá¡.  Åα¿ φΓ«¼ ó ß»¿ß¬Ñ
  412. ßó«í«ñ¡δσ í½«¬«ó «ßΓá¡ÑΓß∩ ºá»¿ß∞ « ¡Ñºá¡∩Γ«¼ í½«¬Ñ ñ½¿¡«⌐ ó
  413. 1 íá⌐Γ.  Å«¬á  ¡Ñ  íπñÑΓ  «ßó«í«ªñÑ¡ «ñ¿¡ ¿º ß«ßÑñ¡¿σ í½«¬«ó
  414. (»α¿ φΓ«¼ í½«¬ ñ½¿¡«⌐ ó 1  íá⌐Γ ß«½∞ÑΓß∩ ó í«½∞Φ¿⌐ í½«¬) óÑ-
  415. α«∩Γ¡«ßΓ∞  ¿ß»«½∞º«óá¡¿∩  í½«¬á ñ½¿¡«⌐ ó  1 íá⌐Γ «τÑ¡∞ ¼á½á.
  416. Æá¬¿¼ «íαẫ¼, φΓᠺỿß∞ íπñÑΓ ¡áσ«ñ¿Γß∩ ó ß»¿ß¬Ñ ßó«í«ñ¡δσ
  417. í½«¬«ó ó ΓÑτÑ¡¿¿ »α«ñ«½ª¿Γѽ∞¡«ú« óαѼѡ¿, Ñß½¿ ó««íΘÑ ¡Ñ ñ«
  418. ¬«¡µá αáí«Γδ »α«úαá¼¼δ.
  419.  
  420.      àß½¿ ó  αѺπ½∞ΓáΓÑ  φΓ«ú« ó«º¡¿¬áÑΓ »ÑαÑ»«½¡Ñ¡¿Ñ ß»¿ß¬á
  421. ßó«í«ñ¡δσ í½«¬«ó, Γ«  ñ½∩  «¬απú½Ñ¡¿∩ ó  ßΓ«α«¡π  πóѽ¿τÑ¡¿∩
  422. αẼÑαá, «»αÑñѽ∩Ѽ«ú« »α¿ ¬áªñ«¼ ó맮óÑ  »α«µÑñπα  GetîѼ ¿
  423. FrÑÑîѼ (π¼¡«ªÑ¡¿∩ Ñú« ¡á ¬á¬«Ñ-½¿í« τ¿ß½«) óδ ¼«ªÑΓÑ óóÑßΓ¿
  424. "¬«φΣΣ¿µ¿Ñ¡Γ αáºñα«í½Ñ¡¡«ßΓ¿". é «íΘѼ  ß½πτáÑ, τѼ óδΦÑ φΓ«
  425. τ¿ß½«, ΓѼ ¼Ñ¡ÑÑ óÑα«∩Γ¡«  ó«º¡¿¬¡«óÑ¡¿Ñ ¡Ñ¿ß»«½∞ºπѼδσ ßó«-
  426. í«ñ¡δσ í½«¬«ó.  ä½∩ Γ«ú«, τΓ«íδ φΓ« ßñѽáΓ∞, óá¼ »«ΓαÑíπÑΓß∩
  427. ß«ßΓáó¿Γ∞ ßó«¿ ß«íßΓóÑ¡¡δÑ »α«úαá¼¼δ GetîѼ ¿ FrÑÑîѼ, ¬«Γ«-
  428. αδÑ íπñπΓ ¿º¼Ñ¡∩Γ∞ »áαá¼ÑΓα Size ¿ ºáΓѼ «íαáΘáΓ∞ß∩ ¬ »α«µÑ-
  429. ñπαá¼ SystѼ.GetîѼ ¿ SystѼ.FrÑÑîѼ:
  430.  
  431.  procedure MyGetMem(var p: pointer; Size: word)
  432.  begin
  433.    Size := Size div 16*16  { ¡á¿¼Ñ¡∞Φ¿⌐ αẼÑα - 16 íá⌐Γ«ó }
  434.    System.GetMem(p,Size);
  435. end;
  436.  
  437.                    öπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿
  438.           ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »á¼∩Γ¿
  439.  
  440.      ÉÑ὿º«óáΓ∞ Σπ¡¬µ¿ε «íαáí«Γ¬¿  «Φ¿í¬¿  ñ¿¡á¼¿τÑ߬¿ αáß-
  441. »αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ ¼«ª¡«ß »«¼«Θ∞ε »ÑαѼѡ¡«⌐ ìÑápàrror. ¥Γá
  442. Σπ¡¬µ¿∩ óδºδóáÑΓß∩ ¬áªñδ⌐ αáº, ¬«úñá »α«úαá¼¼á ñ¿¡á¼¿τÑ߬«ú«
  443. αáß»αÑñѽѡ¿∩ »á¼∩Γ¿ ¡Ñ ¼«ªÑΓ óδ»«½¡¿Γ∞ ºá»α«ß  ¡á óδñѽѡ¿Ñ
  444. »á¼∩Γ¿. ìÑápàrror ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ, ¬«Γ«αδ⌐  ßßδ½áÑΓß∩ ¡á
  445. Σπ¡¬µ¿ε ß« ß½ÑñπεΘ¿¼ ºáú«½«ó¬«¼:
  446.  
  447.   {$F+} function HeapFunc(Size: word): integer; {$F-}
  448.  
  449.      çá¼ÑΓ¿¼,  τΓ«  ñ¿αÑ¬Γ¿óá  ¬«¼»¿½∩Γ«αá  {$F+}  π¬áºδóáÑΓ
  450. Σπ¡¬µ¿¿ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿
  451. ¡Ñ ¡Ñ«íσ«ñ¿¼«ßΓ∞ ¿ß»«½∞º«óáΓ∞ ñá½∞¡¿Ñ «íαáΘÑ¡¿∩.
  452.      öπ¡¬µ¿∩ «íαáí«Γ¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐  «í-
  453. ½áßΓ¿ αÑ὿ºπÑΓß∩ »πΓѼ  »α¿ßóá¿óá¡¿∩ ÑÑ  áñαÑßá  »ÑαѼѡ¡«⌐
  454. ìÑápàror:
  455.  
  456.   HeapError := @HeapFunc;
  457.  
  458.      öπ¡¬µ¿∩ «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í-
  459. ½áßΓ¿ »«½πτáÑΓ π»αáó½Ñ¡¿Ñ, ¬«úñá »α¿ «íαáΘÑ¡¿¿  ¬ »α«µÑñπαá¼
  460. New ¿½¿ GetîѼ ºá»α«ß ¡Ñ ¼«ªÑΓ íδΓ∞ óδ»«½¡Ñ¡.  Åáαá¼ÑΓα Size
  461. ß«ñÑαª¿Γ αẼÑα í½«¬á, ñ½∩ ¬«Γ«α«ú« ¡Ñ «¬áºá½«ß∞ «í½áßΓ¿ »á-
  462. ¼∩Γ¿ ß««ΓóÑΓßΓóπεΘÑú« αẼÑαá,  ¿ Σπ¡¬µ¿∩  «íαáí«Γ¬¿  «Φ¿í¬¿
  463. ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ »α«¿ºóÑñÑΓ »«»δΓ¬π  «ßó«-
  464. í«ªñÑ¡¿∩ í½«¬á, αẼÑα ¬«Γ«α«ú« ¡Ñ ¼Ñ¡∞ΦÑ ñá¡¡«ú« αẼÑαá.
  465.      é ºáó¿ß¿¼«ßΓ¿ «Γ πß»Ñσá óδ»«½¡Ñ¡¿∩ φΓ«⌐ »«»δΓ¬¿ Σπ¡¬µ¿∩
  466. «íαáí«Γ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿  ó«ºóαá-
  467. ΘáÑΓ º¡áτÑ¡¿∩ 0, 1 ¿½¿ 2. é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 0 ßó¿ñÑΓѽ∞-
  468. ßΓóπÑΓ « ¡Ñπñáτ¡«⌐ »«»δΓ¬Ñ, τΓ« ¡Ñ¼Ññ½Ñ¡¡«  »α¿ó«ñ¿Γ ó  ó«º-
  469. ¡¿¬¡«óÑ¡¿ε «Φ¿í¬¿ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ.  é«ºóαáΘáÑ-
  470. ¼«Ñ º¡áτÑ¡¿Ñ 1 ΓᬪѠßó¿ñÑΓѽ∞ßΓóπÑΓ « ¡Ñπñáτ¡«⌐ »«»δΓ¬Ñ, ¡«
  471. ó¼ÑßΓ« «Φ¿í¬¿ ó« óαѼ∩ óδ»«½Ñ¡¿∩ «¡«  »α¿ó«ñ¿Γ ¬  Γ«¼π,  τΓ«
  472. »α«µÑñπαδ GetîѼ ¿½¿ FrÑÑîѼ ó«ºóαáΘáεΓ π¬áºáΓѽ∞ nil. ìᬫ-
  473. ¡Ñµ, ó«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 2 ßó¿ñÑΓѽ∞ßΓóπÑΓ «í πñáτ¡«⌐  »«-
  474. »δΓ¬Ñ ¿ óδºδóáÑΓ »«óΓ«α¡πε »«»δΓ¬π óδñѽ¿Γ∞ »á¼∩Γ∞  (¬«Γ«αá∩
  475. ΓᬪѠ¼«ªÑΓ »α¿óÑßΓ¿ ¬ ó맮óπ Σπ¡¬µ¿¿ «íαáí«Γ¿ «Φ¿í¬¿  ñ¿¡á-
  476. ¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿).
  477.      æΓá¡áñáαΓ¡á∩ «íαáí«Γ¬¿ Σπ¡¬µ¿∩ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿  αáß-
  478. »αÑñѽ∩Ѽ«⌐ «í½áßΓ¿ óßÑúñá ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ  0,  »α¿ó«ñ∩,
  479. Γᬿ¼ «íαẫ¼, ¬ «Φ¿í¬Ñ óß∩¬¿⌐ αáº, ¬«úñá ¡Ñ ¼«úπΓ íδΓ∞  óδ-
  480. »«½¡Ñ¡δ »α«µÑñπαδ New ¿½¿ GetîѼ. Äñ¡á¬« ñ½∩ ¼¡«ú¿σ »α¿¬½áñ-
  481. ¡δσ ºáñáτ í«½ÑÑ »«ñσ«ñ∩ΘÑ⌐ ∩ó½∩ÑΓß∩ »α«ßΓá∩ Σπ¡¬µ¿∩ «íαáí«Γ-
  482. ¬¿ «Φ¿í¬¿ ñ¿¡á¼¿τÑ߬¿ αáß»αÑñѽ∩Ѽ«⌐ «í½áßΓ¿, »α¿¼Ñα ¬«Γ«α«⌐
  483. »α¿óÑñÑ¡ ¡¿ªÑ:
  484.  
  485.  {$F+} function HeapFunc(Size: word) integer; {$F-}
  486.  begin
  487.    HeapFunc := 1;
  488.  end;
  489.  
  490.      àß½¿  Γá¬á∩ Σπ¡¬µ¿∩ αÑ὿º«óá¡á, Γ« ó¼ÑßΓ« »α¿¡πñ¿Γѽ∞-
  491. ¡«ú« ºáóÑαΦÑ¡¿∩ αáí«Γδ »α«úαá¼¼δ ó ß¿Γπᵿ¿, ¬«úñá »α«µÑñπαδ
  492. New ¿½¿ GetîѼ ¡Ñ  ¼«úπΓ óδ»«½¡¿Γ∞ ºá»α«ß, «¡á íπñÑΓ ó«ºóαá-
  493. ΘáΓ∞ »πßΓ«⌐ π¬áºáΓѽ∞ (π¬áºáΓѽ∞ nil).
  494.  
  495.            ö«α¼áΓδ ó¡πΓαÑ¡¡Ñú« »αÑñßΓáó½Ñ¡¿∩ ñá¡¡δσ
  496.  
  497.                          ûѽδ⌐ Γ¿»
  498.  
  499.      ö«α¼áΓ, óδí¿αáѼδ⌐ ñ½∩  »αÑñßΓáó½Ñ¡¿∩ »ÑαѼѡ¡«⌐ µÑ½«ú«
  500. Γ¿»á, ºáó¿ß¿Γ «Γ ÑÑ ¼¿¡¿¼á½∞¡«⌐ ¿ ¼á¬ß¿¼á½∞¡«⌐ úαá¡¿µ:
  501.  
  502.      1.  àß½¿ «íÑ úαá¡¿µδ ¡áσ«ñ∩Γß∩  ó  ñ¿á»áº«¡Ñ  -128..127
  503.          (¬«α«Γ¬«Ñ µÑ½«Ñ), Γ«  »ÑαѼѡ¡á∩ σαá¡¿Γß∩, ¬á¬ íá⌐Γ
  504.          ß« º¡á¬«¼.
  505.      2.  àß½¿ «íÑ úαá¡¿µδ ¡áσ«ñ∩Γß∩ ó ñ¿á»áº«¡Ñ 0..255 (íá⌐-
  506.          Γ«óá∩ »ÑαѼѡ¡á∩), Γ«  »ÑαѼѡá∩ σαá¡¿Γß∩, ¬á¬ íá⌐Γ
  507.          íѺ º¡á¬á.
  508.      3.  àß½¿   «íÑ    úαá¡¿µδ    ¡áσ«ñ∩Γß∩    ó   ñ¿á»áº«¡Ñ
  509.          -32768..32767 (µÑ½«Ñ), Γ« »ÑαѼѡ¡á∩  σαá¡¿Γß∩, ¬á¬
  510.          ß½«ó« ß« º¡á¬«¼.
  511.      4.  àß½¿ «íÑ úαá¡¿µδ  ¡áσ«ñ∩Γß∩  ó  ñ¿á»áº«¡Ñ  0..65535
  512.          (»ÑαѼѡ¡á∩ ñ½¿¡«⌐  ó ß½«ó«), Γ« »ÑαѼѡ¡á∩ σαá¡¿Γ-
  513.          ß∩, ¬á¬ ß½«ó«.
  514.      5.  é »α«Γ¿ó¡«¼ ß½πτáÑ »ÑαѼѡ¡á∩ σαá¡¿Γß∩, ¬á¬ ñó«⌐¡«Ñ
  515.          ß½«ó« ß« º¡á¬«¼ (ñ½¿¡¡«Ñ µÑ½«Ñ).
  516.  
  517.                        æ¿¼ó«½∞¡δ⌐ Γ¿»
  518.  
  519.      æ¿¼ó«½∞¡δ⌐ Γ¿» ¿½¿ »«ññ¿á»áº«¡ ß¿¼ó«½∞¡«ú« Γ¿»á σαá¡¿Γ-
  520. ß∩, ¬á¬ íá⌐Γ íѺ º¡á¬á.
  521.  
  522.                        üπ½Ñó߬¿⌐ Γ¿»
  523.  
  524.      ç¡áτÑ¡¿∩ ¿ »ÑαѼѡ¡δÑ íπ½Ñó߬«ú« Γ¿»á ºá»«¼¿¡áεΓß∩, ¬á¬
  525. íá⌐Γ. Åα¿ φΓ«¼ »«ñαáºπ¼ÑóáεΓß∩, τΓ« «¡¿ ¼«úπΓ »α¿¡¿¼áΓ∞ º¡á-
  526. τÑ¡¿∩ 0 (FalsÑ) ¿½¿ 1 (ÆruÑ).
  527.  
  528.                       ÅÑαÑτ¿ß½¿¼δ⌐ Γ¿»
  529.  
  530.      ç¡áτÑ¡¿∩ »ÑαÑτ¿ß½¿¼«ú« Γ¿»á σαá¡∩Γß∩, ¬á¬ íá⌐Γ íѺ º¡á-
  531. ¬á, Ñß½¿ ¡π¼Ñαᵿ∩ ¡Ñ »αÑóδΦáÑΓ 256.  é »α«Γ¿ó¡«¼ ß½πτáÑ «¡¿
  532. σαá¡∩Γß∩, ¬á¬ ß½«ó« íѺ º¡á¬á.
  533.  
  534.                   Æ¿»δ ß »½áóáεΘÑ⌐ ºá»∩Γ«⌐
  535.  
  536.      Æ¿»δ º¡áτÑ¡¿⌐ ß »½áóáεΘÑ⌐ ºá»∩Γ«⌐ (óÑΘÑßΓóÑ¡¡δ⌐, ß «ñ¿-
  537. ¡áα¡«⌐ Γ«τ¡«ßΓ∞ε, ß ñó«⌐¡«⌐  Γ«τ¡«ßΓ∞ε,  ß »«óδΦÑ¡¡«⌐ Γ«τ¡«-
  538. ßΓ∞ε ¿½¿ ß½«ª¡δ⌐)  σαá¡∩Γß∩  ó  ó¿ñÑ ñó«¿τ¡«ú« »αÑñßΓáó½Ñ¡¿∩
  539. º¡á¬á (+ ¿½¿ -),  φ¬ß»«¡Ñ¡Γδ ¿ º¡áτáΘÑ⌐ τáßΓ¿ τ¿ß½á.  ÅαÑñß-
  540. Γáó½∩Ѽ«Ñ τ¿ß½« ¿¼ÑÑΓ º¡áτÑ¡¿Ñ:
  541.  
  542.   +/- º¡áτáΘá∩_τáßΓ∞ ò 2**φ¬ß»«¡Ñ¡Γá
  543.  
  544. úñÑ  º¡áτáΘá∩  τáßΓ∞  τ¿ß½á »αÑñßΓáó½∩ÑΓ ß«í«⌐ «Γñѽ∞¡δ⌐ í¿Γ
  545. ß½Ñóá «Γ ñó«¿τ¡«⌐  ñÑß∩Γ¿τ¡«⌐ ºá»∩Γ«⌐ (Γ« ÑßΓ∞ 0 <= º¡áτáΘá∩
  546. τáßΓ∞ <= 2).
  547.  
  548.       Åα¿¼Ñτá¡¿Ñ:  é ß½ÑñπεΘÑ⌐  ñá½ÑÑ ßσѼѠ߽Ñóá αáß»«½«ªÑ-
  549.       ¡δ ßΓáαΦ¿Ñ º¡áτáΘ¿Ñ í¿Γδ, á ß»αáóá - ¼½áñΦ¿Ñ  º¡áτáΘ¿Ñ
  550.       í¿Γδ.  æá¼«Ñ  ½Ñó«Ñ  º¡áτÑ¡¿Ñ σαá¡¿Γß∩ ó ßá¼δσ ßΓáαΦ¿σ
  551.       áñαÑßáσ. ìá»α¿¼Ñα, ñ½∩  º¡áτÑ¡¿∩  óÑΘÑßΓóÑ¡¡«ú« Γ¿»á e
  552.       ß«σαá¡∩ÑΓß∩ ó »Ñαó«¼ íá⌐ΓÑ, f - ó ß½ÑñπεΘ¿σ »∩Γ¿  íá⌐-
  553.       Γáσ, á s - ó ßΓáαΦѼ º¡áτáΘѼ í¿ΓÑ »«ß½Ññ¡Ñú« íá⌐Γá.
  554.  
  555.  
  556.                       éÑΘÑßΓóÑ¡¡δ⌐ Γ¿»
  557.  
  558.      ÿÑßΓ¿íá⌐Γ«ó«Ñ (48-í¿Γ«ó«Ñ) óÑΘÑßΓóÑ¡¡«Ñ τ¿ß½« »«ñαáºñÑ-
  559. ½∩ÑΓß∩ ¡á Γα¿ »«½∩:
  560.  
  561.    1                  39                      8     αẼÑα
  562.  ------------------------------------------------------
  563.  ! s  !                 f                !     e      !
  564.  ------------------------------------------------------
  565.       ßΓáαΦ¿Ñ í¿Γδ           ¼½áñΦ¿Ñ í¿Γδ           »«α∩ñ«¬
  566.  
  567.      ç¡áτÑ¡¿Ñ v τ¿ß½á «»αÑñѽ∩ÑΓß∩ ß »«¼«Θ∞ε óδαáªÑ¡¿⌐:
  568.  
  569.   if 0 < e <= 255, then v = (-1)**s * 2**(e-129)*(l.f).
  570.   if e = 0,        then v = 0.
  571.  
  572.       Åα¿¼Ñτá¡¿Ñ:  éÑΘÑßΓóÑ¡¡δ⌐  Γ¿» ¡Ñ ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩
  573.       ñ½∩ σαá¡Ñ¡¿∩  ¡Ñ¡«α¼á½¿º«óá¡¡δσ  τ¿ßѽ, á ΓᬪѠíÑ߬«-
  574.       ¡Ñτ¡« ¼á½δσ ¿ íÑ߬«¡Ñτ¡« í«½∞Φ¿σ º¡áτÑ¡¿⌐.  ìÑ¡«α¼á½¿-
  575.       º«óá¡¡«Ñ τ¿ß½« »α¿ ß«σαá¡Ñ¡¿¿ Ñú« ó ó¿ñÑ óÑΘÑßΓóÑ¡¡«ú«
  576.       »α¿¡¿¼áÑΓ ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ, á  íÑ߬«¡Ñτ¡« ¼á½δÑ ¿ íÑß-
  577.       ¬«¡Ñτ¡« í«½∞Φ¿Ñ º¡áτÑ¡¿∩ »α¿  »«»δΓ¬Ñ ¿ß»«½∞º«óáΓ∞ ñ½∩
  578.       ¿σ ºá»¿ß¿ Σ«α¼áΓ óÑΘÑßΓóÑ¡¡«ú« τ¿ß½á »α¿ó«ñ∩Γ ¬ «Φ¿í¬Ñ
  579.       »ÑαÑ»«½¡Ñ¡¿∩.
  580.  
  581.               Æ¿» τ¿ß½á ß «ñ¿¡áα¡«⌐ Γ«τ¡«ßΓ∞ε
  582.  
  583.      ùÑΓδαÑσíá⌐Γ«ó«Ñ  (32-í¿Γ«ó«Ñ)  τ¿ß½«  »«ñαáºñѽ∩ÑΓß∩ ¡á
  584. Γα¿ »«½∩:
  585.  
  586.    1         8                   23                αẼÑα
  587.  ------------------------------------------------------
  588.  ! s  !      e      !             f                   !
  589.  ------------------------------------------------------
  590.       ßΓáαΦ¿Ñ í¿Γδ                  ¼½áñΦ¿Ñ í¿Γδ  »«α∩ñ«¬
  591.  
  592.      ç¡áτÑ¡¿Ñ v φΓ«ú« τ¿ß½á «»αÑñѽ∩ÑΓß∩ ß »«¼«Θ∞ε óδαáªÑ-
  593. ¡¿⌐:
  594.  
  595.   if 0 < e < 255,      then v = (-1)**s * 2**(e-12) * (l.f).
  596.   if e = 0 and f <> 0, then v = (-1)**s * 2**(126) * (o.f).
  597.   if e = 0 and f = 0,  then v = (-1)**s * O.
  598.   if e = 255 and f = 0, then v = (-1)**s * Inf.
  599.   if e = 255 and f <> 0, then v = NaN.
  600.  
  601.                Æ¿» τ¿ß½á ß ñó«⌐¡«⌐ Γ«τ¡«ßΓ∞ε
  602.  
  603.      é«ß∞¼¿íá⌐Γ«ó«Ñ (64-í¿Γ«ó«Ñ) τ¿ß½« »«ñαáºñѽ∩ÑΓß∩ ¡á Γα¿
  604. »«½∩:
  605.  
  606.    1         11                  52                  αẼÑα
  607.  ------------------------------------------------------
  608.  ! s  !      e      !             f                   !
  609.  ------------------------------------------------------
  610.       ßΓáαΦ¿Ñ í¿Γδ           ¼½áñΦ¿Ñ í¿Γδ           »«α∩ñ«¬
  611.  
  612.      ç¡áτÑ¡¿Ñ v φΓ«ú« τ¿ß½á «»αÑñѽ∩ÑΓß∩ ß  »«¼«Θ∞ε  óδαáªÑ-
  613. ¡¿⌐:
  614.  
  615.   if 0 < e < 2047,   then v = (-1)**s * 2**(e-1023) * (l.f).
  616.   if e = 0 and f <> 0, then v = (-1)**s * 2**(1022) * (o.f).
  617.   if e = 0 and f = 0,  then v = (-1)**s * O.
  618.   if e = 2047 and f = 0, then v = (-1)**s * Inf.
  619.   if e = 2047 and f <> 0, then v = NaN.
  620.  
  621.                Æ¿» τ¿ß½á ß »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε
  622.  
  623.      äÑß∩Γ¿íá⌐Γ«ó«Ñ (80-í¿Γ«ó«Ñ) τ¿ß½« »«ñαáºñѽ∩ÑΓß∩ ¡á τÑ-
  624. ΓδαÑ »«½∩:
  625.  
  626.    1         15                  63                  αẼÑα
  627.  ------------------------------------------------------
  628.  ! s  !      e      !             f                   !
  629.  ------------------------------------------------------
  630.       ßΓáαΦ¿Ñ í¿Γδ           ¼½áñΦ¿Ñ í¿Γδ           »«α∩ñ«¬
  631.  
  632.      ç¡áτÑ¡¿Ñ v φΓ«ú« τ¿ß½á «»αÑñѽ∩ÑΓß∩ ß »«¼«Θ∞ε óδαáªÑ-
  633. ¡¿⌐:
  634.  
  635.  if 0 < e < 32767,  then v = (-1)**s * 2**(e-1023) * (l.f).
  636.   if e = 32767 and f = 0, then v = (-1)**s * Inf.
  637.   if e = 32767 and f <> 0, then v = NaN.
  638.  
  639.                         æ½«ª¡δ⌐ Γ¿»
  640.  
  641.      é«ß∞¼¿íá⌐Γ«ó«Ñ (64-í¿Γ«ó«Ñ) τ¿ß½« ß½«ª¡«ú« Γ¿»á »«ñαáº-
  642. ñѽ∩ÑΓß∩ ¡á ñóá »«½∩:
  643.  
  644.    1                             63                  αẼÑα
  645.  ------------------------------------------------------
  646.  ! s  !                     d                         !
  647.  ------------------------------------------------------
  648.       ßΓáαΦ¿Ñ í¿Γδ                   ¼½áñΦ¿Ñ í¿Γδ   »«α∩ñ«¬
  649.  
  650.      ç¡áτÑ¡¿Ñ  v  φΓ«ú« τ¿ß½á «»αÑñѽ∩ÑΓß∩ ß »«¼«Θ∞ε óδαáªÑ-
  651. ¡¿⌐:
  652.  
  653.   if s = 1 and d = 0, then v = NaN.
  654.  
  655. ó »α«Γ¿ó¡«¼ ß½πτáÑ v »αÑñßΓáó½∩ÑΓ ß«í«⌐ 64-í¿Γ«ó«Ñ º¡áτÑ¡¿Ñ,
  656. ∩ó½∩εΘÑÑß∩ ñ«»«½¡Ñ¡¿Ñ¼ ñ« ñóπσ.
  657.  
  658.                   ç¡áτÑ¡¿∩ Γ¿»á π¬áºáΓѽ∞
  659.  
  660.      ç¡áτÑ¡¿Ñ Γ¿»á  π¬áºáΓѽ∞ σαá¡¿Γß∩ ó ó¿ñÑ ñó«⌐¡«ú« ß½«óá,
  661. »α¿ φΓ«¼ ß¼ÑΘÑ¡¿Ñ σαá¡¿Γß∩ ó ¼½áñΦѼ ß½«óÑ, á áñαÑß ßÑú¼Ñ¡Γá
  662. - ó ßΓáαΦѼ ß½«óÑ. ç¡áτÑ¡¿Ñ  π¬áºáΓѽ∩ nil  σαá¡¿Γß∩ ó  ó¿ñÑ
  663. ñó«⌐¡«ú« ß½«óá, ºá»«½¡Ñ¡¡«ú« 0.
  664.  
  665.                   ç¡áτÑ¡¿∩ ßΓ᫬«ó«ú« Γ¿»á
  666.  
  667.      æΓα«¬á ºá¡¿¼áÑΓ ßΓ«½∞¬« íá⌐Γ, ¬á¬«óá ¼á¬ß¿¼á½∞¡á∩ ñ½¿¡á
  668. ßΓ᫬¿, »½εß «ñ¿¡ íá⌐Γ. ÅÑαóδ⌐ íá⌐Γ ß«ñÑαª¿Γ ΓѬπΘπε ñ¿¡á¼¿-
  669. τÑ߬πε  ñ½¿¡π  ßΓ᫬¿, á  »«ß½ÑñπεΘ¿Ñ íá⌐Γδ ß«ñÑαªáΓ ß¿¼ó«½δ
  670. ßΓ᫬¿.  ü¿Γ  ñ½¿¡δ  ¿ ß¿¼ó«½δ αáßß¼áΓα¿óáεΓß∩, ¬á¬ º¡áτÑ¡¿∩
  671. íѺ º¡á¬á.  îá¬ß¿¼á½∞¡á∩  ñ½¿¡á ßΓ᫬¿ - 255  ß¿¼ó«½«ó, »½εß
  672. íá⌐Γ ñ½¿¡δ (string[255]).
  673.  
  674.                 ç¡áτÑ¡¿∩ ¼¡«ªÑßΓóÑ¡¡«ú« Γ¿»á
  675.  
  676.      î¡«ªÑßΓó« - φΓ« ¼áßß¿ó í¿Γ«ó, ó ¬«Γ«α«¼ ¬áªñδ⌐ í¿Γ π¬á-
  677. ºδóáÑΓ,  ∩ó½∩ÑΓß∩  φ½Ñ¼Ñ¡Γ  »α¿¡áñ½ÑªáΘ¿¼ ¼¡«ªÑßΓóπ ¿½¿ ¡ÑΓ.
  678. îá¬ß¿¼á½∞¡«Ñ τ¿ß½« φ½Ñ¼Ñ¡Γ«ó ¼¡«ªÑßΓóá -  256,  ΓᬠτΓ« ¼¡«-
  679. ªÑßΓó« ¡¿¬«úñá ¡Ñ ¼«ªÑΓ ºá¡¿¼áΓ∞ í«½ÑÑ 32 íá⌐Γ«ó. ù¿ß½« íá⌐-
  680. Γ«ó, ºá¡∩Γδσ «Γñѽ∞¡δ¼ ¼¡«ªÑßΓó«¼, óδτ¿ß½∩ÑΓß∩, ¬á¬:
  681.  
  682.   ByteSize = (Max div 8) - (Min div 8) + 1
  683.  
  684. úñÑ îin ¿ îáσ - ¡¿ª¡∩∩ ¿ óÑασ¡∩∩ úαá¡¿µá íẫó«ú« Γ¿»á φΓ«ú«
  685. ¼¡«ªÑßΓóá. ì«¼Ñα íá⌐Γá ñ½∩ ¬«¡¬αÑΓ¡«ú« φ½Ñ¼Ñ¡Γá à óδτ¿ß½∩ÑΓ-
  686. ß∩ »« Σ«α¼π½Ñ:
  687.  
  688.   ByteNumber = (E div 8) - (Min div 8)
  689.  
  690. á ¡«¼Ñα í¿Γá ó¡πΓα¿ φΓ«ú« íá⌐Γá »« Σ«α¼π½Ñ:
  691.  
  692.   BitNumber = E mod 8
  693.  
  694.                     ç¡áτÑ¡¿∩ Γ¿»á ¼áßß¿ó
  695.  
  696.      îáßß¿ó σαá¡¿Γß∩ ó ó¿ñÑ  ¡Ñ»αÑαδó¡«⌐  »«ß½Ññ«óáΓѽ∞¡«ßΓ¿
  697. »ÑαѼѡ¡δσ, ¬áªñá∩ ¿º ¬«Γ«αδσ  ¿¼ÑÑΓ Γ¿» ¼áßß¿óá. ¥½Ñ¼Ñ¡Γδ ß
  698. ¡á¿¼Ñ¡∞Φ¿¼¿  ¿¡ñѬßἿ  σαá¡∩Γß∩  ó  ¼½áñΦ¿σ áñαÑßáσ »á¼∩Γ¿.
  699. î¡«ú«¼Ñα¡δ⌐   ¼áßß¿ó  σαá¡¿Γß∩  Γᬿ¼  «íαẫ¼,  τΓ«  »αáóδ⌐
  700. ¿¡ñѬߠó«ºαáßΓáÑΓ íδßΓαÑÑ.
  701.  
  702.                     ç¡áτÑ¡¿∩ Γ¿»á ºá»¿ß∞
  703.  
  704.      Å«½∩ ºá»¿ß¿ σαá¡∩Γß∩,  ¬á¬  ¡Ñ»αÑαδó¡á∩  »«ß½Ññ«óáΓѽ∞-
  705. ¡«ßΓ∞ »ÑαѼѡ¡δσ. ÅÑαó«Ñ »«½Ñ σαá¡¿Γß∩ ó ¼½áñΦ¿σ áñαÑßáσ »á-
  706. ¼∩Γ¿.  àß½¿ ó  ºá»¿ß¿  ß«ñÑαªáΓß∩ αẽ¿τ¡δÑ τáßΓ¿, Γ« ¬áªñá∩
  707. τáßΓ∞ ¡áτ¿¡áÑΓß∩ ß «ñ¡«ú« ¿ Γ«ú« ªÑ áñαÑßá »á¼∩Γ¿.
  708.  
  709.                   ç¡áτÑ¡¿∩ Σá⌐½«ó«ú« Γ¿»á
  710.  
  711.      ç¡áτÑ¡¿∩ Σá⌐½«ó«ú« Γ¿»á  »αÑñßΓáó½∩εΓß∩ ó ó¿ñÑ  ºá»¿ßÑ⌐.
  712. Æ¿»¿º«óá¡¡δÑ ¿ ¡ÑΓ¿»¿º«óá¡¡δÑ Σá⌐½δ ºá¡¿¼áεΓ 128 íá⌐Γ«ó,  ¬«-
  713. Γ«αδÑ αáß»«½áúáεΓß∩ »« ß½ÑñπεΘÑ⌐ ßσѼÑ:
  714.  
  715.  type
  716.    FileRec = record
  717.                Handle     : word;  { «íαáí«Γ¬á }
  718.                Mode       : word;  { αѪ¿¼ }
  719.                RecSize    : word;  { αẼÑα ºá»¿ß¿ }
  720.                Private    : array[1..26] of byte;
  721.                UserData   : array[1..16] of byte;
  722.                Name       : array[0..79] of char;
  723.              end;
  724.  
  725.      ÆÑ¬ßΓ«óδÑ Σá⌐½δ ºá¡¿¼áεΓ 256 íá⌐Γ«ó ß« ß½ÑñπεΘÑ⌐ ßσѼ«⌐
  726. αáß»«½«ªÑ¡¿∩:
  727.  
  728.   type
  729.     CharBuf = array[0..127] of char;
  730.     TextRec = record
  731.                 Handle     : word;
  732.                 Mode       : word;
  733.                 BufSize    : word;
  734.                 Private    : word;
  735.                 BufPos     : word;
  736.                 BufEnd     : word;
  737.                 BufPtr     : ^CharBuf;
  738.                 OpenFunc   : pointer;
  739.                 InOutFunc  : pointer;
  740.                 FlushFunc  : pointer;
  741.                 CloseFunc  : pointer;
  742.                 UserData   : array[1..16] of byte;
  743.                 Name       : array[0..79] of char;
  744.                 Buffer     : CharBuf;
  745.              end;
  746.  
  747.      é  »ÑαѼѡ¡«⌐  ìándlÑ  ß«ñÑনΓß∩  ¡«¼Ñα  ¬á¡á½á  Σá⌐½á
  748. (¬«úñá Σá⌐½ «Γ¬αδΓ). ¥Γ« º¡áτÑ¡¿Ñ ó«ºóαáΘáÑΓß∩ äÄæ.
  749.      Å«½Ñ î«dÑ ßτ¿ΓáÑΓß∩ αáó¡δ¼ «ñ¡«¼π ¿º  ß½ÑñπεΘ¿σ  º¡áτÑ-
  750. ¡¿⌐:
  751.  
  752.  const
  753.    fmClosed = $D7B0;
  754.    fmInput  = $D7B1;
  755.    fmOutput = $D7B2;
  756.    fmInOut  = $D7B3;
  757.  
  758.      ç¡áτÑ¡¿Ñ fmClosed »«¬áºδóáÑΓ, τΓ« Σá⌐½ ºá¬αδΓ. ç¡áτÑ¡¿∩
  759. fmInput ¿  fmOutput  »«¬áºδóáεΓ, τΓ« Σá⌐½ ∩ó½∩ÑΓß∩ ΓѬßΓ«óδ¼
  760. Σá⌐½«¼  ¿  τΓ«  ñ½∩  ¡Ñú«  íδ½á  óδ»«½¡Ñ¡á  »α«µÑñπαá  Reset
  761. (fmInput) ¿½¿ Rewrite (fmOutput). ç¡áτÑ¡¿Ñ fmOutput  »«¬áºδ-
  762. óáÑΓ, τΓ« »ÑαѼѡ¡á∩ Σá⌐½«ó«ú«  Γ¿»á  ∩ó½∩ÑΓß∩  Γ¿»¿º«óá¡¡δ¼
  763. ¿½¿ ¡ÑΓ¿»¿º«óá¡¡δ¼ Σá⌐½«¼, ñ½∩ ¬«Γ«α«ú« íδ½á óδ»«½¡Ñ¡á  »α«-
  764. µÑñπαá Reset ¿½¿ Rewrite.  ïεí«Ñ  ñαπú«Ñ  º¡áτÑ¡¿Ñ ú«ó«α¿Γ «
  765. Γ«¼, τΓ« ñ½∩ Σá⌐½«ó«⌐ »ÑαѼѡ¡«⌐ »α¿ßóá¿óá¡¿Ñ ¡Ñ í佫 óδ»«½-
  766. ¡Ñ¡« (¿ «¡á, Γᬿ¼ «íαẫ¼, ¡Ñ ¿¡¿µ¿á½¿º¿α«óá¡á).
  767.      Å«½Ñ UserData  ó  Æπαí«-Åá߬á½Ñ  ¡Ññ«ßΓπ»¡« ¿ »«½∞º«óá-
  768. Γѽ∞߬¿Ñ »α«úαá¼¼δ ¼«úπΓ ß«σαá¡∩Γ∞ ó ¡Ñ¼ ñá¡¡δÑ.
  769.      Å«½Ñ Ná¼Ñ ß«ñÑαª¿Γ ¿¼∩ Σá⌐½á, ¬«Γ«α«Ñ  »αÑñßΓáó½∩ÑΓ ß«-
  770. í«⌐ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ ß¿¼ó«½«ó, «¬á¡τ¿óáεΘπεß∩ ¡π½Ñóδ¼ ß¿¼-
  771. 󫽫¼ (#0).
  772.      ä½∩ Γ¿»¿º«óá¡¡δσ  ¿ ¡ÑΓ¿»¿º«óá¡¡δσ »«½Ñ⌐ RÑßSizÑ ß«ñÑα-
  773. ª¿Γ ñ½¿¡π  ºá»¿ß¿  ó íá⌐Γáσ, á »«½Ñ Érivate ºáαѺÑαó¿α«óá¡«,
  774. ¡« ∩ó½∩ÑΓß∩ ßó«í«ñ¡δ¼.
  775.      ä½∩ ΓѬßΓ«óδσ  Σá⌐½«ó éufPtr ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á íπ-
  776. ΣÑα αẼÑα«¼  éufSize, éufÉ«s »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¿¡ñѬߠ߽Ñ-
  777. ñπεΘÑú«  ß¿¼ó«½á  ó íπΣÑαÑ,  ¬«Γ«αδ⌐ ñ«½ªÑ¡ íδΓ∞ ºá»¿ßá¡ ¿½¿
  778. »α«τ¿Γá¡, á éufànd -  ßτÑΓτ¿¬  ñ«»πßΓ¿¼δσ ß¿¼ó«½«ó ó íπΣÑαÑ.
  779. ô¬áºáΓѽ¿   OpenFunc,   InOutFunc,   FlushFunc  ¿  CloseFunc
  780. ß½πªáΓ ñ½∩ ßß佬¿ ¡á »α«úαá¼¼δ  óó«ñá-óδó«ñá  ¿ ¿ß»«½∞ºπεΓß∩
  781. ñ½∩ π»αáó½Ñ¡¿∩  Σá⌐½«¼.  é «ñ¡«¼ ¿º ß½ÑñπεΘ¿σ ñá½ÑÑ αáºñѽ«ó
  782. »«ñ ºáú½áó¿Ñ¼ "äαá⌐óÑαδ πßΓα«⌐ßΓó ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó" »α¿-
  783. ó«ñ¿Γß∩ ñ«»«½¡¿Γѽ∞¡á∩ ¿¡Σ«α¼áµ¿∩ »« φΓ«¼π ó«»α«ßπ.
  784.  
  785.                       Åα«µÑñπα¡δÑ Γ¿»δ
  786.  
  787.      Åα«µÑñπα¡δÑ Γ¿»δ σαá¡∩Γß∩ ó ó¿ñÑ  ñó«⌐¡«ú«  ß½«óá.  Åα¿
  788. φΓ«¼  ß  ¼½áñΦѼ  ß½«óÑ  ß«ñÑনΓß∩  ß¼ÑΘÑ¡¿Ñ »α«µÑñπαδ, á ó
  789. ßΓáαΦѼ - íẫóδ⌐ ßÑú¼Ñ¡Γ.
  790.  
  791.                    æ«ú½áΦÑ¡¿∩ »« ó맮óá¼
  792.  
  793.      Åáαá¼ÑΓαδ  »α«µÑñπαá¼ ¿ Σπ¡¬µ¿∩¼ »ÑαÑñáεΓß∩ τÑαѺ ßΓѬ.
  794. ÅÑαÑñ  óδº«ó«¼  »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ »áαá¼ÑΓαδ »«¼ÑΘáεΓß∩ ó
  795. ßΓѬ ó  »«α∩ñ¬Ñ  ¿σ «»¿ßá¡¿∩. ÅÑαÑñ óδσ«ñ«¼ ¿º »α«µÑñπαδ ¿½¿
  796. Σπ¡¬µ¿¿ óßÑ »áαá¼ÑΓαδ ¿ºó½Ñ¬áεΓß∩ ¿º ßΓѬá.
  797.      Åα¿¼Ñα¡δ⌐ ó맮ó »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ¼«ª¡« »αÑñßΓáó¿Γ∞
  798. ß½ÑñπεΘ¿¼ «íαẫ¼:
  799.  
  800.   PUSH Param1
  801.   PUSH Param2
  802.    .
  803.    .
  804.    .
  805.   PUSH ParamX
  806.   Call ProcOrFunc
  807.  
  808.      Åáαá¼ÑΓαδ ¼«úπΓ »ÑαÑñáóáΓ∞ß∩ »« ßßδ½¬Ñ ¿½¿ »« º¡áτÑ¡¿ε.
  809. è«úñá  »áαá¼ÑΓα  »ÑαÑñáÑΓß∩ »« ßß佬Ñ, Γ« π¬áºáΓѽ∞, ¬«Γ«αδ⌐
  810. ßßδ½áÑΓß∩ ¡á αÑá½∞¡πε ∩τÑ⌐¬π »á¼∩Γ¿, »«¼ÑΘáÑΓß∩ ó ßΓѬ. è«ú-
  811. ñá »áαá¼ÑΓα  »ÑαÑñáÑΓß∩  »« º¡áτÑ¡¿ε, ó ßΓѬ »«¼ÑΘáÑΓß∩ ßἫ
  812. Σá¬Γ¿τÑ߬«Ñ º¡áτÑ¡¿Ñ.
  813.  
  814.                     Åáαá¼ÑΓαδ-»ÑαѼѡ¡δÑ
  815.  
  816.      Åáαá¼ÑΓαδ-»ÑαѼѡ¡δÑ  (»áαá¼ÑΓαδ var) óßÑúñá »ÑαÑñáεΓß∩
  817. »« ßß佬Ñ,  Γ«  ÑßΓ∞  π¬áºáΓѽ∞ ßßδ½áÑΓß∩ ¡á ∩τÑ⌐¬π »á¼∩Γ¿ ß
  818. Σá¬Γ¿τÑ߬¿¼ º¡áτÑ¡¿Ñ¼.
  819.  
  820.                      Åáαá¼ÑΓαδ-º¡áτÑ¡¿∩
  821.  
  822.      Åáαá¼ÑΓαδ-º¡áτÑ¡¿∩  »ÑαÑñáεΓß∩ »« º¡áτÑ¡¿ε ¿½¿ »« ßßδ½-
  823. ¬Ñ, ó ºáó¿ß¿¼«ßΓ¿ «Γ ¿σ Γ¿»á ¿ αẼÑαá. é «íΘѼ ß½πτáÑ, Ñß½¿
  824. »áαá¼ÑΓα-º¡áτÑ¡¿Ñ ºá¡¿¼áÑΓ 1, 2 ¿½¿ 4 íá⌐Γá, Γ« º¡áτÑ¡¿Ñ »«-
  825. ¼ÑΘáÑΓß∩  ¡Ñ»«ßαÑñßΓóÑ¡¡«  ó ßΓѬ. é »α«Γ¿ó¡«¼ ß½πτáÑ ó ßΓѬ
  826. »«¼ÑΘáÑΓß∩ π¬áºáΓѽ∞  ¡á  º¡áτÑ¡¿Ñ, á  »α«µÑñπαá ¿½¿ Σπ¡¬µ¿∩
  827. ¬«»¿απÑΓ ºáΓѼ º¡áτÑ¡¿Ñ ó ½«¬á½∞¡πε ∩τÑ⌐¬π »á¼∩Γ¿.
  828.  
  829.       Åα¿¼Ñτá¡¿Ñ: é »α«µÑßß«αÑ 8086 ¡Ñ »«ññÑনóáεΓß∩ íá⌐Γ«-
  830.       óδÑ ¿¡ßΓαπ¬µ¿¿  ÉUSì ¿ ÉÄÉ, »«φΓ«¼π íá⌐Γ«óδÑ »áαá¼ÑΓαδ
  831.       óßÑúñá  »ÑαÑñáεΓß∩  ó ßΓѬÑ, ¬á¬  ß½«óá.  î½áñΦ¿⌐ íá⌐Γ
  832.       ß½«óá ß«ñÑαª¿Γ º¡áτÑ¡¿Ñ, á ßΓáαΦ¿⌐ íá⌐Γ ß½«óá ßó«í«ñÑ¡
  833.       (¿ ¡Ñ«»αÑñѽѡ).
  834.  
  835.      ç¡áτÑ¡¿Ñ ¿½¿ »áαá¼ÑΓα µÑ½«ú« Γ¿»á  »ÑαÑñáÑΓß∩ ¬á¬ íá⌐Γ,
  836. ß½«ó« ¿½¿ ñó«⌐¡«Ñ ß½«ó«. Åα¿ φΓ«¼ ¿ß»«½∞ºπÑΓß∩ Γᬫ⌐ ªÑ Σ«α-
  837. ¼áΓ,  ¬á¬  ñ½∩  »αÑñßΓáó½Ñ¡¿∩  »ÑαѼѡ¡«⌐  µÑ½«ú« Γ¿»á. (ä½∩
  838. ñó«⌐¡δσ  ß½«ó  ßΓáαΦÑÑ ß½«ó« »«¼ÑΘáÑΓß∩ ó ßΓѬ »ÑαÑñ ¼½áñΦ¿¼
  839. ß½«ó«¼, ΓᬠτΓ«  ¼½áñΦÑÑ  ß½«ó«  αẼÑΘáÑΓß∩ ó í«½ÑÑ ¼½áñΦ¿σ
  840. áñαÑßáσ.)
  841.      Åáαá¼ÑΓα ß¿¼ó«½∞¡«ú« Γ¿»á »ÑαÑñáÑΓß∩, ¬á¬ íá⌐Γ íѺ º¡á-
  842. ‡.
  843.      Åáαá¼ÑΓα íπ½Ñó߬«ú« Γ¿»á »ÑαÑñáÑΓß∩, ¬á¬ íá⌐Γ ß« º¡áτÑ-
  844. ¡¿Ñ¼ 0 ¿½¿ 1.
  845.      Åáαá¼ÑΓα  Γ¿»á  »ÑαÑτ¿ß½Ñ¡¿∩  »ÑαÑñáÑΓß∩,  ¬á¬ íá⌐Γ íѺ
  846. º¡á¬á, Ñß½¿  ¡π¼Ñαᵿ∩ ¡Ñ »αÑóδΦáÑΓ 256.  é »α«Γ¿ó¡«¼ ß½πτáÑ
  847. «¡ »ÑαÑñáÑΓß∩, ¬á¬ ß½«ó« íѺ º¡á¬á.
  848.      Åáαá¼ÑΓα óÑΘÑßΓóÑ¡¡«ú« Γ¿»á (óÑΘÑßΓóÑ¡¡«Ñ º¡áτÑ¡¿Ñ) »Ñ-
  849. αÑñáÑΓß∩, ¬á¬ 6 íá⌐Γ«ó ó ßΓѬÑ, »αÑñßΓáó½∩∩ ß«í«⌐, Γᬿ¼ «í-
  850. αẫ¼, ¿ß¬½ετÑ¡¿Ñ ¿º Γ«ú« »αáó¿½á,  τΓ« ó  ¡Ñ»«ßαÑñßΓóÑ¡¡« ó
  851. ßΓѬѠ»ÑαÑñáεΓß∩ Γ«½∞¬« 1, 2 ¿½¿ 4 íá⌐Γá.
  852.      Åáαá¼ÑΓαδ ΓÑσ Γ¿»«ó, ¬«Γ«αδÑ  ¿ß»«½∞ºπεΓß∩ ó »α«µÑßß«αÑ
  853. 8087 (º¡áτÑ¡¿∩ ß «ñ¿¡áα¡«⌐, ñó«⌐¡«⌐ ¿½¿ »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε
  854. ¿½¿  ß½«ª¡«ú«  Γ¿»á),  ¡Ñ  »ÑαÑñáεΓß∩  τÑαѺ ßΓѬ »α«µÑßß«αá
  855. 8086.  é¼ÑßΓ« φΓ«ú« »áαá¼ÑΓαδ ß Γ¿»á¼¿, ¬«Γ«αδÑ ¿ß»«½∞ºπεΓß∩
  856. ó »α«µÑßß«αÑ 8087,  »«¼ÑΘáεΓß∩ ó  »«α∩ñ¬Ñ  ¿σ  »«∩ó½Ñ¡¿∩  ó«
  857. ó¡πΓαÑ¡¡¿⌐ ßΓѬ ¼áΓѼáΓ¿τÑ߬«ú« ß«»α«µÑßß«αá 8087. ¥Γ« «úαá-
  858. ¡¿τ¿óáÑΓ ñ«»πßΓ¿¼«Ñ τ¿ß½« »áαá¼ÑΓα«ó »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ß
  859. Γ¿»á¼¿, ¬«Γ«αδÑ  ¿ß»«½∞ºπεΓß∩ ó »α«µÑßß«αÑ 8087, º¡áτÑ¡¿Ñ¼ 8
  860. (ßΓѬ »α«µÑßß«αá 8087 ¿¼ÑÑΓ ó«ßѼ∞ πα«ó¡Ñ⌐ ú½πí¿¡δ).
  861.      Åáαá¼ÑΓα Γ¿»á π¬áºáΓѽ∞ »ÑαÑñáÑΓß∩ ó ó¿ñÑ ñó«⌐¡«ú« ß½«-
  862. óá (áñαÑß ßÑú¼Ñ¡Γá  »«¼ÑΘáÑΓß∩  ó  ßΓѬ »ÑαÑñ ß¼ÑΘÑ¡¿Ñ¼, Γá¬
  863. τΓ« τáßΓ∞, »αÑñßΓáó½∩εΘá∩ ß«í«⌐  ß¼ÑΘÑ¡¿Ñ,  ºá¬á¡τ¿óáÑΓß∩  ó
  864. ßἫ¼ ¼½áñΦѼ áñαÑßÑ).
  865.      Åáαá¼ÑΓα ßΓ᫬«ó«ú« Γ¿»á »ÑαÑñáÑΓß∩ ó ó¿ñÑ π¬áºáΓѽ∩ ¡á
  866. "αá߻ᬫóá¡¡«Ñ" ¼¡«ªÑßΓó« ñ½¿¡«⌐ 32 íá⌐Γá.
  867.      îáß߿󠿽¿ ºá»¿ß∞ ¿º 1,  2  ¿½¿ 4 íá⌐Γ«ó »«¼ÑΘáÑΓß∩ ¡Ñ-
  868. »«ßαÑñßΓóÑ¡¡«  ó  ßΓѬ.  äαπú¿Ñ ¼áßß¿óδ ¿ ºá»¿ß¿ »ÑαÑñáεΓß∩,
  869. ¬á¬ π¬áºáΓѽ¿ ¡á º¡áτÑ¡¿∩.
  870.  
  871.                      ÉѺπ½∞ΓáΓδ Σπ¡¬µ¿⌐
  872.  
  873.      ÉѺπ½∞ΓáΓδ  Σπ¡¬µ¿⌐ »ÑαÑτ¿ß½¿¼«ú« Γ¿»á (µÑ½δÑ, ß¿¼ó«½∞-
  874. ¡δÑ, íπ½Ñó߬¿Ñ, Γ¿»á  »ÑαÑτ¿ß½Ñ¡¿∩) ó«ºóαáΘáεΓß∩ ó αÑú¿ßΓαáσ
  875. µÑ¡Γαá½∞¡«ú« »α«µÑßß«αá:  íá⌐Γδ  ó«ºóαáΘáεΓß∩ ó αÑú¿ßΓαÑ ÇL,
  876. ß½«óá - ó αÑú¿ßΓαÑ Çò, ñó«⌐¡δÑ ß½«óá - ó Dò:Çò (ßΓáαΦÑÑ ß½«-
  877. ó« - ó Dò, ¼½áñΦÑÑ - ó Çò).
  878.      ÉѺπ½∞ΓáΓδ Σπ¡¬µ¿⌐ óÑΘÑßΓóÑ¡¡«ú« Γ¿»á (º¡áτÑ¡¿∩ óÑΘÑßΓ-
  879. óÑ¡¡«ú« Γ¿»á)  ó«ºóαáΘáεΓß∩  ó  αÑú¿ßΓαáσ  Dò:éò:Çò (ßΓáαΦÑÑ
  880. ß½«ó« - ó  αÑú¿ßΓαÑ Dò, ßαÑñ¡ÑÑ ß½«ó« - ó αÑú¿ßΓαÑ éò, ¼½áñ-
  881. ΦÑÑ ß½«ó« - ó Çò).
  882.      ÉѺπ½∞ΓáΓδ  Σπ¡¬µ¿¿,  ¿¼ÑεΘ¿Ñ «ñ¿¡ ¿º Γ¿»«ó, ¿ß»«½∞ºπε-
  883. Θ¿σß∩ ó »α«µÑßß«αÑ 8087,  (º¡áτÑ¡¿∩ ß «ñ¿¡áα¡«⌐, ñó«⌐¡«⌐ ¿½¿
  884. »«óδΦÑ¡¡«⌐ Γ«τ¡«ßΓ∞ε ¿½¿  ß½«ª¡«ú« Γ¿»á), ó«ºóαáΘáεΓß∩ ó αÑ-
  885. ú¿ßΓαÑ óÑαΦ¿¡δ ßΓѬá ß«»α«µÑßß«αá 8087 (SÆ(0)).
  886.      ÉѺ½∞ΓáΓδ Σπ¡¬µ¿¿ Γ¿»á π¬áºáΓѽ∞ ó«ºóαáΘáεΓß∩ ó αÑú¿ßΓ-
  887. αÑ Dò:Çò (áñαÑß ßÑú¼Ñ¡Γá - ó Dò, á ß¼ÑΘÑ¡¿Ñ - ó Çò).
  888.      ùΓ« ¬áßáÑΓß∩ αѺπ½∞ΓáΓá Σπ¡¬µ¿¿ ßΓ᫬«ó«ú« Γ¿»á, Γ« óδ-
  889. ºδóáεΘá∩ »α«úαἼᠻ«¼ÑΘáÑΓ ó ßΓѬ »ÑαÑñ »ÑαÑñáτÑ⌐ ¬á¬¿σ-½¿-
  890. í« »áαá¼ÑΓα«ó óαѼѡ¡πε  ∩τÑ⌐¬π »á¼∩Γ¿, á Σπ¡¬µ¿∩ ó«ºóαáΘáÑΓ
  891. ßΓ᫬«ó«Ñ  º¡áτÑ¡¿Ñ  ó  φΓ«⌐  óαѼѡ¡«⌐  ∩τÑ⌐¬Ñ.  öπ¡¬µ¿∩ ¡Ñ
  892. ñ«½ª¡á πñá½∩Γ∞ π¬áºáΓѽ∞.
  893.  
  894.                ü½¿ª¡¿Ñ ¿ ñá½∞¡¿Ñ Γ¿»δ ó맮ó«ó
  895.  
  896.      é µÑ¡Γαá½∞¡«¼ »α«µÑßß«αÑ 8086  »«ññÑনóáÑΓß∩  ñóá Γ¿»á
  897. ó맮ó«ó ¿ ¿¡ßΓαπ¬µ¿⌐  ó«ºóαáΓá  π»αáó½Ñ¡¿∩ - í½¿ª¡¿Ñ ¿ ñá½∞-
  898. ¡¿Ñ. ü½¿ª¡¿Ñ ó맮óδ »ÑαÑñáεΓ π»αáó½Ñ¡¿Ñ ñαπú«⌐ ∩τÑ⌐¬Ñ ó »αÑ-
  899. ñѽáσ Γ«ú« ªÑ »α«úαá¼¼¡«ú« ßÑú¼Ñ¡Γá, á ñá½∞¡¿Ñ ó맮óδ »«ºó«-
  900. ½∩εΓ »ÑαÑ⌐Γ¿ ó ñαπú«⌐ »α«úαá¼¼¡δ⌐ ßÑú¼Ñ¡Γ.
  901.      ê¡ßΓαπ¬µ¿∩  í½¿ª¡Ñú«  «íαáΘÑ¡¿∩  æÇLL  »«¼ÑΘáÑΓ  ó ßΓѬ
  902. 16-í¿Γ«óδ⌐ áñαÑß ó«ºóαáΓá  (Γ«½∞¬«  ß¼ÑΘÑ¡¿Ñ), á  ¿¡ßΓαπ¬µ¿∩
  903. ñá½∞¡Ñú« ó맮óá  »«¼ÑΘáÑΓ  ó  ßΓѬ 32-í¿Γ«óδ⌐ áñαÑß ó«ºóαáΓá
  904. (áñαÑß ßÑú¼Ñ¡Γá ¿ ß¼ÑΘÑ¡¿Ñ).  æ««ΓóÑΓßóπεΘá∩  ¿¡ßΓαπ¬µ¿∩ RàÆ
  905. ¿ºó½Ñ¬áÑΓ ¿º ßΓѬá Γ«½∞¬« ß¼ÑΘÑ¡¿Ñ ¿½¿ áñαÑß ßÑú¼Ñ¡Γá ¿ ß¼Ñ-
  906. ΘÑ¡¿Ñ.
  907.      ìá «ß¡«óÑ «»¿ßá¡¿∩ »α«µÑñπαδ ó Æπαí«-Åá߬á½Ñ íπñÑΓ  áó-
  908. Γ«¼áΓ¿τÑ߬¿ óδí¿αáΓ∞ß∩ »αáó¿½∞¡δ⌐ Γ¿» «íαáΘÑ¡¿∩.  Åα«µÑñπαδ,
  909. «»¿ßá¡¡δÑ ó ¿¡ΓÑαΣÑ⌐ßΓ¡«⌐ ßѬµ¿¿ ¼«ñπ½∩  ß««ΓóÑΓßΓóπεΓ ñá½∞-
  910. ¡Ñ¼π «íαáΘÑ¡¿ε ¿ ¼«úπΓ óδºδóáΓ∞ß∩ ¿º ñαπú¿σ í½«¬«ó. Åα«µÑñπ-
  911. αδ, «»¿ßá¡¡δÑ ó »α«úαἼѠó ßѬµ¿¿  αÑ὿ºáµ¿¿ ¼«ñπ½∩, ∩ó½∩-
  912. εΓß∩ í½¿ª¡¿¼¿ ¿ ¼«úπΓ óδºδóáΓ∞ß∩  Γ«½∞¬« ¿º  φΓ«⌐  »α«úαá¼¼δ
  913. ¿½¿ ñá¡¡«ú« ¼«ñπ½∩.
  914.      ä½∩ ¡Ñ¬«Γ«αδ󠬫¡¬αÑΓ¡δσ µÑ½Ñ⌐ ¼«ª¡« »«ΓαÑí«óáΓ∞, τΓ«íδ
  915. »α«µÑñπαá ¿¼Ñ½á ñá½∞¡¿⌐ Γ¿» ó맮óá.  ìá»α¿¼Ñα, »α«µÑñπαá óδ-
  916. σ«ñá,  ñαá⌐óÑαδ  πßΓα«⌐ßΓó  ñ½∩  ΓѬßΓ«óδσ  Σá⌐½«ó  ¿ ñαπú¿Ñ
  917. ßαÑñßΓóá, ¿ß»«½∞ºπεΘ¿Ñ  π¬áºáΓѽ¿  ¡á  »α«µÑñπαδ.  ä¿αÑ¬Γ¿óá
  918. ¬«¼»¿½∩Γ«αá {$F+}  π¬áºδóáÑΓ ¡á  ¡Ñ«íσ«ñ¿¼«ßΓ∞ ¿ß»«½∞º«óá¡¿∩
  919. ñá½∞¡Ñú« Γ¿»á ó맮ó«ó. Åα«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿, ß¬«¼»¿½¿α«óá¡-
  920. ¡δÑ ß ñá¡¡«⌐ ñ¿αÑ¬Γ¿ó«⌐ óßÑúñá íπñπΓ ¿¼ÑΓ∞ ñá½∞¡¿⌐ Γ¿» ó맮-
  921. óá. Åα¿  ¿ß»«½∞º«óá¡¿¿  ó Æπαí«-Åá߬á½Ñ ñ¿αÑ¬Γ¿óδ {$F-} »αá-
  922. ó¿½∞¡á∩  ßσѼᠠó맮óá  íπñÑΓ óδí¿αáΓ∞ß∩  áóΓ«¼áΓ¿τÑ߬¿.  Å«
  923. π¼«½τá¡¿ε ¡áº¡áτáÑΓß∩ αѪ¿¼ {$F-}.
  924.  
  925.                é½«ªÑ¡¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿
  926.  
  927.      Åα«µÑñπαá ¿½¿ Σπ¡¬µ¿∩ ßτ¿ΓáÑΓß∩  ó½«ªÑ¡¡«⌐,  ¬«úñá  «¡á
  928. «»¿ßδóáÑΓß∩  ó¡πΓα¿ ñαπú«⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿. Å« π¼«½τá-
  929. ¡¿ε ó½«ªÑ¡¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ óßÑúñá ¿ß»«½∞ºπεΓ  í½¿ª¡¿⌐
  930. Γ¿»  ó맮óá (NEAR), »«ß¬«½∞¬π «¡¿ ñ«ßΓπ»¡δ Γ«½∞¬« ó¡πΓα¿ «»-
  931. αÑñѽѡ¡«⌐ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ ó Γ«¼ ªÑ ßÑú¼Ñ¡ΓÑ ¬«ñá. Äñ-
  932. ¡á¬«  ó «óÑα½Ñ⌐¡δσ ºáñáτáσ «íδτ¡« ñ½∩ Γ«ú«, τΓ«íδ «íÑß»Ñτ¿Γ∞
  933. ñ½∩ óßÑσ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ñá½∞¡¿⌐ Γ¿»  ó맮óá  (FAR),  ¿ß-
  934. »«½∞ºπÑΓß∩ ñ¿αÑ¬Γ¿óá {$F+}.
  935.      Åα¿ ó맮óѠ󽫪ѡ¡«⌐ »α«µÑñπαδ ¿½¿  Σπ¡¬µ¿¿  ¬«¼»¿½∩Γ«α
  936. ¡Ñ»«ßαÑñßΓóÑ¡¡« »ÑαÑñ ¿¡ßΓαπ¬µ¿Ñ⌐ CALL úÑ¡Ñα¿ΓπÑΓ ¿¡ßΓαπ¬µ¿ε
  937. PUSH BP, Σá¬Γ¿τÑ߬¿ »ÑαÑñáóá∩ αÑú¿ßΓα BP óδºδóáεΘÑ⌐ »α«úαá¼-
  938. ¼δ ó ¬áτÑßΓóÑ ñ«»«½¡¿Γѽ∞¡«ú« »áαá¼ÑΓαá. Å«ß½Ñ Γ«ú«, ¬á¬ óδ-
  939. ºδóáѼá∩ »α«µÑñπαá πßΓá¡«ó¿Γ ßó«⌐  ß«íßΓóÑ¡¡δ⌐  αÑú¿ßΓα  BP,
  940. αÑú¿ßΓα  éÉ óδºδóáεΘÑ⌐ »α«µÑñπαδ ñ«ßΓπ»Ñ¡, ¬á¬ ß½«ó«, ß«σαá-
  941. ¡Ñ¡¡«Ñ ó [BP+4] ¿½¿ ó [BP+6] (Ñß½¿ »α«µÑñπαá  ¿¼ÑÑΓ  ñá½∞¡¿⌐
  942. Γ¿» ó맮óá). êß»«½∞ºπ∩ ßó∩ºí τÑαѺ [BP+4] ¿ [BP+6], óδºδóáÑ-
  943. ¼á∩ »α«µÑñπαá ¼«ªÑΓ »«½πτ¿Γ∞ ñ«ßΓπ» ¬ ½«¬á½∞¡δ¼ »ÑαѼѡ¡δ¼ ó
  944. úαá¡¿µáσ  ßΓѬá óδºδóáεΘÑ⌐ »α«µÑñπαδ. æ½ÑñπεΘ¿⌐ »α¿¼Ñα »«¬á-
  945. ºδóáÑΓ, ¬á¬ ¼«ª¡« »«½πτ¿Γ∞ ñ«ßΓπ» ¬ ½«¬á½∞¡δ¼ »ÑαѼѡ¡δ¼  ¿º
  946. «»ÑαáΓ«αá inline ó« ó½«ªÑ¡¡«⌐ »α«µÑñπαÑ:
  947.  
  948.   {$F+}
  949.   procedure PA;
  950.   var IntA: integer;
  951.   {$F+}
  952.   procedure B;
  953.   var IntB: integer;
  954.   {$F-}
  955.   procedure C;
  956.   var IntC: integer;
  957.   begin
  958.   inline(
  959.     $8B/$46/<IntC>/      { MOV AX,[BP+IntC]  ;AX = IntC   }
  960.     $8B/$5E/$04/         { MOV BX,[BP+4]     ;BX = ßΓѬ é }
  961.     $36/$8b/$47/<IntB>/  { MOV AX,SS:[BX+IntB];AX = IntB  }
  962.     $8B/$5E/$04/         { MOV BX,[BP+4]     ;BX = ßΓѬ B }
  963.     $36/8B/$5F/$06/      { MOV BX,SS:[BX+6]  ;BX = ßΓѬ Ç }
  964.     $36/$8B/$47/<IntA>); { MOV AX,SS:[BX+IntA];AX =IntA   }
  965.   end;
  966.   begin end;
  967.   begin end;
  968.  
  969.            Åα¿¼Ñτá¡¿Ñ: é½«ªÑ¡¡δÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿  ¡Ñ½∞º∩
  970.       «»¿ßδóáΓ∞ ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ external.
  971.  
  972.             æΓá¡ñáαΓ¡δÑ «»ÑαáΓ«αδ óσ«ñá ¿ óδσ«ñá
  973.  
  974.      èáªñá∩ »α«µÑñπαá ¿ Σπ¡¬µ¿∩  Åá߬á½∩ ¡áτ¿¡áÑΓß∩ ¿ ºá¬á¡-
  975. τ¿óáÑΓß∩ ßΓá¡ñáαΓ¡δ¼  ¡áí«α«¼  «»ÑαáΓ«α«ó, ¬«Γ«αδÑ »«ºó«½∩εΓ
  976. á¬Γ¿ó¿º¿α«óáΓ∞ ¿ ñÑá¬Γ¿ó¿º¿α«óáΓ∞ »α«µÑñπαπ ¿½¿ Σπ¡¬µ¿ε.
  977.      æΓá¡ñáαΓ¡δ¼ óσ«ñ«¼ ß½πª¿Γ ß½ÑñπεΘá∩ úαπ»»á «»ÑαáΓ«α«ó:
  978.  
  979.  PUSH BP              ; ß«σαá¡¿Γ∞ αÑú¿ßΓα éÉ
  980.  MOV BP,SP            ; πßΓá¡«ó¿Γ∞ úαá¡¿µδ ßΓѬá
  981.  SUB SP,LocalSize     ; óδñѽ¿Γ∞ »á¼∩Γ∞ ñ½∩ ½«¬á½∞¡δσ  »ÑαÑ-
  982.                       ; ¼Ñ¡¡δσ
  983.  
  984.      é φΓ«¼ »α¿¼ÑαÑ  LocalSize -  φΓ« αẼÑα ½«¬á½∞¡δσ »ÑαÑ-
  985. ¼Ñ¡¡δσ. ê¡ßΓαπ¬µ¿∩ SUé »α¿ßπΓßΓóπÑΓ  Γ«½∞¬«  ó  Γ«¼  ß½πτáÑ,
  986. ¬«úñá LocalSize ¡Ñ αáó¡« ¡π½ε. àß½¿ Γ¿» «íαáΘÑ¡¿∩ ¬ »α«µÑñπ-
  987. ∩ó½∩ÑΓß∩  í½¿ª¡¿¼,  Γ«  »áαá¼ÑΓαδ  ¡áτ¿¡áεΓß∩  ß éÉ+4,  Ñß½¿
  988. ñ½δ ó맮óá »α«µÑñπαδ  ¿ß»«½∞ºπÑΓß∩ ñá½∞¡¿⌐ Γ¿» «íαáΘÑ¡¿∩, Γ«
  989. «¡¿ ¡áτ¿¡áεΓß∩ ß éÉ+6.
  990.  
  991.      æΓá¡áñáαΓ¡«⌐ úαπ»»«⌐ «»ÑαáΓ«α«ó óδσ«ñá ∩ó½∩ÑΓß∩:
  992.  
  993.  MOV SP,BP           ; «ßó«í«ñ¿Γ∞ »á¼∩Γ∞, óδñѽѡ¡πε ñ½∩
  994.                      ; ½«¬á½∞¡δσ »ÑαѼѡ¡δσ
  995.  POP BP              ; ó«ßßΓá¡«ó¿Γ∞ αÑú¿ßΓα éÉ
  996.  RET ParamSize       ; πñ὿Γ∞ »áαá¼ÑΓαδ ¿ óδ»«½¡¿Γ∞ ó«ºóαáΓ
  997.                      ; π»αáó½Ñ¡¿∩
  998.  
  999.      çñÑß∞ Éárá¼SizÑ - φΓ« αẼÑα »áαá¼ÑΓα«ó. ê¡ßΓαπ¬µ¿∩ RàÆ
  1000. ∩ó½∩ÑΓß∩ ¿¡ßΓαπ¬µ¿Ñ⌐ í½¿ª¡Ñú« ¿½¿ ñá½∞¡Ñú« Γ¿»á,  ó  ºáó¿ß¿-
  1001. ¼«ßΓ¿ «Γ Γ¿»á «íαáΘÑ¡¿∩ ¬ »α«µÑñπαÑ.
  1002.  
  1003.              æ«ú½áΦÑ¡¿∩ »« ß«σαá¡Ñ¡¿ε αÑú¿ßΓα«ó
  1004.  
  1005.      é »α«µÑñπαáσ ¿ Σπ¡¬µ¿∩σ ß½ÑñπÑΓ ß«σαá¡∩Γ∞ αÑú¿ßΓαδ  éÉ,
  1006. SÉ, SS ¿ DS. ç¡áτÑ¡¿∩ óßÑσ ñαπú¿σ αÑú¿ßΓα«ó ¼«ª¡« ¿º¼Ñ¡∩Γ∞.
  1007.  
  1008.         è«¼»«¡«ó¬á ß »α«úαἼἿ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá
  1009.  
  1010.      æ »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá $L ¼«ª¡« óδ»«½¡¿Γ∞ ¬«¼-
  1011. »«¡«ó¬π  »α«úαá¼¼  ¿½¿ ¼«ñπ½Ñ⌐ ¡á ∩ºδ¬Ñ Åá߬á½∞ ¿ »α«µÑñπα ¿
  1012. Σπ¡¬µ¿⌐ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá. êº ¿ßσ«ñ¡«ú« Σá⌐½á ¡á ∩ºδ¬Ñ áß-
  1013. ßѼí½Ñαá  ¼«ª¡« ß »«¼«Θ∞ε áßßѼí½Ñαá »«½πτ¿Γ∞ «íΩÑ¬Γ¡δ⌐ Σá⌐½
  1014. (ß αáßΦ¿αÑ¡¿Ñ¼ .ÄéJ). êß»«½∞ºπ∩ αÑñá¬Γ«α  ßó∩ºÑ⌐,  ¡Ñ߬«½∞¬«
  1015. «íΩÑ¬Γ¡δσ  Σá⌐½«ó  ¼«ª¡« ß¬«¼»«¡«óáΓ∞ ß »α«úαá¼¼«⌐ ¿½¿ ¼«ñπ-
  1016. ½Ñ¼. Åα¿ φΓ«¼ ¿ß»«½∞ºπÑΓß∩ ñ¿αÑ¬Γ¿óá ¬«¼»¿½∩Γ«αá $L.
  1017.      é »α«úαἼѠ¿½¿  ¼«ñπ½Ñ ¡á  ∩ºδ¬Ñ Åá߬á½∞ »α«µÑñπαδ ¿½¿
  1018. Σπ¡¬µ¿¿, ¡á»¿ßá¡¡δÑ ¡á  ∩ºδ¬Ñ áßßѼí½Ñαá, ñ«½ª¡δ íδΓ∞ «»¿ßá-
  1019. ¡δ, ¬á¬ ó¡ÑΦ¡¿Ñ. ìá»α¿¼Ñα:
  1020.  
  1021.  function LoCase(Ch : char): char; external;
  1022.  
  1023.      é ß««ΓóÑΓßΓóπεΘѼ Σá⌐½Ñ ¡á ∩ºδ¬Ñ  áßßѼí½Ñαá óßÑ »α«µÑ-
  1024. ñπαδ ¿½¿ Σπ¡¬µ¿¿ ñ«½ª¡δ ¡áσ«ñ¿Γ∞ß∩ ó ßÑú¼Ñ¡ΓÑ ß ¿¼Ñ¡Ñ¼ æÄDà,
  1025. á ¿¼Ñ¡á ó¡ÑΦ¡¿σ »α«µÑñπα ¿ Σπ¡¬µ¿⌐ ñ«½ª¡δ íδΓ∞ π¬áºá¡δ ó ñ¿-
  1026. αÑ¬Γ¿óáσ ÉUéLIæ.  (é¼ÑßΓ«  æÄDà  ó  ¬áτÑßΓóÑ  ¿¼Ñ¡¿ ßÑú¼Ñ¡Γá
  1027. ó«ß»α¿¡¿¼áÑΓß∩ ΓᬪѠæseg.)
  1028.      éδ ñ«½ª¡δ «íÑß»Ñτ¿Γ∞ ß««ΓóÑΓßΓó¿Ñ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿
  1029. ÑÑ «»αÑñѽѡ¿ε  ó Åá߬á½Ñ.  ¥Γ«  «Γ¡«ß¿Γß∩  ó Γ¿»π ÑÑ ó맮óá
  1030. (í½¿ª¡¿⌐ ¿½¿ ñá½∞¡¿⌐),  τ¿ß½π ¿  Γ¿»π  »áαá¼ÑΓα«ó ¿ Γ¿»π αÑ-
  1031. ºπ½∞ΓáΓá.
  1032.      é ¿ßσ«ñ¡«¼ Σá⌐½Ñ ¡á  ∩ºδ¬Ñ áßßѼí½Ñαá ¼«úπΓ «»¿ßδóáΓ∞ß∩
  1033. »ÑαѼѡ¡δÑ, ß«ñÑαªáΘ¿Ñß∩  ó ßÑú¼Ñ¡ΓÑ ß ¿¼Ñ¡Ñ¼ DAÆA. é ¿ßσ«ñ-
  1034. ¡«¼ Σá⌐½Ñ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá  φΓ¿  »ÑαѼѡ¡δÑ  ∩ó½∩εΓß∩ ½«-
  1035. ¬á½∞¡δ¼¿ ¿ ¡á ¡¿σ  ¡Ñ½∞º∩  ßßδ½áΓ∞ß∩ ¿º ¼«ñπ½∩ ¿½¿ »α«úαá¼¼δ
  1036. ¡á Åá߬á½Ñ.  Ä¡¿, «ñ¡á¬«, ¡áσ«ñ∩Γß∩ ó Γ«¼ ªÑ ßÑú¼Ñ¡ΓÑ, τΓ« ¿
  1037. ú½«íá½∞¡δÑ  »ÑαѼѡ¡δÑ Åá߬á½∩,  ¿ ¼«úπΓ íδΓ∞ ñ«ßΓπ»¡δ τÑαѺ
  1038. αÑú¿ßΓα ßÑú¼Ñ¡Γá DS. (é¼ÑßΓ« ¿¼Ñ¡¿ ßÑú¼Ñ¡Γá DAÆA ¼«ªÑΓ ΓᬪÑ
  1039. ó«ß»α¿¡¿¼áΓ∞ß∩ ¿¼∩ ßÑú¼Ñ¡Γá Dseg.)
  1040.      ìá óßÑ »α«µÑñπαδ, Σπ¡¬µ¿¿ ¿ »ÑαѼѡ¡δÑ, «»¿ßá¡¡δѠ󠼫-
  1041. ñπ½Ñ ¿½¿ »α«úαἼѠ¡á Åá߬á½Ñ ¿ ¡á ΓÑ ¿º ¡¿σ, ¬«Γ«αδÑ «»¿ßá-
  1042. ¡δ ó  ¿¡ΓÑαΣÑ⌐ß¡«⌐  ßѬµ¿¿  ¿ß»«½∞ºπѼδσ ¼«ñπ½Ñ⌐, ¼«ª¡« ßßδ-
  1043. ½áΓ∞ß∩  ¿º ¿ßσ«ñ¡«ú« Σá⌐½á ¡á ∩ºδ¬Ñ áßßѼí½Ñαá ß »«¼«Θ∞ε ñ¿-
  1044. αÑ¬Γ¿óδ àòÆRN.  Åα¿ φΓ«¼  «í∩ºá¡¡«ßΓ∞  «íÑß»Ñτ¿Γ∞ ¬«ααÑ¬Γ¡δ⌐
  1045. Γ¿» ó «»αÑñѽѡ¿¿ àòÆRN ΓᬪѠ󫺽áúáÑΓß∩ ¡á óáß.
  1046.      è«úñá  «íΩÑ¬Γ¡δ⌐  Σá⌐½ π¬áºδóáÑΓß∩ ó ñ¿αÑ¬Γ¿óÑ $L, Æπα-
  1047. í«-Åá߬á½∞  »αÑ«íαáºπÑΓ Σá⌐½  ¿º Σ«α¼áΓá »ÑαѼÑΘáѼδσ «íΩѬ-
  1048. Γ¡δσ ¼«ñπ½Ñ⌐  (.ÄéJ)  Σ¿α¼δ  Intel  ó ßó«⌐ ß«íßΓóÑ¡¡δ⌐ ó¡πΓ-
  1049. αÑ¡¡¿⌐ Σ«α¼áΓ  »ÑαѼÑΘáѼδσ ¼«ñπ½Ñ⌐. ¥Γ« »αÑ«íαẫóá¡¿Ñ ó«º-
  1050. ¼«ª¡« ½¿Φ∞ »α¿ ß«í½εñÑ¡¿¿ ¡Ñ¬«Γ«αδσ »αáó¿½:
  1051.  
  1052.      1.  éßÑ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ ñ«½ª¡δ íδΓ∞ »«¼ÑΘÑ¡δ ó ßÑú-
  1053.          ¼Ñ¡Γ ß  ¿¼Ñ¡Ñ¼  æÄDà,  á  óßÑ  ½«¬á½∞¡δÑ »ÑαѼѡ¡δÑ
  1054.          ñ«½ª¡δ íδΓ∞ »«¼ÑΘÑ¡δ ó  ßÑú¼Ñ¡Γ  ß ¿¼Ñ¡Ñ¼ DAÆA. éßÑ
  1055.          ñαπú¿Ñ  ßÑú¼Ñ¡Γδ  ¿ú¡«α¿απεΓß∩, »«φΓ«¼π ¿¼ÑÑΓß∩ ñ¿-
  1056.          αÑ¬Γ¿óá  GRÄUÉ. é «»αÑñѽѡ¿∩σ ßÑú¼Ñ¡Γá ¼«ªÑΓ ºáñá-
  1057.          óáΓ∞ß∩  óδαáó¡¿óá¡¿Ñ ¡á  úαá¡¿µπ  ß½«óá  ¿½¿  íá⌐Γá
  1058.          (WORD  ¿½¿ éYÆà).  Åα¿  αÑñá¬Γ¿α«óá¡¿¿  ßó∩ºÑ⌐  «¡¿
  1059.          óßÑúñá  óδαáó¡¿óáεΓß∩ ¡á úαá¡¿µπ ß½«óá. é «»αÑñѽÑ-
  1060.          ¡¿∩σ  ßÑú¼Ñ¡Γ«ó ¼«úπΓ  π¬áºδóáΓ∞ß∩ ñ¿αÑ¬Γ¿óδ ÉUéLIæ
  1061.          («¡¿ ¿ú¡«α¿απεΓß∩), ¡« ó ¡¿σ ¡Ñ  ñ«½ª¡«  ºáñáóáΓ∞ß∩
  1062.          ¿¼∩ ¬½áßßá. (é¼ÑßΓ« ¿¼Ñ¡¿ ßÑú¼Ñ¡Γá æÄDà ¼«ªÑΓ ΓᬪÑ
  1063.          ó«ß»α¿¡¿¼áΓ∞ß∩ ¿¼∩ ßÑú¼Ñ¡Γá æseg,  á  ó¼ÑßΓ«  ¿¼Ñ¡¿
  1064.          ßÑú¼Ñ¡Γá  DAÆA  ¼«ªÑΓ  ó«ß»α¿¡¿¼áΓ∞ß∩  ¿¼∩ ßÑú¼Ñ¡Γá
  1065.          Dseg.)
  1066.      2.  Åα¿ «»¿ßá¡¿¿ »ÑαѼѡ¡δσ ßÑú¼Ñ¡ΓÑ DAÆA  ¿½¿ Dseg ñ½∩
  1067.          «»αÑñѽѡ¿∩ º¡áτÑ¡¿∩  óßÑúñá  ¿ß»«½∞ºπ⌐ΓÑ  ó«»α«ß¿-
  1068.          Γѽ∞¡δ⌐ º¡á¬ (?). ìá»α¿¼Ñα:
  1069.  
  1070.           Count   DW  ?
  1071.           Buffer  DB  128 DUP(?)
  1072.  
  1073.               ïεí«⌐  ºá»α«ß ¡á  ß«ºñá¡¿Ñ  ¿¡¿µ¿á½¿º¿α«óá¡¡δσ
  1074.          »ÑαѼѡ¡δσ ó ßÑú¼Ñ¡ΓÑ DAÆA ¿½¿ Dseg ó Æπαí«-Åá߬á½Ñ
  1075.          ¿ú¡«α¿απÑΓß∩.
  1076.      3.  Åα¿ ßßδ½¬Ñ ¡á »α«µÑñπαδ  ¿½¿  Σπ¡¬µ¿¿ Γ¿»á àòÆRN ¡Ñ
  1077.          π¬áºδóá⌐ΓÑ ß¼ÑΘÑ¡¿Ñ. ìÑñ«»πßΓ¿¼á, ¡á»α¿¼Ñα, ß½Ññπε-
  1078.          Θá∩ ¬«¡ßΓαπ¬µ¿∩:
  1079.  
  1080.            EXTRN MyProc : NEAR
  1081.            CALL  MyProc + 8
  1082.  
  1083.               çá¼ÑΓ¿¼, τΓ« φΓ« «úαá¡¿τÑ¡¿Ñ ¡Ñ ¬áßáÑΓß∩ »ÑαÑ-
  1084.          ¼Ñ¡¡δσ Γ¿»á àòÆRN.
  1085.      4.  üá⌐Γ«óδÑ  ßß佬¿ ¡á ß¿¼ó«½δ Γ¿»á àòÆRN ¡Ññ«»πßΓ¿¼δ.
  1086.          ¥Γ« «º¡áτáÑΓ,  ¡á»α¿¼Ñα,  τΓ« «»ÑαáΓ«αδ ìIGìÆ ¿ LÄW
  1087.          ¡Ñ½∞º∩ ¿ß»«½½∞º«óáΓ∞ ß ß¿¼ó«½á¼¿ Γ¿»á àòÆRN.
  1088.  
  1089.               Æπαí«-ÇßßѼí½Ñα ¿  Æπαí«-Åá߬á½∞
  1090.  
  1091.      Æπαí«-ÇßßѼí½Ñα (TASM) º¡áτ¿Γѽ∞¡« «í½ÑúτáÑΓ αáºαáí«Γ¬π
  1092. »α«úαá¼¼  ¡á ∩ºδ¬Ñ áßßѼí½Ñαá ¿ «αúá¡¿ºáµ¿¿ ó ¡¿σ ¿¡ΓÑαΣÑ⌐ßá
  1093. ß »α«úαἼἿ ¡á Æπαí«-Åá߬á½Ñ. Æπαí«-ÇßßѼí½Ñα »«ññÑনóáÑΓ
  1094. ߻ѵ¿Σ¿τÑ߬«Ñ ¿ß»«½∞º«óá¡¿Ñ ßÑú¼Ñ¡Γ«ó, ßσѼπ »á¼∩Γ¿ ¿ ∩ºδ¬«-
  1095. óπε   »«ññÑ᪬𠠠 ñ½∩    »α«úαá¼¼¿ßΓ«ó,    αáí«ΓáεΘ¿σ    ¡á
  1096. Æπαí«-Åá߬á½Ñ.
  1097.      êß»«½∞ºπ∩ «»µ¿ε TPASCAL ¿ ñ¿αÑ¬Γ¿óπ .MODEL, ¼«ª¡« «íÑß-
  1098. »Ñτ¿Γ∞  ß«í½εñÑ¡¿Ñ ß«ú½áΦÑ¡¿⌐ « ßó∩º∩σ ß Æπαí«-Åá߬á½Ñ¼, «»-
  1099. αÑñѽ¿Γ∞ ¿¼Ñ¡á ßÑú¼ÑΓ«ó, óδ»«½¡¿Γ∞ ¿¡ßΓαπ¬µ¿¿ PUSH BP ¿  MOV
  1100. PB,SP,  á ΓᬪѠ«íÑß»Ñτ¿Γ∞ ó«ºóαáΓ π»αáó½Ñ¡¿∩ ß »«¼«Θ∞ε «»Ñ-
  1101. αáΓ«α«ó POP BP ¿ RET N (úñÑ N - φΓ« τ¿ß½« íá⌐Γ«ó »áαá¼ÑΓαá).
  1102.      ä¿αÑ¬Γ¿óá PROC »«ºó«½∩ÑΓ óá¼ ºáñáΓ∞ »áαá¼ÑΓαδ ó Γ«¼  ªÑ
  1103. »«α∩ñ¬Ñ,  ¬á¬  «¡¿  «»αÑñѽѡδ ó »α«úαἼѠ¡á Æπαí«-Åá߬á½Ñ.
  1104. àß½¿ óδ «»αÑñѽ∩ÑΓÑ Σπ¡¬µ¿ε, ¬«Γ«αá∩ ó«ºóαáΘáÑΓ ßΓ᫬π,  «í-
  1105. αáΓ¿ΓÑ  ó¡¿¼á¡¿Ñ  ¡á  Γ«,  τΓ«  ñ¿αÑ¬Γ¿óá  PROC  ¿¼ÑÑΓ «»µ¿ε
  1106. RETURN, »«ºó«½∩εΘπε óá¼ »«½πτ¿Γ∞ ñ«ßΓπ» ¬ óαѼѡ¡«¼π  π¬áºá-
  1107. Γѽε ßΓ᫬¿ ó ßΓѬѠ¿ ¡Ñ «¬áºδóáεΘπε ó½¿∩¡¿∩ ¡á τ¿ß½« íá⌐Γ«ó
  1108. »áαá¼ÑΓαá, ñ«íáó½∩Ѽδσ ó «»ÑαáΓ«αÑ RET.
  1109.      Åα¿óÑñѼ »α¿¼Ñαδ ¬«ñá, ó ¬«α«αδσ ¿ß»«½∞ºπεΓß∩ ñ¿αÑ¬Γ¿óδ
  1110. .MODEL ¿ PROC:
  1111.  
  1112.   .MODEL TPASCAL
  1113.   .CODE
  1114.  MyProc PROC  FAR 1:BYTE, j:BYTE RETURNS result:DWORD
  1115.    PUBLIC MyProc
  1116.    les di,result   ;»«½πτ¿Γ∞ áñαÑß óαѼѡ¡«⌐ ßΓ᫬¿
  1117.    mov al,i        ;»«½πτ¿Γ∞ »Ñαóδ⌐ »áαá¼ÑΓα i
  1118.    mov bl,j        ;»«½πτ¿Γ∞ óΓ«α«⌐ »áαá¼ÑΓα j
  1119.      .
  1120.      .
  1121.      .
  1122.    ret
  1123.  
  1124.      Ä»αÑñѽѡ¿Ñ Σπ¡¬µ¿¿  ó  Æπαí«-Åá߬á½Ñ  íπñÑΓ  óδú½∩ñÑΓ∞
  1125. ß½ÑñπεΘ¿¼ «íαẫ¼:
  1126.  
  1127.      function MyProc(i,j : char) : string external;
  1128.  
  1129.      ü«½ÑÑ  »«ñα«í¡πε   ¿¡Σ«α¼áµ¿ε   «í   ¿¡ΓÑαΣÑ⌐ßÑ   ¼Ñªñπ
  1130. Æπαí«-Åá߬á½Ñ¼  ¿  Æπαí«-ÇßßѼí½Ñα«¼  ¼«ª¡«  ¡á⌐Γ¿ ó â½áóÑ 7
  1131. "Éπ¬«ó«ñßΓóá »«½∞º«óáΓѽ∩ »« Æπαí«-ÇßßѼí½Ñαπ".
  1132.  
  1133.             Åα¿¼Ñαδ »α«úαá¼¼ ¡á ∩ºδ¬Ñ áßßѼí½Ñαá
  1134.  
  1135.      æ½ÑñπεΘá∩ »α«úαá¼¼á ∩ó½∩ÑΓß∩ »α¿¼Ñα«¼  ¼«ñπ½∩ ¿  »αÑñß-
  1136. Γáó½∩ÑΓ ß«í«⌐ ñóÑ »α«úαá¼¼δ  ¡á  áßßѼí½ÑαÑ, »αÑñ¡áº¡áτÑ¡¡δÑ
  1137. ñ½∩ «íαáí«Γ¬¿ ßΓ᫬.  öπ¡¬µ¿∩  UααÑræásÑ »αÑ«íαáºπÑΓ ß¿¼ó«½δ
  1138. ßΓ᫬¿ ó  »α«»¿ß¡δÑ  íπ¬óδ,  á Σπ¡¬µ¿∩  StringOf  ó«ºóαáΘáÑΓ
  1139. ßΓ᫬π ß¿¼ó«½«ó ºáñá¡¡«⌐ ñ½¿¡δ.
  1140.  
  1141.   unit Strings;
  1142.   interface
  1143.   function UpperCase(S: string):
  1144. error in example ..............
  1145.  
  1146.     RET                   ; ¿ºó½Ñτ∞ »áαá¼ÑΓαδ ¿ óδ⌐Γ¿
  1147.  SrtingOf    ENDP
  1148.  CODE       ENDS
  1149.            END
  1150.  
  1151.      é  ß½ÑñπεΘѼ  »α¿¼ÑαÑ »«¬áºá¡á »α«úαἼᠡá áßßѼí½ÑαÑ,
  1152. ¬«Γ«αá∩  ¼«ªÑΓ  ßßδ½áΓ∞ß∩ ¡á »α«úαá¼¼δ ¿ »ÑαѼѡ¡δÑ Åá߬á½∩.
  1153. Åα«úαá¼¼á Number ßτ¿ΓδóáÑΓ ñ« 100 µÑ½δσ º¡áτÑ¡¿⌐ ¿ ºáΓѼ ñ½∩
  1154. »α«óÑન  úαá¡¿µ ¬áªñ«ú« ¿º φΓ¿σ º¡áτÑ¡¿⌐ óδºδóáÑΓ »α«úαá¼¼π
  1155. ¡á ∩ºδ¬Ñ áßßѼí½Ñαá.  àß½¿ º¡áτÑ¡¿Ñ óδσ«ñ¿Γ ºá úαá¡¿µδ, »α«-
  1156. µÑñπαá, ¡á»¿ßá¡¡á∩ ¡á áßßѼí½ÑαÑ, óδºδóáÑΓ ñ½∩ ¿σ αáß»ÑτáΓ¬¿
  1157. »α«µÑñπαπ, ¡á»¿ßá¡¡πε ¡á ∩ºδ¬Ñ Åá߬á½∞.
  1158.  
  1159.  program Numbers;
  1160.  {$L CHECK}
  1161.  var
  1162.    Data: array[1..100] of integer;
  1163.    Count,I: integer;
  1164.  procedure RangeError(N: integer);
  1165.    begin
  1166.      Writeln('Range error: ',N);
  1167.    end;
  1168.  procedure CheckRange(Min,Max: integer); external;
  1169.    begin
  1170.      Count := 0;
  1171.      while not Eof and (Count < 100) do
  1172.      begin
  1173.        Count := Count + 1;
  1174.        Readln(Data[Count]);
  1175.      end;
  1176.      CheckRange(-10,10);
  1177.    end;
  1178.  
  1179.      öá⌐½ ß »α«úαá¼¼«⌐ ¡á áßßѼí½ÑαÑ, αÑ὿ºπεΘ¿⌐  »α«µÑñπαπ
  1180. æheckRángÑ, »α¿ó«ñ¿Γß∩ ñá½ÑÑ.  ÅÑαÑñ  ¬«¼»¿½∩µ¿Ñ⌐  »α«úαá¼¼δ
  1181. Numbers Ñú« ¡πª¡« áßßÑí¼½¿α«óáΓ∞ ó Σá⌐½ ß  ¿¼Ñ¡Ñ¼ æìàæè.ÄéJ.
  1182. çá¼ÑΓ¿¼, τΓ« ñ½∩ »α«µÑñπαδ ¿ß»«½∞ºπÑΓß∩ í½¿ª¡¿⌐ Γ¿»  ó맮óá,
  1183. »«ß¬«½∞¬π φΓ« «»¿ßá¡« ó »α«úαá¼¼Ñ.
  1184.  
  1185.   DATA SEGMENT WORD PUBLIC
  1186.        EXTRN Data: WORD, Count: Word ; »ÑαѼѡ¡δÑ Åá߬á½∩
  1187.   DATA ENDS
  1188.   CODE SEGMENT BYTE PUBLIC
  1189.        ASSUME CS: CODE, DS: DATA
  1190.        EXTRN RangeError: NEAR ; αÑ὿º«óá¡« ¡á Åá߬á½Ñ
  1191.        PUBLIC CheckRange      ; αÑ὿º«óá¡δ ºñÑß∞
  1192.   CheckRange PROC NEAR
  1193.      MOV BX,SP               ; »«½πτ¿Γ∞ π¬áºáΓѽ∞ »áαá¼ÑΓα«ó
  1194.      MOV AX,SS:[BX+4]        ; ºáúαπº¿Γ∞ îin
  1195.      MOV DX,SS:[BX+2]        ; ºáúαπº¿Γ∞ îáσ
  1196.      XOR BX,BX               ; «τ¿ßΓ¿ßΓ∞ ¿¡ñѬߠñá¡¡δσ
  1197.      MOV CX,Count            ; ºáúαπº¿Γ∞ ßτÑΓτ¿¬
  1198.      JCXZ SD4                ; »α«»πßΓ¿Γ∞ Ñß½¿ αáó¡« 0
  1199. SD1: CMP Data[Bx],AX         ; ß½¿Φ¬«¼ ¼á½«?;
  1200.      JL  SD2                 ; ñá, »ÑαÑ⌐Γ¿
  1201.      CMP Data[BX],DX         ; ß½¿Φ¬«¼ óѽ¿¬«?
  1202.      JLE SD3                 ; ¡ÑΓ, »ÑαÑ⌐Γ¿
  1203. SD2: PUSH AX                 ; ß«σαá¡¿Γ∞ αÑú¿ßΓαδ
  1204.      PUSH BX
  1205.      PUSH CX
  1206.      PUSH DX
  1207.      PUSH Data[BX]           ; »ÑαÑñáΓ∞ óδσ«ñ∩ΘÑÑ ºá úαá¡¿µδ
  1208.  
  1209.                              ; º¡áτÑ¡¿Ñ ó Åá߬á½∞
  1210.      CALL RangeError         ; óδºóáΓ∞ »α«µÑñπαπ ¡á Åá߬á½Ñ
  1211.      POP DX                  ; ó«ßßΓá¡«ó¿Γ∞ αÑú¿ßΓαδ
  1212.      POP CX
  1213.      POP BX
  1214.      POP AX
  1215. SD3: INC BX                  ; πßΓá¡«ó¿Γ∞ π¬áºáΓѽ∞ ¡á
  1216.  ß½Ññπ-
  1217.                              ; εΘ¿⌐ φ½Ñ¼Ñ¡Γ
  1218.      INC BX
  1219.      LOOP SD1                ; »«óΓ«α¿Γ∞ µ¿¬½ ñ½∩ ¬áªñ«ú«
  1220.                              ; φ½Ñ¼Ñ¡Γá
  1221. SD4: RET 4                   ; «τ¿ßΓ¿Γ∞ ßΓѬ ¿ ó«ºóαáΓ¿Γ∞
  1222.                              ; π»αáó½Ñ¡¿Ñ
  1223. CheckRange ENDS
  1224.            END
  1225.  
  1226.                  Åα¿¼Ñα ¡á Æπαí«-ÇßßѼí½ÑαÑ
  1227.  
  1228.      Åα¿óÑñѼ »α¿¼Ñα »α«úαá¼¼δ ¡á Æπαí«-ÇßßѼí½ÑαÑ, ó  ¬«Γ«-
  1229. α«¼  ¿ß»«½∞ºπεΓß∩  óßÑ »αÑ¿¼πΘÑßΓóá »«ññÑ᪬¿ ó TASM ßαÑñßΓó
  1230. ßó∩º¿ ß Æπαí«-Åá߬á½Ñ¼. ¥Γ«Γ  »α¿¼Ñα  ∩ó½∩ÑΓ¼∩  ¼«ñ¿Σ¿¬áµ¿Ñ⌐
  1231. »αÑñδñπΘÑ⌐ »α«úαá¼¼δ.
  1232.  
  1233.   .MODEL TPASCAL               ; ¼«ñѽ∞ ¬«ñá Æπαí«-Åá߬á½∩
  1234.   LOCALS @@                    ; «»αÑñѽ¿Γ∞ ½«¬á½∞¡δ⌐
  1235.                                ; »αÑΣ¿¬ß ¼ÑΓ«¬
  1236.   .DATA                        ; ßÑú¼Ñ¡Γ ñá¡¡δσ
  1237.   EXTRN Buffer:WORD,COunt:WORD ; »Ñα¼Ñ¡¡δÑ Åá߬á½∩
  1238.   .CODE                        ; ßÑú¼Ñ¡Γ ¬«ñá
  1239.         EXTRN RangeError: NEAR ; αÑ὿º«óá¡« ¡á Åá߬á½Ñ
  1240.         PUBLIC CheckRange      ; αÑ὿º«óá¡δ ºñÑß∞
  1241.   CheckRange PROC NEAR
  1242.       MOV BX,SP                ; »«½πτ¿Γ∞ π¬áºáΓѽ∞
  1243.  »áαá¼ÑΓα«ó
  1244.       MOV AX,SS:[BX+4]         ; ºáúαπº¿Γ∞ îin
  1245.       MOV DX,SS:[BX+2]         ; ºáúαπº¿Γ∞ îáσ
  1246.       XOR BX,BX                ; «τ¿ßΓ¿ßΓ∞ ¿¡ñѬߠñá¡¡δσ
  1247.       MOV CX,Count             ; ºáúαπº¿Γ∞ ßτÑΓτ¿¬
  1248.       JCXZ SD4                 ; »α«»πßΓ¿Γ∞ Ñß½¿ αáó¡« 0
  1249. @@1:  CMP Data[Bx],AX          ; ß½¿Φ¬«¼ ¼á½«?;
  1250.       JL  SD2                  ; ñá, »ÑαÑ⌐Γ¿
  1251.       CMP Data[BX],DX          ; ß½¿Φ¬«¼ óѽ¿¬«?
  1252.       JLE SD3                  ; ¡ÑΓ, »ÑαÑ⌐Γ¿
  1253. @@2:  PUSH AX                  ; ß«σαá¡¿Γ∞ αÑú¿ßΓαδ
  1254.       PUSH BX
  1255.       PUSH CX
  1256.       PUSH DX
  1257.       PUSH Data[BX]            ; »ÑαÑñáΓ∞ óδσ«ñ∩ΘÑÑ ºá úαá-
  1258.                                ; ¡¿µδ º¡áτÑ¡¿Ñ ó Åá߬á½∞
  1259.       CALL RangeError          ; óδºóáΓ∞ »α«µÑñπαπ ¡á Åá߬á½Ñ
  1260.       POP DX                   ; ó«ßßΓá¡«ó¿Γ∞ αÑú¿ßΓαδ
  1261.       POP CX
  1262.       POP BX
  1263.       POP AX
  1264. @@3:  INC BX                   ; πßΓá¡«ó¿Γ∞ π¬áºáΓѽ∞ ¡á ß½Ñ-
  1265.                                ; ñπεΘ¿⌐ φ½Ñ¼Ñ¡Γ
  1266.       INC BX
  1267.       LOOP SD1                 ; »«óΓ«α¿Γ∞ µ¿¬½ ñ½∩ ¬áªñ«ú«
  1268.                                ; φ½Ñ¼Ñ¡Γá
  1269. @@4:  RET                      ; «τ¿ßΓ¿Γ∞ ßΓѬ ¿ ó«ºóαáΓ¿Γ∞
  1270.                                ; π»αáó½Ñ¡¿Ñ
  1271. CheckRange ENDS
  1272.            END
  1273.  
  1274.      çá¼ÑΓ¿¼, τΓ« »α¿ ¿ß»«½∞º«óá¡¿¿ ñ¿αÑ¬Γ¿óδ .MODEL TPASCAL
  1275. Æπαí«-ÇßßѼí½Ñα  íπñÑΓ áóΓ«¼áΓ¿τÑ߬¿ úÑ¡Ñα¿α«óáΓ∞ »ÑαÑñ »Ñα-
  1276. ó«⌐ ¿¡ßΓαπ¬µ¿Ñ⌐ ßΓá¡ñáαΓ¡δÑ «»ÑαáΓ«αδ  óσ«ñá  ¿  ßΓá¡ñáαΓ¡δÑ
  1277. «»ÑαáΓ«αδ óδσ«ñá »«ß½Ñ ¿¡ßΓαπ¬µ¿¿ RET.
  1278.  
  1279.                   é¡πΓαÑ¡¡¿⌐ ¼áΦ¿¡¡δ⌐ ¬«ñ
  1280.  
  1281.      ä½∩ ¡Ñí«½∞Φ¿σ  »«ñ»α«úαá¼¼  ¡á  ∩ºδ¬Ñ  áßßѼí½Ñαá «τÑ¡∞
  1282. πñ«í¡«  ¿ß»«½∞º«óáΓ∞  ó¡πΓαÑ¡¡¿Ñ  ñ¿αÑ¬Γ¿óδ ¿ «»ÑαáΓ«αδ Æπα-
  1283. í«-Åá߬á½∩ («»ÑαáΓ«αδ inline). Ä¡¿ »«ºó«½∩εΓ óßΓáó½∩Γ∞ ¿¡ßΓ-
  1284. απ¬µ¿¿ ¼áΦ¿¡¡«ú« ¬«ñá ¡Ñ»«ßαÑñßΓóÑ¡¡« ó »α«úαá¼¼π ¿½¿  ΓѬßΓ
  1285. í½«¬á, ó¼ÑßΓ« Γ«ú«, τΓ«íδ ¿ß»«½∞º«óáΓ∞ «íΩÑ¬Γ¡δ⌐ Σá⌐½.
  1286.  
  1287.                       Ä»ÑαáΓ«αδ Inline
  1288.  
  1289.      Ä»ÑαáΓ«α  inline  ß«ßΓ«¿Γ  ¿º  ºáαѺÑαó¿α«óá¡¡«ú« ß½«óá
  1290. Inline, ºá  ¬«Γ«αδ¼  ß½ÑñπÑΓ «ñ¿¡ ¿½¿ í«½ÑÑ ó¡πΓαÑ¡¡¿σ ºá»¿-
  1291. ßÑ⌐  (ºá»¿ßÑ⌐ ¼áΦ¿¡¡«ú« ¬«ñá),  αáºñѽѡ¡δσ  ¬«ß«⌐  τÑαΓ«⌐ ¿
  1292. ºá¬½ετÑ¡¡δσ ó ¬απú½δѠ߬«í¬¿:
  1293.  
  1294.  inline(10/$2345/Count+1/Data-Offset);
  1295.  
  1296.      Ä»ÑαáΓ«α inline ¿¼ÑÑΓ ß½ÑñπεΘ¿⌐ ß¿¡Γá¬ß¿ß:
  1297.  
  1298.                --------    ---    --------------    ---
  1299.  Ä»ÑαáΓ«α  -->( inline )->( ( )-->! ºá»¿ß∞ ó«  !-->( ) )-->
  1300.   inline       --------    ---  ^ ! ó¡πΓαÑ¡¡Ñ¼ ! !  ---
  1301.                                 ! ! ¼áΦ¿¡¡«¼   ! !
  1302.                                 ! ! ¬«ñÑ       ! !
  1303.                                 ! -------------- !
  1304.                                 !                !
  1305.                                 !       ---      !
  1306.                                 -------( / )<-----
  1307.                                         ---
  1308.  
  1309.      èáªñδ⌐ «»ÑαáΓ«α inline ß«ßΓ«¿Γ ¿º ¡Ñ«í∩ºáΓѽ∞¡«ú«  ß»Ñ-
  1310. µ¿Σ¿¬áΓ«αá αẼÑαá, < ¿½¿ > ¿  ¬«¡ßΓá¡Γδ  ¿½¿ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá
  1311. »ÑαѼѡ«⌐, ºá ¬«Γ«α«⌐ ß½ÑñπεΓ  ¡«½∞ ¿½¿ í«½ÑѠ߻ѵ¿Σ¿¬áΓ«α«ó
  1312. ß¼ÑΘÑ¡¿∩ (ß¼. «»¿ßá¡¡δ⌐ ñá½ÑÑ ß¿¡Γá¬ß¿ß).  æ»Ñµ¿Σ¿¬áΓ«α ß¼Ñ-
  1313. ΘÑ¡¿∩  ß«ßΓ«¿Γ  ¿º +  ¿½¿ -, ºá  ¬«Γ«αδ¼  ß½ÑñπÑΓ ¬«¡ßΓá¡Γá.
  1314.      èáªñá∩ ó¡πΓαÑ¡¡∩∩ ºá»¿ß∞ »«α«ªñáÑΓ 1 íá⌐Γ ¿½¿ «ñ¡« ß½«-
  1315. ó« ¬«ñá.  ç¡áτÑ¡¿∩  óδτ¿ß½∩ÑΓß∩,  ¿ßσ«ñ∩  ¿º º¡áτÑ¡¿∩ »Ñαó«⌐
  1316. ¬«¡ßΓá¡Γδ ¿½¿ ß¼ÑΘÑ¡¿∩ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá »ÑαѼѡ¡«⌐, ¬ ¬«Γ«α«¼π
  1317. ñ«íáó½∩ÑΓß∩ ¿½¿ ¿º  ¬«Γ«α«ú«  óδτ¿ΓáÑΓß∩  º¡áτÑ¡¿Ñ ¬áªñ«⌐ ¿º
  1318. »«ß½ÑñπεΘ¿σ ¬«¡ßΓá¡Γ.
  1319.  
  1320.                                    -------------
  1321.  çỿß∞ ó« ----------------------->! ¬«¡ßΓá¡Γá !---------->
  1322.  ó¡πΓαÑ¡¡Ñ¼  !    ---       ^      -------------       ^
  1323.  ¼áΦ¿¡¡«¼    !-->( < )------!                          !
  1324.  ¬«ñÑ        !    ---       !                          !
  1325.              !    ---       !                          !
  1326.              !-->( > )-------                          !
  1327.              !    ---                                  !
  1328.              !  -----------------                      !
  1329.              -->! ¿ñÑ¡Γ¿Σ¿¬áΓ«α !-----------------------
  1330.                 !  »ÑαѼѡ¡«⌐   ! !                  ^
  1331.                 ----------------- !                  !
  1332.                              ------                  -------
  1333.                              !      ------   -----------   !
  1334.                              ------>!º¡á¬!-->!¬«¡ßΓá¡Γá!----
  1335.                                 ^   ------   -----------  !
  1336.                                 !                         !
  1337.                                 ---------------------------
  1338.  
  1339.      àß½¿ ºá»¿ß∞ ó ¼áΦ¿¡¡«¼ ¬«ñÑ ß«ßΓ«¿Γ Γ«½∞¬« ¿º  ¬«¡ßΓá¡Γ
  1340. ¿  Ñß½¿ ÑÑ º¡áτÑ¡¿Ñ ½Ñª¿Γ ó 8-í¿Γ«ó«¼ ñ¿á»áº«¡Ñ (0..255), Γ«
  1341. «¡á »«α«ªñáÑΓ «ñ¿¡ íá⌐Γ ¬«ñá. àß½¿ º¡áτÑ¡¿Ñ óδσ«ñ¿Γ ºá  úαá-
  1342. ¡¿µπ  8-í¿Γ«ó«ú« ñ¿á»áº«¡á ¿½¿ Ñß½¿ ó¡πΓαÑ¡¡∩∩ ºá»¿ß∞ ßßδ½á-
  1343. ÑΓß∩ ¡á »ÑαѼѡ¡πε, Γ« úÑ¡Ñα¿απÑΓß∩ «ñ¡« ß½«ó« ¬«ñá (¼½áñΦ¿⌐
  1344. º¡áτáΘ¿⌐ íá⌐Γ ß½ÑñπÑΓ »Ñαóδ¼).
  1345.      Ä»ÑαáΓ«αδ < ¿ > ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ «Γ¼Ñ¡δ áóΓ«¼á-
  1346. Γ¿τÑ߬«ú«  óδí«αá  αẼÑαá, ¬«Γ«αδ⌐ íδ½ «»¿ßá¡  αá¡ÑÑ.  àß½¿
  1347. «»ÑαáΓ«α  inline  ¡áτ¿¡áÑΓß∩  ß  «»ÑαáΓ«αá <, Γ« ó ¬«ñ ó¬½ε-
  1348. τáÑΓß∩ Γ«½∞¬« ¼½áñΦ¿⌐ º¡áτáΦ¿⌐ íá⌐Γ º¡áτÑ¡¿∩,  ñáªÑ Ñß½¿ φΓ«
  1349. 16-í¿Γ«ó«Ñ  º¡áτÑ¡¿Ñ.   àß½¿  «»ÑαáΓ«α  inline  ¡áτ¿¡áÑΓß∩ ß
  1350. «»ÑαáΓ«αá >, Γ« ó ¬«ñ  ó¬½ετáÑΓß∩  óßÑúñá  ß½«ó«,  ñáªÑ Ñß½¿
  1351. ßΓáαΦ¿⌐ º¡áτáΘ¿⌐ íá⌐Γ αáóÑ¡ 0. ìá»α¿¼Ñα, «»ÑαáΓ«α:
  1352.  
  1353.   inline(<$1234/>$44);
  1354.  
  1355. úѡѡ¿απÑΓ ¬«ñ ñ½¿¡«⌐ Γα¿ íá⌐Γá: $34,$44,$00.
  1356.      ç¡áτÑ¡¿Ñ ¿ñÑ¡Γ¿Σ¿¬áΓ«αá »ÑαѼѡ¡«⌐ ó« ó¡πΓαÑ¡¡Ñ⌐ ºá»¿ß¿
  1357. »αÑñßΓáó½∩ÑΓ ß«í«⌐ áñαÑß ß¼ÑΘÑ¡¿∩ »ÑαѼѡ¡«⌐ ó¡πΓα¿ ÑÑ íẫ-
  1358. ó«ú« ßÑú¼Ñ¡Γá. üẫóδ⌐ ßÑú¼Ñ¡Γ ú½«íá½∞¡δσ  »ÑαѼѡ¡δσ (»ÑαÑ-
  1359. ¼Ñ¡¡δσ, «»¿ßá¡¡δσ ¡á ßἫ¼ ó¡ÑΦ¡Ñ¼ πα«ó¡Ñ ó ¼«ñπ½Ñ ¿½¿ »α«ú-
  1360. αá¼¼Ñ) ¿ Γ¿»¿º«óá¡¡δÑ ¬«¡ßΓá¡Γδ, ñ«ßΓπ» ¬  ¬«Γ«αδ¼ «αúá¡¿º«-
  1361. óá¡ τÑαѺ αÑú¿ßΓα DS, »αÑñßΓáó½∩εΓ ß«í«⌐ ßÑú¼Ñ¡Γ ñá¡¡δσ. üá-
  1362. º«óδ⌐ ßÑú¼Ñ¡Γ  ½«¬á½∞¡δσ  »ÑαѼѡ¡δσ  (»ÑαѼѡ¡δσ, «»¿ßá¡¡δσ
  1363. ó¡πΓα¿ »«ñ»α«úαá¼¼δ) ∩ó∩ÑΓß∩ ßÑú¼Ñ¡Γ«¼ ßΓѬá.  é φΓ«¼ ß½πτáÑ
  1364. ß¼ÑΘÑ¡¿Ñ »ÑαѼѡ¡«⌐ «Γ¡«ß¿Γß∩ ó  αÑú¿ßΓαπ  éÉ, τΓ« áóΓ«¼áΓ¿-
  1365. τÑ߬¿ ó½ÑτÑΓ ºá ß«í«⌐ óδí«α ßÑú¼Ñ¡Γá ßΓѬá.
  1366.  
  1367.       Åα¿¼Ñτá¡¿Ñ: ÉÑú¿ßΓαδ éÉ, SÉ, SS ¿ DS ñ«½ª¡δ ß«σαá¡∩Γ∞-
  1368.       ß∩ ß »«¼«Θ∞ε ó¡πΓαÑ¡¡¿σ «»ÑαáΓ«α«ó. ç¡áτÑ¡¿Ñ óßÑσ ñαπ-
  1369.       ú¿σ αÑú¿ßΓα«ó ¼«ª¡« ¿º¼Ñ¡∩Γ∞.
  1370.  
  1371.      é  ß½ÑñπεΘѼ  »α¿¼ÑαÑ  «»ÑαáΓ«αá  inline   úÑ¡Ñα¿απÑΓß∩
  1372. ¼áΦ¿¡¡δ⌐ ¬«ñ ñ½∩  ºá»¿ß¿  ºáñá¡¡«ú«  τ¿ß½á ß½«ó ¿½¿ ñá¡¡δσ ó
  1373. π¬áºá¡¡πε »ÑαѼѡ¡πε.  Åα¿ ó맮óÑ  »α«µÑñπαδ  FillWord Count
  1374. ß½«ó ß« º¡áτÑ¡¿Ñ¼ Data ºá»¿ßδóáÑΓß∩ ó »á¼∩Γ¿, ¡áτ¿¡á∩ ß »Ñα-
  1375. ó«ú« íá⌐Γá, «í«º¡áτÑ¡¡«ú« ¬á¬ Dest.
  1376.  
  1377.    procedure FillWord(var Dest, Count, Data: word);
  1378.    begin
  1379.      inline(
  1380.        $C4/$BE/Dest/    { LES DI,Dest[BP]  }
  1381.        $8B/$8e/Count/   { MOV CX,Xount[BP] }
  1382.        $8B/$86/Data/    { MOV AX,Data[BP]  }
  1383.        $FC/             { CLD              }
  1384.        $F3/$AB);        { REP STOSW        }
  1385.  
  1386.      é «»ÑαáΓ«α¡«⌐ τáßΓ¿ í½«¬á «»ÑαáΓ«αδ  inline ¼«úπΓ  ßó«-
  1387. í«ñ¡« τÑαÑñ«óáΓ∞ß∩ ß ñαπú¿¼¿ «»ÑαáΓ«αἿ.
  1388.  
  1389.                     ä¿αÑ¬Γ¿óδ inline
  1390.  
  1391.      ä¿αÑ¬Γ¿óδ inline »«ºó«½∩εΓ »¿ßáΓ∞ »α«µÑñπαδ ¿  Σπ¡¬µ¿¿,
  1392. ¬«Γ«αδÑ »αÑ«íαáºπεΓß∩  »α¿  ¬áªñ«¼ ó맮óÑ ó  ºáñá¡¡πε »«ß½Ñ-
  1393. ñ«óáΓѽ∞¡«ßΓ∞ ¿¡ßΓαπ¬µ¿⌐, »αÑñßΓáó½∩εΘ¿σ ß«í«⌐ ¼áΦ¿¡¡δ⌐ ¬«ñ.
  1394. æ¿¡Γá¬ß¿ß π ñ¿αÑ¬Γ¿óδ  inline Γᬫ⌐  ªÑ,  ¬á¬  π  «»ÑαáΓ«αá
  1395. inline:
  1396.  
  1397.                                   --------------
  1398.  ä¿αÑ¬Γ¿óá ---------------------->!  «»ÑαáΓ«α  !-->
  1399.   inline                          !  inline    !
  1400.                                   --------------
  1401.  
  1402.      Åα¿ ó맮óÑ  «íδτ¡«⌐  »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿ (ó¬½ετá∩ ΓÑ,
  1403. ¬«Γ«αδÑ ß«ñÑαªáΓ ó ßÑíÑ «»ÑαáΓ«αδ inline) ¬«¼¿½∩Γ«α«¼  úÑ¡Ñ-
  1404. α¿απÑΓß∩ Γᬫ⌐ ¬«ñ,  ó  ¬«Γ«α«¼  »áαá¼ÑΓαδ  (Ñß½¿ «¡¿ ¿¼ÑεΓ-
  1405. ß∩) »«¼ÑΘáεΓß∩ ó ßΓѬ, á ºáΓѼ πªÑ ñ½∩ «íαáΘÑ¡¿∩ ¬ »α«µÑñπαÑ
  1406. ¿½¿ Σπ¡¬µ¿¿  úÑ¡Ñα¿απÑΓß∩  ¿¡ßΓαπ¬µ¿∩ æÇLL. Äñ¡á¬«, ¬«úñá óδ
  1407. «íαáΘáÑΓÑß∞ ¬ »α«µÑñπαÑ ¿½¿ Σπ¡¬µ¿¿ Γ¿»á inline,  ¬«¼»¿½∩Γ«α
  1408. ó¼ÑßΓ«  ¿¡ßΓαπ¬µ¿¿  æÇLL úÑ¡Ñα¿απÑΓ ¬«ñ ¿º ñ¿αÑ¬Γ¿óδ inline.
  1409. é«Γ ¬«α«Γ¬¿⌐ »α¿¼Ñα ñóπσ ñ¿αÑ¬Γ¿ó inline:
  1410.  
  1411.      procedure DisableInterrupts; inline($FA); { CLI }
  1412.      procedure EnableInterrupts; inline($FB); { STI }
  1413.  
  1414.      è«úñá óδºδóáÑΓß∩ »α«µÑñπαá DisableInterrupt Γ«  úÑ¡Ñα¿-
  1415. απÑΓß∩ «ñ¿¡ íá⌐Γ ¬«ñá - ¿¡ßΓαπ¬µ¿∩ æLI.
  1416.      Åα«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿,  «»¿ßá¡¡δÑ  ß  »«¼«Θ∞ε  ñ¿αÑ¬Γ¿ó
  1417. inline,  ¼«úπΓ  ¿¼ÑΓ∞  »áαá¼ÑΓαδ, «ñ¡á¬« ¡á »áαá¼ÑΓαδ ¡Ñ½∞º∩
  1418. ßßδ½áΓ∞ß∩ ß¿¼ó«½¿τÑ߬¿ (σ«Γ∩ ñ½∩ ñαπú¿σ »ÑαѼѡ¡δσ  φΓ«  ñ«-
  1419. »π߬áÑΓß∩).  è Γ«¼π ªÑ »«ß¬«½∞¬π ΓᬿѠ»α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿
  1420. Σá¬Γ¿τÑ߬¿ ∩ó½∩εΓß∩ ¼á¬α«¬«¼á¡ñἿ, π ¡¿σ «ΓßπΓßΓóπεΓ  áóΓ«-
  1421. ¼áΓ¿τÑ߬¿⌐  ¬«ñ  ß  ¿¡ßΓαπ¬µ¿∩¼¿  óσ«ñá ¿½¿ óδσ«ñá ¿ ¡¿¬á¬¿σ
  1422. ¿¡ßΓαπ¬µ¿⌐ ó«ºóαáΓá π»αáó½Ñ¡¿∩ ¡Ñ ΓαÑíπÑΓß∩.
  1423.      æ½ÑñπεΘá∩ Σπ¡¬µ¿∩ »α«¿ºó«ñ¿Γ  π¼¡«ªÑ¡¿Ñ ñóπσ µÑ½δσ º¡á-
  1424. τÑ¡¿⌐, ó αѺπ½∞ΓáΓÑ  τÑú«  »«½πτáÑΓß∩  τ¿ß½« ñ½¿¡¡«ú« µÑ½«ú«
  1425. Γ¿»á:
  1426.  
  1427.   function LongMul(X,Y : integer): longint;
  1428.     inline(
  1429.       $58/              { POP DS ; ¿ºó½Ñτ∞ ¿º ßΓѬá Y }
  1430.       $5A/              { POP AX ; ¿ºó½Ñτ∞ ¿º ßΓѬá X }
  1431.       $F7/$EA);         { IMUL DX ; DX:AX = X*Y }
  1432.  
  1433.      ÄíαáΓ¿ΓѠ󡿼᡿Ѡ¡á «ΓßπΓßΓó¿Ñ ¿¡ßΓαπ¬µ¿⌐  óσ«ñá ¿ óδ-
  1434. σ«ñá ¿ ¿¡ßΓαπ¬µ¿¿  ó«ºóαáΓá  π»αáó½Ñ¡¿∩.  êσ  »α¿ßπΓßΓó¿∩ ¡Ñ
  1435. ΓαÑíπÑΓß∩,  »«ß¬«½∞¬π »α¿ ó맮óÑ φΓ«⌐ Σπ¡¬µ¿¿ ß«ñÑαªáΘ¿Ñß∩ ó
  1436. ¡Ñ⌐ τÑΓδαÑ íá⌐Γá »α«ßΓ« ó¬½ετáεΓß∩ ó ΓѬßΓ »α«úαá¼¼δ.
  1437.      ä¿αÑ¬Γ¿óδ inline »αÑñ¡áº¡áτÑ¡δ Γ«½∞¬« ñ½∩ «τÑ¡∞  ¬«α«Γ-
  1438. ¬¿σ (¼Ñ¡ÑÑ 10 íá⌐Γ«ó) »α«µÑñπα ¿ Σπ¡¬µ¿⌐.
  1439.      êº-ºá Γ«ú«, τΓ« »α«µÑñπαδ ¿ Σπ¡¬µ¿¿ Γ¿»á  inline  ¿¼ÑεΓ
  1440. σáαá¬ΓÑα ¼á¬α««»αÑñѽѡ¿⌐, «¡¿ ¡Ñ ¼«úπΓ ¿ß»«½∞º«óáΓ∞ß∩ ó ¬á-
  1441. τÑßΓóÑ áαúπ¼Ñ¡Γá «»ÑαáΓ«αá @ ¿½¿ ó  Σπ¡¬µ¿∩σ  Addr,  Äffs  ¿
  1442. Seg.
  1443.  
  1444.               Åα∩¼á∩ »á¼∩Γ∞ ¿ ñ«ßΓπ» ¬ »«αΓá¼
  1445.  
  1446.                   îáßß¿óδ îѼ, îѼW ¿ îѼL
  1447.  
  1448.      é Æπαí«-Åá߬á½Ñ αÑ὿º«óá¡δ Γα¿ »αÑñ«»αÑñѽѡ¡δσ ¼áßß¿-
  1449. óá - îѼ, îѼW ¿ îѼL. ¥Γ¿ ¼áßß¿óδ  ¿ß»«½∞ºπεΓß∩ ñ½∩ »α∩¼«ú«
  1450. ñ«ßΓπ»á ¬  »á¼∩Γ¿.  èáªñδ⌐  φ½Ñ¼Ñ¡Γ ¼áßß¿óá îѼ »αÑñßΓáó½∩ÑΓ
  1451. ß«í«⌐ íá⌐Γ,  ¬áªñδ⌐  φ½Ñ¼Ñ¡Γ îѼW - φΓ« ß½«ó«, á ¬áªñδ⌐ φ½Ñ-
  1452. ¼Ñ¡Γ ¼áßß¿óá îѼL ∩ó½∩ÑΓß∩ º¡áτÑ¡¿Ñ¼ ñ½¿¡¡«ú« µÑ½«ú« Γ¿»á.
  1453.      ä½∩ ¿¡ñѬ߫ó ¼áßß¿ó«ó îѼ ¿ß»«½∞ºπÑΓß∩ ß»Ñµ¿á½∞¡δ⌐ ß¿¡-
  1454. Γá¬ß¿ß: ñ½∩ Γ«ú«,  τΓ«íδ  ºáñáΓ∞  íẫóδ⌐ ßÑú¼Ñ¡Γ ¿ ß¼ÑΘÑ¡¿∩
  1455. ñ½∩ ∩τÑ⌐¬¿ »á¼∩Γ¿, ¬ ¬«Γ«α«⌐  »α«¿ºó«ñ¿Γß∩ ñ«ßΓπ», ¿ß»«½∞ºπ-
  1456. εΓß∩ ñóá  óδαáªÑ¡¿∩  µÑ½«ú« Γ¿»á ñ½¿¡«⌐ ó ß½«ó«, αáºñѽѡ¡δÑ
  1457. ñó«ÑΓ«τ¿Ñ¼. Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó:
  1458.  
  1459.   Mem[$0040 : $0049] := 7;
  1460.   Data := Mem[Seg(V) : Ofs(V)];
  1461.   MemLong := MemL[64 : 3*4];
  1462.  
  1463.      ÅÑαóδ⌐   «»ÑαáΓ«α   ß«σαá¡∩ÑΓ   º¡áτÑ¡¿Ñ   7   ó  íá⌐ΓÑ
  1464. $0040:$0049. éΓ«α«⌐ «»ÑαáΓ«α »«¼ÑΘáÑΓ º¡áτÑ¡¿Ñ ñ½¿¡«⌐ ó ß½«-
  1465. ó«, ºá»¿ßá¡¡«Ñ ó »Ñαóδσ ñóπσ íá⌐Γáσ »ÑαѼѡ¡«⌐ V, ó »ÑαѼѡ-
  1466. ¡πε Data.  ÆαÑΓ¿⌐ «»ÑαáΓ«α »«¼ÑΘáÑΓ º¡áτÑ¡¿Ñ ñ½¿¡¡«ú« µÑ½«ú«
  1467. Γ¿»á, ºá»¿ßá¡¡«Ñ »« áñαÑßπ $0040:$000æ ó »ÑαѼѡ¡πε îѼLong.
  1468.  
  1469.                     îáßß¿óδ É«rt ¿ É«rtW
  1470.  
  1471.      ä½∩ ñ«ßΓπ»á  ¬  »«αΓá¼  ñá¡¡δσ  µÑ¡Γαá½∞¡«ú« »α«µÑßß«αá
  1472. 80σ86 ó Æπαí«-Åá߬á½Ñ αÑ὿º«óá¡δ ñóá  »αÑñ«»αÑñѽѡ¡δσ ¼áß-
  1473. ß¿óá - É«rt ¿ É«rtW. Äíá ¼áßß¿óá ∩ó½∩εΓß∩ «ñ¡«¼Ñα¡δ¼¿ ¿ ¬áª-
  1474. ñδ⌐ φ½Ñ¼Ñ¡Γ »αÑñßΓáó½∩ÑΓ ß«í«⌐ »«αΓ  ñá¡¡δσ, ñ½∩ ¬«Γ«αδσ áñ-
  1475. αÑß »«αΓá ß««ΓóÑΓßΓóπÑΓ ¿¡ñѬßπ.  ê¡ñѬ߫¼ ∩ó½∩ÑΓß∩ º¡áτÑ¡¿Ñ
  1476. µÑ½«ú« Γ¿»á ñ½¿¡«⌐ ó ß½«ó«. ¥½Ñ¼Ñ¡Γδ ¼áßß¿óá É«rt ¿¼ÑεΓ ñ½¿-
  1477. ¡π «ñ¿¡ íá⌐Γ, á φ½Ñ¼Ñ¡Γδ ¼áßß¿óá É«rtW ¿¼ÑεΓ ñ½¿¡π «ñ¡« ß½«-
  1478.      è«úñá φ½Ñ¼Ñ¡Γπ ¼áßß¿óá  É«rt   ¿½¿  É«rtW »α¿ßóá¿óáÑΓß∩
  1479. º¡áτÑ¡¿Ñ, Γ« φΓ« º¡áτÑ¡¿Ñ »αÑñßΓáó½∩ÑΓ ß«í«⌐ óδó«ñ ó óδíαá¡-
  1480. ¡δ⌐ »«αΓ. è«úñá φ½Ñ¼Ñ¡Γδ ¼áßß¿óá  É«rt  ¿½¿  É«rtW  ∩ó½∩εΓß∩
  1481. ßßδ½¬á¼¿ ¡á óδαáªÑ¡¿Ñ, Ñú«  º¡áτÑ¡¿Ñ »αÑñßΓáó½∩ÑΓ ß«í«⌐ óó«ñ
  1482. ¿º óδíαá¡¡«ú« »«αΓá. Åα¿óÑñѼ ¡Ñ߬«½∞¬« »α¿¼Ñα«ó:
  1483.  
  1484.  Port[$20] := $20;
  1485.  Port[Base] := Port[Base] xor Mask;
  1486.  while Port[$B2] and $80 = 0 do         { «ª¿ñá¡¿Ñ }
  1487.  
  1488.      êß»«½∞º«óá¡¿Ñ ¼áßß¿ó«ó É«rt ¿ É«rtW «úαá¡¿τÑ¡« Γ«½∞¬« ó
  1489. «Γ¡«ΦÑ¡¿¿ »α¿ßóá¿óá¡¿∩ ¿ ßß佬¿ ¡á óδαáªÑ¡¿Ñ,  Γ«  ÑßΓ∞ φ½Ñ-
  1490. ¼Ñ¡Γδ ¼áßß¿ó«ó É«rt ¿ É«rtW  ¡Ñ  ¼«úπΓ  ¿ß»«½∞º«óáΓ∞ß∩ ó ¬á-
  1491. τÑßΓóÑ  »áαá¼ÑΓα«ó-»ÑαѼѡ¡δσ.  ü«½ÑÑ  Γ«ú«,  ßß佬¿ ¡á óÑß∞
  1492. ¼áßß¿ó É«rt ¿½¿ É«rtW (íѺ π¬áºá¡¿∩ ¿¡ñѬ߫ó)  ¡Ñ ñ«»π߬áεΓ-
  1493. ß∩.
  1494.  
  1495.                     Äíαáí«Γ¬á »αÑαδóá¡¿⌐
  1496.  
  1497.      ü¿í½¿«ΓѬᠠ¿ß»«½¡∩εΘÑ⌐  ß¿ßΓÑ¼δ  Æπαí«-Åá߬á½∩  ¿ ¬«ñ,
  1498. ß«ºñáóáѼδ⌐ ¬«¼»¿½∩Γ«α«¼, ∩ó½∩εΓß∩  »«½¡«ßΓ∞ε  »αÑαδóáÑ¼δ¼¿.
  1499. ü«½∞Φ¿¡ßΓó« ¿º »α«úαá¼¼ í¿í½¿«ΓѬ¿ ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ ∩ó½∩-
  1500. εΓß∩  ΓᬪѠ αÑÑ¡ΓÑαáíѽ∞¡δ¼¿,  τΓ«  »«ºó«½∩ÑΓ óá¼ »¿ßáΓ∞ ¡á
  1501. Æπαí«-Åá߬á½Ñ »α«úαá¼¼δ «íαáí«Γ¬¿ »αÑαδóá¡¿⌐.
  1502.  
  1503.           Éáºαáí«Γ¬á »α«µÑñπα «íαáí«Γ¬¿ »αÑαδóá¡¿⌐
  1504.  
  1505.      Åα«µÑñπαδ  «íαáí«Γ¬¿  »αÑαδóá¡¿⌐  «»¿ßδóáεΓß∩ ß »«¼«Θ∞ε
  1506. ñ¿αÑ¬Γ¿óδ  Interrupt. é ¬áªñ«⌐  »α«µÑñπαÑ «íαáí«Γ¬¿ »αÑαδóá-
  1507. ¡¿⌐ ñ«½ªÑ¡ «»αÑñѽ∩Γ∞ß∩  ß½ÑñπεΘ¿⌐ ºáú«½«ó«¬ »α«µÑñπαδ (¿½¿,
  1508. ¬á¬ íπñÑΓ »«∩ß¡∩Γ∞ß∩ ñá½ÑÑ, Ñú« »«ñ¼¡«ªÑßΓó«):
  1509.  
  1510.  procedure IntHandler(Flags,CS,IPAX,BX,CX,DX,SI,DI,DS,ES,BP:
  1511.  
  1512.                        word);
  1513.   interrupt;
  1514.    begin
  1515.      .
  1516.      .
  1517.      .
  1518.    end;
  1519.  
  1520.      èᬠ ¼«ª¡«  ó¿ñÑΓ∞,  óßÑ αÑú¿ßΓαδ »ÑαÑñáεΓß∩ ó ¬áτÑßΓóÑ
  1521. »ßÑóñ«-»áαá¼ÑΓα«ó, ΓᬠτΓ« óδ ¼«ªÑΓÑ ¿σ ¿ß»«½∞º«óáΓ∞ ¿ ¿º¼Ñ-
  1522. ¡∩Γ∞ ó ßó«Ñ⌐ »α«úαá¼¼Ñ.  éδ ¼«ªÑΓÑ «»πßΓ¿Γ∞ ¡Ñ¬«Γ«αδÑ ¿º »á-
  1523. αá¼ÑΓα«ó ¿½¿ óßÑ  »áαá¼ÑΓαδ, ¡áτ¿¡á∩ ß »áαá¼ÑΓαá Flag ¿ ¬«¡-
  1524. τá∩ éÉ.  Å«»δΓ¬á  «»¿ßáΓ∞  í«½∞ΦÑÑ ¬«½¿τÑßΓó« »áαá¼ÑΓα«ó ¿½¿
  1525. »«»δΓ¬á «»πßΓ¿Γ∞ «Γñѽ∞¡δ⌐  »áαá¼ÑΓα íѺ »α«»π߬á Γá¬ªÑ Γ«ú«
  1526. »áαá¼ÑΓαá, ºá ¬«Γ«αδ¼ «¡ ß½ÑñπÑΓ, ∩ó½∩ÑΓß∩ «Φ¿í¬«⌐, σ«Γ∩ ß«-
  1527. «íΘÑ¡¿∩ « ¡Ñ⌐ ¡Ñ óδñáÑΓß∩. ìá»α¿¼Ñα:
  1528.  
  1529.  procedure IntHandler(DI,ES,BP : word);
  1530.  procedure IntHandler(SI,DI,DS,ES,BP : word);
  1531.  
  1532.      Åα¿ óσ«ñÑ ó ¡ÑÑ »α«µÑñπαá «íαáí«Γ¬¿  »αÑαδóá¡¿⌐ áóΓ«¼á-
  1533. Γ¿τÑ߬¿ ß«σαá¡∩ÑΓ óßÑ αÑú¿ßΓαδ (¡Ñºáó¿ß¿¼« «Γ ºáú«½«ó¬á »α«-
  1534. µÑñπαδ) ¿ ¿¡¿µ¿á½¿º¿απÑΓ αÑú¿ßΓα DS:
  1535.  
  1536.  PUSH AX
  1537.  PUSH BX
  1538.  PUSH DX
  1539.  PUSH SI
  1540.  PUSH DI
  1541.  PUSH DS
  1542.  PUSH ES
  1543.  PUSH BP
  1544.  MOV  BP,SP
  1545.  SUB  SP,LocalSize
  1546.  MOV  AX,SEG DATA
  1547.  MOV  DS,AX
  1548.  
  1549.      ÄíαáΓ¿ΓѠ󡿼᡿Ѡ¡á  «ΓßπΓßΓó¿Ñ  »α«µÑñπαδ  æLI, τΓ«íδ
  1550. αáºαÑΦ¿Γ∞ ñá½∞¡Ñ⌐Φ¿Ñ »αÑαδóá¡¿∩.  æ »«¼«Θ∞ε «»ÑαáΓ«αá inline
  1551. óδ ¼«ªÑΓÑ ¡á»¿ßáΓ∞ ÑÑ ßἿ (Ñß½¿ φΓ« ¡Ñ«íσ«ñ¿¼«). ìáí«α «»Ñ-
  1552. αáΓ«α«ó  óδσ«ñá  ó«ßßΓá¡áó½¿óáÑΓ αÑú¿ßΓαδ ¿ óδ»«½¡∩ÑΓ  Σπ¡¬-
  1553. µ¿ε ó«ºóαáΓá »αÑαδóá¡¿∩:
  1554.  
  1555.   MOV SP,BP
  1556.   POP BP
  1557.   POP ES
  1558.   POP DS
  1559.   POP DI
  1560.   POP SI
  1561.   POP DX
  1562.   POP CX
  1563.   POP BX
  1564.   POP AX
  1565.   IRET
  1566.  
  1567.      Åα«µÑñπαá  «íαáí«Γ¬¿  »αÑαδóá¡¿⌐  ¼«ªÑΓ  ¼«ñ¿Σ¿µ¿α«óáΓ∞
  1568. ßó«¿ »áαá¼ÑΓαδ. è«úñá «íαáí«Γτ¿¬ »αÑαδóá¡¿⌐ ó«ºóαáΓ¿Γ π»αáó-
  1569. ½Ñ¡¿Ñ, ¿º¼Ñ¡Ñ¡¿Ñ «»¿ßá¡¡δσ  »áαá¼ÑΓα«ó  »α¿óÑñÑΓ ¬ ¿º¼Ñ¡Ñ¡¿ε
  1570. ß«ñÑন¼«ú« ß««ΓóÑΓßΓóπεΘ¿σ  αÑú¿ßΓα«ó.  ¥Γ« ¼«ªÑΓ «¬áºáΓ∞ß∩
  1571. »«½Ñº¡δ¼, ¬«úñá óδ ¿ß»«½∞ºπÑΓÑ  «íαáí«Γτ¿¬  »αÑαδóá¡¿⌐ ó ¬á-
  1572. τÑßΓóÑ »«½∞º«óáΓѽ∞߬«ú« ßÑαó¿ß¡«ú«  ßαÑñßΓóá,  á¡á½«ú¿τ¡«ú«
  1573. ó맮óπ Σπ¡¬µ¿¿ äÄæ »« ¿¡ßΓαπ¬µ¿¿ INÆ 21ì.
  1574.      é »α«µÑñπαáσ «íαáí«Γ¬¿ »αÑαδóá¡¿⌐, «íß½πª¿óáεΘ¿σ »αÑαδ-
  1575. óá¡¿∩, »«½πτáѼδÑ «Γ á»»áαáΓ¡δσ ßσѼ, ß½ÑñπÑΓ ó«ºñÑনóáΓ∞ß∩
  1576. «Γ ¿ß»«½∞º«óá¡¿∩  ¬á¬¿σ-½¿í«  »α«úαá¼¼  óó«ñá-óδó«ñá  Æπαí«-
  1577. Åá߬á½∩ ¿½¿ »α«úαá¼¼ αáß»αÑñѽѡ¿∩ »á¼∩Γ¿, »«ß¬«½∞¬π «¡¿  ¡Ñ
  1578. ∩ó½∩εΓß∩  αÑÑ¡ΓÑαáíѽ∞¡δ¼¿.   êº-ºá  ¿σ  ¡ÑαÑÑ¡ΓÑαáíѽ∞¡«ßΓ¿
  1579. ¡Ñ½∞º∩ ΓᬪѠ¿ß»«½∞º«óáΓ∞ ¡¿¬á¬¿Ñ Σπ¡¬µ¿¿ äÄæ.
  1580.  
  1581.           äαá⌐óÑαδ πßΓα«⌐ßΓó ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó
  1582.  
  1583.      èᬠπªÑ π»«¼¿¡á½«ß∞ ó â½áóÑ 10 ("éó«ñ ¿  óδó«ñ"),  Æπα-
  1584. í«-Åá߬á½∞ »«ºó«½∩ÑΓ óá¼ «»αÑñѽ¿Γ∞ óáΦ¿ ß«íßΓóÑ¡¡δÑ ñαá⌐óÑ-
  1585. αδ πßΓα«⌐ßΓó ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó.  äαá⌐óÑα  πßΓα«⌐ßΓóá  ñ½∩
  1586. ΓѬßΓ«óδσ  Σá⌐½«ó  »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¡áí«α ¿º τÑΓδαÑσ Σπ¡¬-
  1587. µ¿⌐, »αÑñßΓáó½∩εΘ¿σ ß«í«⌐ »«½¡δ⌐  ¿¡ΓÑαΣÑ⌐ß  ¼Ñªñπ  Σá⌐½«ó«⌐
  1588. ß¿ßΓѼ«⌐  Æπαí«-Åá߬á½∩  ¿ ¬á¬¿¼-½¿í« πßΓα«⌐ßΓó«¼. ¥Γ¿¼¿ τÑ-
  1589. Γδα∞¼∩ Σπ¡¬µ¿∩¼¿, ß »«¼«Θ∞ε ¬«Γ«αδσ «»αÑñѽ∩ÑΓß∩ ½εí«⌐ ñαá⌐-
  1590. óÑα πßΓα«⌐ßΓóá, ∩ó½∩εΓß∩ Σπ¡¬µ¿¿:
  1591.  
  1592.  Open, InOut, Flush, Close
  1593.  
  1594.      çáú«½«ó«¬ Σπ¡¬µ¿¿ ñ½∩ ¬áªñ«⌐  Σπ¡¬µ¿¿  ¿¼ÑÑΓ  ß½ÑñπεΘ¿⌐
  1595. ó¿ñ:
  1596.  
  1597.   function DeviceFunc(var F: TextRec) integer
  1598.  
  1599. úñÑ ÆÑσtRÑß - Γ¿» ºá»¿ß¿ ΓѬßΓ«ó«ú« Σá⌐½á, ¬«Γ«αδ⌐ «»αÑñѽ∩-
  1600. ÑΓß∩ ó »αÑñδñπΘѼ αáºñѽѠ»«ñ ºáú½áó¿Ñ¼ "Æ¿»δ Σá⌐½«ó". ùΓ«íδ
  1601. ó Σπ¡¬µ¿¿ ¿ß»«½∞º«óá½ß∩  ñá½∞¡¿⌐  Γ¿»  ó맮óá, ¬áªñá∩ ¿º ¡¿σ
  1602. ñ«½ª¡á ¬«¼»¿½¿α«óáΓ∞ß∩ ß ñ¿αÑ¬Γ¿ó«⌐ {$F+}. ç¡áτÑ¡¿Ñ, ó«ºóαá-
  1603. ΘáѼ«Ñ  ¬áªñ«⌐  Σπ¬¡µ¿Ñ⌐,  »αÑñßΓáó½∩εΘÑ⌐  ß«í«⌐ ¿¡ΓÑαΣÑ⌐ß ß
  1604. πßΓα«⌐ßΓó«¼,  ßΓá¡«ó¿Γß∩  º¡áτÑ¡¿Ñ¼,  ó«ºóαáΘáÑ¼δ¼  Σπ¡¬µ¿Ñ⌐
  1605. IOResult. é«ºóαáΘáѼ«Ñ º¡áτÑ¡¿Ñ 0 ßó¿ñÑΓѽ∞ßΓóπÑΓ  «í πß»ÑΦ-
  1606. ¡«¼ ºáóÑαΦÑ¡¿¿ «»Ñαᵿ¿.
  1607.  
  1608.       Åα¿¼Ñτá¡¿Ñ: ò«Γ∩ ÆÑσtRec ∩ó½∩ÑΓß∩ ó ßΓá¡ñáαΓ¡«¼ ¼«ñπ½Ñ
  1609.       Dos ó¡πΓαÑ¡¡Ñ⌐  ºá»¿ß∞ε,  óδ ¼«ªÑΓÑ  »ÑαÑ«»αÑñѽ¿Γ∞ ÑÑ
  1610.       (ᬬπαáΓ¡«!), ¬á¬ φΓ« íπñÑΓ ñѽáΓ∞ß∩  ñá½ÑÑ.  ìáó᪡«,
  1611.       ¬á¬¿Ñ ¿¼Ñ¡á ¿ß»«½∞ºπεΓß∩ ñ½∩  Σπ¡¬µ¿⌐,  «ßπΘÑßΓó½∩εΘ¿σ
  1612.       ¿¡ΓÑαΣÑ⌐ß ß  πßΓα«⌐ßΓó«¼,  ¡«  »áαá¼ÑΓα ¬áªñ«⌐ Σπ¡¬µ¿¿
  1613.       ñ«½ªÑ¡ íδΓ∞ »áαá¼ÑΓα«¼-»ÑαѼѡ¡«⌐ ¿ ¿¼ÑΓ∞ Γ¿» ÆÑσtRec,
  1614.       á αѺπ½∞ΓáΓ Σπ¡¬µ¿¿ ñ«½ªÑ¡ íδΓ∞ µÑ½«ú« Γ¿»á.
  1615.  
  1616.      ä½∩ Γ«ú«, τΓ«íδ  ßó∩ºáΓ∞ Σπ¡¬µ¿ε, «ßπΘÑßΓó½∩εΘπε ¿¡ΓÑα-
  1617. ΣÑ⌐ß ß πßΓα«⌐ßΓó«¼, ß ¬«¡¬αÑΓ¡δ¼ Σá⌐½«¼, ¡πª¡« ¡á»¿ßáΓ∞ ß»Ñ-
  1618. µ¿á½∞¡πε »α«µÑñπαπ Assign (á¡á½«ú¿τ¡πε »α«µÑñπαÑ AssignCrt ó
  1619. ¼«ñπ½Ñ Crt). ¥Γá »α«µÑñπαá ñ«½ª¡á »α¿ßóá¿óáΓ∞ áñαÑßá τÑΓδαÑσ
  1620. Σπ¡¬µ¿⌐,  «ßπΘÑßΓó½∩εΘ¿σ  ¿¡ΓÑαΣÑ⌐ß  ß πßΓα«⌐ßΓóἿ, τÑΓδαѼ
  1621. π¬áºáΓѽ∩¼ ¡á Σπ¡¬µ¿¿ ó »ÑαѼѡ¡«⌐ ΓѬßΓ«ó«ú« Σá⌐½á.  é »α¿-
  1622. ñáτπ   ¬  φΓ«¼π  óδ  ñ«½ª¡δ  ß«σαá¡¿Γ∞  ß¿ßΓѼ¡πε  ¬«¡ßΓá¡Γπ
  1623. fmClosed ó »«½Ñ î«dÑ, ºá»¿ßáΓ∞ αẼÑα íπΣÑαá ΓѬßΓ«ó«ú« Σá⌐-
  1624. ½á ó »ÑαѼѡπε éufSize, ß«σαá¡¿Γ∞ π¬áºáΓѽ∞ íπΣÑαá ΓѬßΓ«ó«-
  1625. ú« Σá⌐½á ó »ÑαѼѡ¡«⌐ BufPtr ¿ «τ¿ßΓ¿Γ∞ ßΓ᫬π Ná¼Ñ.
  1626.      ÅαÑñ»«½«ª¿¼, ¡á»α¿¼Ñα, τΓ« ¿¼Ñ¡á¼¿ τÑΓδαÑσ Σπ¡¬µ¿⌐, αÑ-
  1627. ὿ºπεΘ¿σ ¿¡ΓÑαΣÑ⌐ß ß πßΓα«⌐ßΓó«¼, ∩ó½∩εΓß∩:
  1628.  
  1629.  DevOpen, DevInOut, DevFlush, DevClose, Assign
  1630.  
  1631. Æ«úñá »α«µÑñπαá Assing ¼«ªÑΓ óδú½∩ñÑΓ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
  1632.  
  1633.  procedure AssignDev(var F: Text);
  1634.  begin
  1635.    with TextRec(F) do
  1636.    begin
  1637.      mode      := fmClosed;
  1638.      BufSize   := SizeOf(Buffer);
  1639.      BufPtr    := @Buffer;
  1640.      OpenFunc  := @DevOpen;
  1641.      InOutFunc := @DevInOut;
  1642.      FlushFunc := @DevFlush;
  1643.      CloseFunc := @DevClose;
  1644.      Name[0]   := #0;
  1645.   end;
  1646.  end;
  1647.  
  1648.      ä½∩  σαá¡Ñ¡¿∩  »«½∞º«óáΓѽ∞߬«⌐  ¿¡Σ«α¼áµ¿¿  ó Σπ¡¬µ¿¿,
  1649. αÑ὿ºπεΘ¿Ñ ¿¡ΓÑαΣÑ⌐ß ß  πßΓα«⌐ßΓó«¼,  ¼«ªÑΓ  ¿ß»«½∞º«óáΓ∞ß∩
  1650. »«½Ñ ºá»¿ß¿ UserData. ¥Γ« »«½Ñ ¡Ñ ¿º¼Ñ¡∩ÑΓß∩ Σá⌐½«ó«⌐ ß¿ßΓÑ-
  1651. ¼«⌐ Æπαí«-Åá߬á½∩.
  1652.  
  1653.                         öπ¡¬µ¿∩ ÄαÑn
  1654.  
  1655.      öπ¡¬µ¿∩ ÄαÑn óδºδóáÑΓß∩ ßΓá¡ñáαΓ¡δ¼¿ »α«µÑñπαἿ RÑset,
  1656. RÑwritÑ ¿ AppÑnd ñ½∩ «Γ¬αδΓ¿∩ ΓѬßΓ«ó«ú« Σá⌐½á, ßó∩ºá¡¡«ú« ß
  1657. πßΓα«⌐ßΓó«¼. ùΓ«íδ «Γ¼ÑΓ¿Γ∞  íδ½á ½¿ Σπ¡¬µ¿∩ ÄαÑn óδºóá¡á ¿º
  1658. »α«µÑñπαδ RÑset, RÑwritÑ ¿½¿ AppÑnd,  ¡á óσ«ñÑ »«½Ñ î«dÑ ß«-
  1659. ñÑαª¿Γ º¡áτÑ¡¿Ñ fmInput, fmOutput ¿½¿ fmInOut.
  1660.      é ß««ΓóÑΓßΓó¿¿ ß« º¡áτÑ¡¿Ñ¼ î«dÑ Σπ¡¬µ¿∩ ÄαÑn »«ñú«Γáó-
  1661. ½¿óáÑΓ Σá⌐½ ñ½∩ óó«ñá  ¿½¿  óδó«ñá.  àß½¿ ó î«dÑ π¬áºδóáÑΓß∩
  1662. FmInOut (π¬áºδóá∩, τΓ« Σπ¡¬µ¿∩ ÄpÑn íδ½á óδºóá¡á ¿º ÇααÑnd),
  1663. Γ« »ÑαÑñ ó«ºóαáΓ«¼  π»αáó½Ñ¡¿∩  Σπ¡¬µ¿Ñ⌐  ÄpÑn  φΓ« º¡áτÑ¡¿Ñ
  1664. ñ«½ª¡« íδΓ∞ ¿º¼Ñ¡Ñ¡« ¡á fmOutput.
  1665.      öπ¡¬µ¿∩ OpÑn óßÑúñá óδºδóáÑΓß∩ »ÑαÑñ ½εí«⌐ ñαπú«⌐ Σπ¡¬-
  1666. µ¿Ñ⌐,  αÑ὿ºπεΘÑ⌐ ¿¡ΓÑαΣÑ⌐ß ß πßΓα«⌐ßΓó«¼.  Å« φΓ«⌐ »α¿τ¿¡Ñ
  1667. Σπ¡¬µ¿∩ Çssign ¿¡¿µ¿á½¿º¿απÑΓ Γ«½∞¬« »«½Ñ ÄpÑnFunc, «Γ¬½áñδ-
  1668. óá∩ ¿¡¿µ¿á½¿ºáµ¿ε «ßΓáóΦ¿σß∩ óÑ¬Γ«α«ó ñ« ºáóÑαΦÑ¡¿∩ óδ»«½¡Ñ-
  1669. ¡¿∩ Σπ¡¬µ¿¿ ÄpÑn. Äß¡«óδóá∩ß∞ ¡á º¡áτÑ¡¿¿  »«½∩ î«dÑ Σπ¡¬µ¿∩
  1670. ÄpÑn ¼«ªÑΓ  πßΓá¡«ó¿Γ∞ π¬áºáΓѽ¿ ¬á¬ ñ½∩ Σπ¬¡µ¿⌐, «α¿Ñ¡Γ¿α«-
  1671. óá¡¡δσ ¡á óó«ñ, Γᬠ¿ ñ½∩ Σπ¡¬µ¿⌐, «α¿Ñ¡Γ¿α«óá¡¡δσ ¡á óδó«ñ.
  1672. ¥Γ«  »«ºó«½∩ÑΓ ¿ºíѪáΓ∞  «»αÑñѽѡ¿∩ ΓѬπΘÑú« αѪ¿¼á ó Σπ¡¬-
  1673. µ¿∩σ InOut, Flush ¿ Close.
  1674.  
  1675.                        öπ¡¬µ¿∩ InOut
  1676.  
  1677.      éß∩¬¿⌐ αáº, ¬«úñá ΓαÑíπÑΓß∩ óó«ñ ß πßΓα«⌐ßΓóá ¿½¿ óδó«ñ
  1678. ¡á ¡Ñú«, Σπ¡¬µ¿∩¼¿  Readln, Read, Write, Writeln, Page, Eof,
  1679. SeekEof, SeekEoln ¿ Close óδºδóáÑΓß∩ Σπ¡¬µ¿∩ InOut.
  1680.      è«úñá ó »«½Ñ î«dÑ πßΓá¡«ó½Ñ¡« º¡áτÑ¡¿Ñ fnInput, Σπ¡¬µ¿∩
  1681. InOut  ßτ¿ΓδóáÑΓ  ß¿¼ó«½δ («íΩѼ  óó«ñá  ºáñáÑΓß∩ »ÑαѼѡ¡«⌐
  1682. BufSize) ó BufPtr^  ¿ ó«ºóαáΘáÑΓ τ¿ß½« ßτ¿Γá¡¡δσ ß¿¼ó«½«ó  ó
  1683. BufEnd, á ΓᬪѠºá»¿ßδóáÑΓ  0 ó éufÉ«z. àß½¿ Σπ¡¬µ¿∩ InOut ó
  1684. αѺπ½∞ΓáΓÑ ºá»α«ßá ¡á  óó«ñ  ó«ºóαáΘáÑΓ ó éufànd º¡áτÑ¡¿Ñ 0,
  1685. Γ« »ÑαѼѡ¡á∩ à«f ñ½∩ Σá⌐½á »α¿¡¿¼áÑΓ º¡áτÑ¡¿Ñ ÆruÑ.
  1686.      è«úñá ó »«½Ñ  î«dÑ πßΓá¡«ó½Ñ¡« º¡áτÑ¡¿Ñ fnOutput, Σπ¡¬-
  1687. µ¿∩ InOut ºá»¿ßδóáÑΓ ß¿¼ó«½δ, ¬«½¿τÑßΓó« ¬«Γ«αδσ «»αÑñѽ∩ÑΓ-
  1688. ß∩ »ÑαѼѡ¡«⌐ éufÉ«s, ¿º éufPtr^  ¿ ó«ºóαáΘáÑΓ ó éufÉ«s º¡á-
  1689. τÑ¡¿Ñ 0.
  1690.                         öπ¡¬µ¿∩ Flush
  1691.  
  1692.      öπ¡¬µ¿∩ Flush  óδºδóáÑΓß∩  ó  ¬«¡µÑ  óδ»«½¡Ñ¡¿∩  ¬áªñ«⌐
  1693. Σπ¡¬µ¿¿ RÑád, Write, RÑádln ¿½¿  Writeln.  Ä¡á  ¼«ªÑΓ  ΓᬪÑ
  1694. ßíαáßδóáΓ∞ íπΣÑα ΓѬßΓ«ó«ú« Σá⌐½á. àß½¿ ó »«½Ñ î«dÑ ¡áσ«ñ¿Γ-
  1695. ß∩ fmInput, Σπ¡¬µ¿∩ Flush ñ½∩ Γ«ú«, τΓ«íδ «Γíα«ß¿Γ∞ «ßΓáóΦ¿-
  1696. Ñß∩  (¡Ñßτ¿Γá¡¡δÑ)  ß¿¼ó«½δ  ó  íπΣÑαÑ,  ¼«ªÑΓ  ºá»¿ßáΓ∞ 0 ó
  1697. BufPos ¿ BufEnd. ¥Γ« ßαÑñßΓó« ¿ß»«½∞ºπÑΓß∩ αÑñ¬«.
  1698.      àß½¿ ó »«½Ñ î«dÑ ¡áσ«ñ¿Γß∩ fnOutput,  Γ«  Σπ¡¬µ¿∩ Flush
  1699. ¼«ªÑΓ ºá»¿ßáΓ∞ ß«ñÑন¼«Ñ íπΣÑαá, ó  Γ«τ¡«ßΓ¿ Γᬿ¼ ªÑ «íαá-
  1700. º«¼, ¬á¬ Σπ¡¬µ¿∩  InOut.  ¥Γ« úáαá¡Γ¿απÑΓ, τΓ« óδóÑñÑ¡¡δ⌐ ¡á
  1701. πßΓα«⌐ßΓ« ΓѬßΓ  »«∩ó¿Γß∩  ¡á  πßΓα«⌐ßΓóÑ  ¡Ñ¼Ññ½Ñ¡¡«.  àß½¿
  1702. Σπ¡¬µ¿∩ Flush ¡Ñ  óδ»«½¡∩ÑΓ ¡¿¬á¬¿σ ñÑ⌐ßΓó¿⌐, ΓѬßΓ ¡Ñ íπñÑΓ
  1703. óδóÑñÑ¡ ¡á πßΓα«⌐ßΓó«,  »«¬á íπΣÑα ¡Ñ ßΓá¡ÑΓ »«½¡δ¼ ¿½¿ Σá⌐½
  1704. ¡Ñ íπñÑΓ ºá¬αδΓ.
  1705.  
  1706.                        öπ¡¬µ¿∩ æl«sÑ
  1707.  
  1708.      öπ¡¬µ¿∩ æl«sÑ  óδºδóáÑΓß∩  ßΓá¡ñáαΓ¡«⌐ »α«µÑñπα«⌐ æl«sÑ
  1709. ñ½∩  ºá¬αδΓ¿∩  ßó∩ºá¡¡«ú«  ß  πßΓα«⌐ßΓó«¼  ΓѬßΓ«ó«ú« Σá⌐½á.
  1710. (Åα«µÑñπαδ RÑsÑt,  RÑwritÑ, AppÑnd  ΓᬪѠ óδºδóáεΓ  Σπ¡¬µ¿ε
  1711. æl«sÑ, Ñß½¿  Σá⌐½,  ¬«Γ«αδ⌐  «¡¿ «Γ¬αδóáεΓ, πªÑ íδ½ «Γ¬αδΓ.)
  1712. àß½¿ ó »«½Ñ î«dÑ  ¡áσ«ñ¿Γß∩  fmOut, Γ« »ÑαÑñ óδº«ó«¼ Σπ¡¬µ¿¿
  1713. æl«sÑ  Σá⌐½«óá∩  ß¿ßΓѼᠠÆπαí«-Åá߬á½∩ «íαáΘáÑΓß∩ ¬ Σπ¡¬µ¿¿
  1714. InOut. ¥Γ« úáαá¡Γ¿απÑΓ óδó«ñ ¡á πßΓα«⌐ßΓó« óßÑσ ß¿¼ó«½«ó.
  1715.  
  1716.       Åα¿¼Ñαδ ñαá⌐óÑα«ó πßΓα«⌐ßΓó ñ½∩ ΓѬßΓ«óδσ Σá⌐½«ó
  1717.  
  1718.      Åα¿óÑñÑ¡¡δ⌐  ñá½ÑÑ  ¼«ñπ½∞  »αÑñßΓáó½∩ÑΓ  ß«í«⌐ ñαá⌐óÑα
  1719. ¬«¼¼π¡¿¬áµ¿«¡¡δσ »«αΓ«ó (»«ß½Ññ«óáΓѽ∞¡δσ »«αΓ«ó) ¬«¼»∞εΓÑαá
  1720. IMB PC ñ½∩ ΓѬßΓ«ó«ú« Σá⌐½á:
  1721.  
  1722.  unit AuxInOut;
  1723.  
  1724.  interface
  1725.  uses Dos;
  1726.  
  1727.  procedure AssignAux(var F: Text; Port, Params: word);
  1728.  
  1729.  implementation
  1730.  
  1731.  {$K-,R-}
  1732.  
  1733.  const
  1734.   fmClose  := $D7B0;
  1735.   fmInput  := $D7B1;
  1736.   fmOutput := $D7B2;
  1737.   fmInOut  := $D7B3;
  1738.  
  1739.  type
  1740.    CharBuf = atrray[0..127] of char;
  1741.  
  1742.  procedure AuxInit(Port, Params : word);
  1743.  inline(
  1744.    $58/          { POP  AX  ; ¿ºó½Ñτ∞ ¿º ßΓѬᠻáαá¼ÑΓαδ }
  1745.    $5A/          { POP  DX  ; ¿ºó½Ñτ∞ ¿º ßΓѬᠡ«¼Ñα »«αΓá }
  1746.    $B4/$00/      { MOV AH,0 ; ¿¡ßΓαπ¬µ¿∩ ¿¡¿µ¿á½¿ºáµ¿¿ }
  1747.    $CD/$14);     { INT 14H  ; «íαáΘÑ¡¿Ñ ¬ íẫó«⌐ ß¿ßΓѼÑ
  1748.                             ;  óó«ñá-óδó«ñá }
  1749.  function AuxInchar(Port: word): char;
  1750.  inline(
  1751.    $5A/          { POP AX   ; ¿ºó½Ñτ∞ ¿º ßΓѬᠡ«¼Ñα »«αΓá }
  1752.    $B4/$02/      { MOV AH,2 ; ¿¡ßΓαπ¬µ¿∩ óó«ñá }
  1753.    $CD/$14/);    { INT 14H  ; «íαáΘÑ¡¿Ñ ¬ íẫó«⌐ ß¿ßΓѼÑ
  1754.                             ; óó«ñá-óδó«ñá }
  1755.  procedure AuxOutchar(Port: word; Ch: char);
  1756.  inline(
  1757.    $58/          { POP AX   ; ¿ºó½Ñτ∞ ¿º ßΓѬá ß¿¼ó«½ }
  1758.    $5A/          { POP DX   ; ¿ºó½Ñτ∞ ¿º ßΓѬᠡ«¼Ñα »«αΓá }
  1759.    $B4/$01       { MOV AH,1 ; ¿¡ßΓαπ¬µ¿∩ ñ½∩ óδó«ñá }
  1760.    $CD/$14);     { INT 14H  ; «íαáΘÑ¡¿Ñ ¬ íẫó«⌐ ß¿ßΓѼÑ
  1761.                             ; óó«ñá-óδó«ñá }
  1762.  function AuxInReady(Port:  word) : boolean;
  1763.  inline(
  1764.    $5A/          { POP DX   ; ¿ºó½Ñτ∞ ¿º ßΓѬᠡ«¼Ñα »«αΓá }
  1765.    $B4/$03/      { MOV AH,3 ; ß«ßΓ«∩¡¿Ñ }
  1766.  
  1767.    $CD/$14/      { INT 14H  ; «íαáΘÑ¡¿Ñ ¬ íẫó«⌐ ß¿ßΓѼÑ
  1768.                             ; óó«ñá-óδó«ñá }
  1769.    $88/$E0/      { MOV AL,AH ; »«½πτ¿Γ∞ ó Aì ß«ßΓ«∩¡¿Ñ
  1770.                             ; ßΓ᫬¿ }
  1771.    $24/$01);     { AND AL,1 ; óδñѽ¿Γ∞ í¿Γ ú«Γ«ó¡«ßΓ¿
  1772.                             ; ñá¡¡δσ }
  1773.  
  1774.  {$F+}
  1775.  
  1776.  function AuxInput(var F : TextRec) : integer;
  1777.  var
  1778.    P : integer;
  1779.  begin
  1780.    with F do
  1781.    begin
  1782.      P := 0;
  1783.      while AuxInReady(AuxPort) and (P<BufSize) do
  1784.      begin
  1785.        BufPtr^[P]:=AuxInChar(AuxPort); Inc(P);
  1786.      end;
  1787.      BufPos := 0; BufEnd := P;
  1788.     end;
  1789.  
  1790.  function AuxOutput(var F: TextRec): integer;
  1791.  var
  1792.    P: integer;
  1793.  begin
  1794.    with F do
  1795.    begin
  1796.    for P := 0 to BufPos-1 do AuxOutChar(AuxPort,BufPtr^[P]);
  1797.     BufPos := 0;
  1798.    end;
  1799.    AuxOutput := 0;
  1800.  end;
  1801.  
  1802.  function AuxIgnore(var F: TextRec) : integer;
  1803.  begin
  1804.     AuxIgnore := 0;
  1805.  end;
  1806.  
  1807.  function AuxOpen(var F: TextRec) : integer;
  1808.  begin
  1809.    with F do
  1810.    begin
  1811.      AuxInit(AuxPort,AuxPaaram);
  1812.      if Mode = fmInput then
  1813.      begin
  1814.        InOutFunc := @AuxInput;
  1815.        FlushFunc := @AuxIgnore;
  1816.      end else
  1817.    begin
  1818.      Mode      := fmOutput;
  1819.      InOutFunc := @AuxOutput;
  1820.      FlushFunc := @AuxOutput;
  1821.    end;
  1822.    CloseFunc := @AuxIgnore;
  1823.   end;
  1824.   AuxOpen := 0;
  1825.  end;
  1826.  
  1827.  {$F-}
  1828.  
  1829.  procedure AssignAux;
  1830.  begin
  1831.    with TextRec(F) do
  1832.    begin
  1833.      Handle   := $FFFF;
  1834.      Mode     := fmClosed;
  1835.      BufSize  := SizeOf(Buffer);
  1836.      BufPtr   := @Buffer;
  1837.      Openfunc := @AuxOpen;
  1838.      AuxPort  := Port;
  1839.      AuxParam := Param;
  1840.      Name[0]  := #0;
  1841.    end;
  1842.   end;
  1843.  
  1844.  end.
  1845.  
  1846.      Æ¿» »ÑαѼѡ¡«⌐ ÆÑσtRÑß, «»αÑñѽ∩Ѽ«⌐ ó ¼«ñπ½Ñ AuxInOut,
  1847. ¡Ñ ß«ó»áñáÑΓ Γ«τ¡« ß Γ¿»«¼ ¿ßσ«ñ¡«⌐ »ÑαѼѡ¡«⌐ ÆÑσtRÑß.
  1848. é¼ÑßΓ« 16-íá⌐Γ«ó«ú« »«½∩ UserData «¡á ß«ñÑαª¿Γ ñóá »«½∩ ñ½¿-
  1849. ¡«⌐ ó ß½«ó«, ó ¬«Γ«αδσ ºá»«¼¿¡áεΓß∩ ¡«¼Ñα  ¬«¼¼π¡¿¬áµ¿«¡¡«ú«
  1850. »«αΓá ¿ íá⌐Γ »áαá¼ÑΓαá. çá φΓ¿¼¿ ñóπ¼∩ »«½∩¼¿ ß½ÑñπÑΓ 12 ¡Ñ-
  1851. ¿ß»«½∞ºπѼδσ íá⌐Γ«ó (τΓ«íδ «íΘÑÑ ¬«½¿τÑßΓó« íá⌐Γ«ó αáó¡∩½«ß∞
  1852. 16). Åα«µÑñπαá AuxInit ¿¡¿µ¿á½¿º¿απÑΓ π¬áºá¡¡δ⌐ ¬«¼¼π¡¿¬áµ¿-
  1853. «¡¡δ⌐ »«αΓ ó ß««ΓóÑΓßΓó¿¿ ß ºáñá¡¡δ¼ íá⌐Γ«¼ »áαá¼ÑΓαá. öπ¡¬-
  1854. µ¿∩ AuxInChar ßτ¿ΓδóáÑΓ ß¿¼ó«½ ¿º ºáñá¡¡«ú« »«αΓá. Åα«µÑñπαá
  1855. AuxOutChar   óδó«ñ¿Γ   ß¿¼ó«½   ó   ºáñá¡¡δ⌐  »«αΓ.  öπ¡¬µ¿∩
  1856. AuxInReady ó«ºóαáΘáÑΓ º¡áτÑ¡¿Ñ  ÆruÑ ó Γ«¼ ß½πτáÑ, Ñß½¿ ß¿¼-
  1857. ó«½ ú«Γ«ó ñ½∩ ßτ¿Γδóá¡¿∩ ¿º ºáñá¡¡«ú« »«αΓá. ÄíαáΓ¿ΓÑ ó¡¿¼á-
  1858. ¡¿Ñ ¡á ¿ß»«½∞º«óá¡¿Ñ  ñ½∩ αÑ὿ºáµ¿¿ φΓ¿σ »α«µÑñπα ¿ Σπ¡¬µ¿⌐
  1859. ó¡πΓαÑ¡¡¿σ ñ¿αÑ¬Γ¿ó. äá½∞¡Ñ⌐Φ¿Ñ »«ñα«í¡«ßΓ¿ »« ¿ß»«½∞º«óá¡¿ε
  1860. ¬«¼¼π¡¿¬áµ¿«¡¡δσ  »«αΓ«ó  «»¿ßá¡δ  ó "ÆÑσ¡¿τÑ߬«¼ ß»αáó«τ¡«¼
  1861. απ¬«ó«ñßΓóÑ »« ¬«¼»∞εΓÑαπ IBM Éæ".
  1862.      ä½∩ «íαáΘÑ¡¿∩ ó ºáñá¡¡«¼π ¬«¼¼π¡¿¬áµ¿«¡¡«¼π »«αΓπ ß «»-
  1863. αÑñѽѡ¡δ¼ íá⌐Γ«¼  »áαá¼ÑΓαá »α«µÑñπαá AssignAux ¿¡¿µ¿á½¿º¿-
  1864. απÑΓ ºáñá¡¡πε »ÑαѼѡ¡πε ΓѬßΓ«ó«ú« Σá⌐½á. ì«¼Ñαá »«αΓ«ó 0 ¿
  1865. 1 ß««ΓóÑΓßΓóπεΓ »«αΓá¼ æÄî1 ¿ æÄî2.  üá⌐Γ »áαá¼ÑΓαá «»¿ßδóá-
  1866. ÑΓß∩ ó "ÆÑσ¡¿τÑ߬«¼  ß»αáó«τ¡«¼  απ¬«ó«ñßΓóÑ  »«  ¬«¼»∞εΓÑαπ
  1867. IBM PC".
  1868.      AuxLocn  ¿¡¿µ¿á½¿º¿απÑΓ óδíαá¡¡δ⌐ ¬«¼¼π¡¿¬áµ¿«¡¡δ⌐ »«αΓ
  1869. ¿ πßΓá¡áó½¿óáÑΓ  π¬áºáΓѽ¿  Σπ¡¬µ¿¿  ó  ß««ΓóÑΓßΓó¿¿ ß »«½Ñ¼
  1870. î«dÑ. ÄΓ¼ÑΓ¿¼, τΓ« »α¿ óδó«ñÑ  FlushFunc  πßΓá¡áó½¿óáÑΓß∩ ¡á
  1871. ëàªÑ áñαÑß, τΓ«  ¿  InOutFunc, τΓ« óδºδóáÑΓ «τ¿ßΓ¬π íπΣÑαá
  1872. ΓѬßΓ«ó«ú« Σá⌐½á »«ß½Ñ ¬áªñ«⌐ «»Ñαᵿ¿ Write ¿½¿ Writeln.
  1873.      AuxInput  óó«ñ¿Γ ß¿¼ó«½δ («íΩѼ óó«ñá ºáñáÑΓß∩ »ÑαѼѡ-
  1874. ¡«⌐ BufSize) ¿º óδíαá¡¡«ú« »«αΓá, á AuxOutput óδó«ñ¿Γ ß«ñÑα-
  1875. ª¿¼«Ñ íπΣÑαá ó ºáñá¡¡δ⌐ »«αΓ.
  1876.      öπ¡¬µ¿∩  AuxIgnore ¿ß»«½∞ºπÑΓß∩ ó ΓÑσ ß½πτá∩σ, ¬«úñá ¡Ñ
  1877. ΓαÑíπÑΓß∩  ß»Ñµ¿á½∞¡δσ  ñÑ⌐ßΓó¿⌐, ¬á¬, ¡á»α¿¼Ñα, ñ½∩ Σπ¡¬µ¿⌐
  1878. ælosÑ ¿ Flush (ó αѪ¿¼Ñ óó«ñá).
  1879.      Åα¿óÑñÑ¡¡á∩ ñá½ÑÑ ¬«α«Γ¬á∩  »α«úαἼᠿ߻«½∞ºπÑΓ ¼«ñπ½∞
  1880. AuxInOut ñ½∩ ºá»¿ß¿ ßΓ᫬¿  ó  «ñ¿¡ ¿º ¬«¼¼π¡¿¬áµ¿«¡¡δσ »«α-
  1881. Γ«ó.  æ »«¼«Θ∞ε  »α«µÑñπαδ AssingAUx Σá⌐½ æ«¼1 ßó∩ºδóáÑΓß∩ ß
  1882. »«αΓ«¼  æÄî1.  Åα¿  φΓ«¼ ¿ß»«½∞ºπÑΓß∩ ß¬«α«ßΓ∞ »ÑαÑñáτ¿ 1200
  1883. í«ñ, 1 ßΓ«»-í¿Γ, 8 í¿Γ«ó ñá¡¡δσ ¿ «ΓßπΓßΓó¿Ñ »α«óÑન »áα¿-
  1884. ΓÑΓá.
  1885.  
  1886.   program TestAux;
  1887.   uses AuxInOut;
  1888.   var
  1889.     Com1 : Text;
  1890.   begin
  1891.     AssignAux(Co1,0,$83);
  1892.     Rewrite(Com1);
  1893.     Writeln(Com1,'evice drivers are fun!');
  1894.     Close(Com1);
  1895.   end;
  1896.  
  1897.                       Åα«µÑñπαδ óδσ«ñá
  1898.  
  1899.      é »«¼«Θ∞ε »α«µÑñπα óδσ«ñá óδ ¼«ªÑΓÑ π»αáó½∩Γ∞ »α«µÑßß«¼
  1900. ºáóÑαΦÑ¡¿∩ αáí«Γδ »α«úαá¼¼δ. ¥Γ« »«½Ñº¡« ó Γ«¼ ß½πτáÑ, ¬«úñá
  1901. óδ σ«Γ¿ΓÑ »ÑαÑñ »αѬαáΘÑ¡¿Ñ¼ αáí«Γδ »α«úαá¼¼δ «íÑß»Ñτ¿Γ∞ óδ-
  1902. »«½¡Ñ¡¿Ñ  «»αÑñѽѡ¡δσ  ñÑ⌐ßΓó¿⌐ (Γ¿»¿τ¡δ¼ »α¿¼Ñα«¼ ∩ó½∩ÑΓß∩
  1903. «í¡«ó½Ñ¡¿Ñ ¿ ºá¬αδΓ¿Ñ Σá⌐½«ó).
  1904.      ÉÑ὿º«óáΓ∞  »α«µÑñπαπ  óδσ«ñá  óá¼  »«ºó«½∩ÑΓ »ÑαѼѡ-
  1905. ¡á∩-π¬áºáΓѽ∞ àσitProc. Åα«µÑñπαá óδσ«ñá óßÑúñá »«½πτáÑΓ óδ-
  1906. º«ó »α¿ ºáóÑαΦÑ¡¿¿ αáí«Γδ »α«úαá¼¼δ, ¡Ñºáó¿ß¿¼« «Γ Γ«ú«, ∩ó-
  1907. ½∩ÑΓß∩ ½¿ φΓ« ºáóÑαΦÑ¡¿Ñ ¡«α¼á½∞¡δ¼ «¬«¡τ᡿Ѽ  αáí«Γδ »α«ú-
  1908. αá¼¼δ, ºáóÑαΦÑ¡¿Ñ¼ »«ß½Ñ «íαáΘÑ¡¿∩ ¬ Σπ¡¬µ¿¿ ìált, ¿½¿ αáí«-
  1909. Γá »α«úαá¼¼δ »αѬαáΓ¿½áß∞ ¿º-ºá «Φ¿í¬¿ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩.
  1910.      Åáαá¼ÑΓαδ ñ½∩ »α«µÑñπαδ óδσ«ñá ¡Ñ ΓαÑíπεΓß∩ ¿ ñ½∩ Γ«ú«,
  1911. τΓ«íδ ¿ß»«½∞º«óá½ß∩ ñá½∞¡¿⌐ Γ¿» ó맮óá, «¡á ñ«½ª¡á ¬«¼»¿½¿-
  1912. α«óáΓ∞ß∩ ß π¬áºá¡¿Ñ¼ ñ¿αÑ¬Γ¿óδ ¬«¼»¿½∩Γ«αá {$F+}.
  1913.      è«úñá »α«µÑñπαá óδσ«ñá ñ«½ª¡δ¼ «íαẫ¼ αÑ὿º«óá¡á, «¡á
  1914. ó ñÑ⌐ßΓó¿Γѽ∞¡«ßΓ¿ ßΓá¡«ó¿Γß∩ τáßΓ∞ε µÑ»«τ¬¿  »α«µÑñπα óδσ«-
  1915. ñá. ¥Γᠵѻ«τ¬á »«ºó«½∩ÑΓ  αÑ὿º«óáΓ∞  »α«µÑñπαδ óδσ«ñá ¬á¬
  1916. ñ½∩ ¼«ñπ½Ñ⌐, Γᬠ¿ ñ½∩  »α«úαá¼¼. é ¡Ñ¬«Γ«αδσ ¼«ñπ½∩σ »α«µÑ-
  1917. ñπαá óδσ«ñá αÑ὿ºπÑΓß∩, ¬á¬ τáßΓ∞ ßἫú« ¼«ñπ½∩, á óδ»«½¡Ñ-
  1918. ¡¿Ñ  ¡Ñ¬«Γ«αδσ  ºáóÑαΦáεΘ¿σ ñÑ⌐ßΓó¿⌐ »«ß½Ñ óδσ«ñá ¿º ¼«ñπ½∩,
  1919. ¡á»α¿¼Ñα, ºá¬αδΓ¿Ñ Σá⌐½«ó ¿½¿ ó«ßßΓá¡«ó½Ñ¡¿Ñ óÑ¬Γ«α«ó »αÑαδ-
  1920. óá¡¿⌐, ó«º½áúáÑΓß∩ ¡á ¬«¡¬αÑΓ¡πε »α«µÑñπαπ.  Åα«µÑñπαδ ó µÑ-
  1921. »«τ¬Ñ óδσ«ñá óδ»«½¡∩εΓß∩ ó »«ß½Ññ«óáΓѽ∞¡«ßΓ¿,  «íαáΓ¡«⌐ »«-
  1922. α∩ñ¬π ¿σ αÑ὿ºáµ¿¿. ¥Γ¿¼ «íÑß»Ñτ¿óáÑΓß∩, τΓ« «»ÑαáΓ«αδ  óδ-
  1923. σ«ñá «ñ¡«ú« í½«¬á ¡Ñ óδ»«½¡∩εΓß∩,  »«¬á ¡Ñ  íπñπΓ  óδ»«½¡Ñ¡δ
  1924. «»ÑαáΓ«αδ óδσ«ñᠬᬫú«-½¿í« ºáó¿ß∩ΘÑú« «Γ ¡Ñú« ¼«ñπ½∩.
  1925.      ùΓ«íδ ß«σαá¡¿Γ∞ µÑ»«τ¬π óδσ«ñá ó ¡Ñ»α¿¬«ß¡«óÑ¡¡«ßΓ¿, óδ
  1926. ñ«½ª¡δ  »ÑαÑñ  ¿º¼Ñ¡Ñ¡¿Ñ¼ π¬áºáΓѽ∩  àσitPr«ß ¡á áñαÑß óáΦÑ⌐
  1927. ß«íßΓóÑ¡¡«⌐  »α«µÑñπαδ  ß«σαá¡¿Γ∞  ΓѬπΘÑÑ  ß«ñÑন¼«Ñ φΓ«ú«
  1928. π¬áºáΓѽ∩. äá½ÑÑ, ¡Ñ»«ßαÑñßΓóÑ¡¡« »ÑαÑñ ó«ºóαáΓ«¼ π»αáó½Ñ¡¿∩
  1929. óáΦá »α«µÑñπαá óδσ«ñá ñ«½ª¡á ñ«½ª¡á ó«ßßΓá¡«ó¿Γ∞ ß«σαá¡Ñ¡¡«Ñ
  1930. º¡áτÑ¡¿Ñ àσitProc. é ß½ÑñπεΘÑ⌐ »α«úαἼѠ»«¬áºá¡δ «ß¡«óδ ¼Ñ-
  1931. Γ«ñá αÑ὿ºáµ¿¿ Γᬫ⌐ »α«µÑñπαδ óδσ«ñá.
  1932.  
  1933.   program Testexit;
  1934.   var
  1935.     ExitSave: pointer;
  1936.  
  1937.   {$F+} procedure MyExit ; {$F-}
  1938.   begin
  1939.     .
  1940.     .
  1941.     .
  1942.     ExitProc := ExitSave;
  1943.     ExitProc := MyExit;
  1944.     .
  1945.     .
  1946.     .
  1947.   end.
  1948.  
  1949.      Åα¿ óσ«ñÑ ó »α«úαá¼¼π ß«ñÑন¼«Ñ àσitProc ß«σαá¡∩ÑΓß∩ ß
  1950. àσitSave,  á  ºáΓѼ  ß½ÑñπÑΓ »α«µÑñπαá óδσ«ñá îπàσit.  Å«ß½Ñ
  1951. Γ«ú«, ¬á¬ «¡á íπñÑΓ óδºóá¡á ó ¬áτÑßΓóÑ φ½Ñ¼Ñ¡Γá »α«µÑßßá ºá-
  1952. óÑαΦÑ¡¿∩ αáí«Γδ »α«úαá¼¼δ, »α«µÑñπαá îπàσit ó«ßßΓá¡«ó¿Γ »αÑ-
  1953. ñδñπΘπε »α«µÑñπαπ óδσ«ñá.
  1954.      Åα«úαἼᠺáóÑαΦÑ¡¿∩ ó í¿í½¿«ΓѬѠ ¿ß»«½¡∩εΘÑ⌐  ß¿ßΓѼδ
  1955. íπñÑΓ óδºδóáΓ∞ »α«µÑñπαδ óδσ«ñá, »«¬á  π¬áºáΓѽ∞ àσitPr«ß ¡Ñ
  1956. »α¿¼ÑΓ º¡áτÑ¡¿Ñ nil.  é« ¿ºíѪ᡿¿ ºáµ¿¬½¿óá¡¿∩ àσitPr«ß πß-
  1957. Γá¡áó½¿óáÑΓß∩ ó nil »ÑαÑñ ¬áªñδ¼ «íαáΘÑ¡¿Ñ¼, ΓᬠτΓ« ß½Ññπε-
  1958. Θá∩  »α«µÑñπαá  óδσ«ñá  óδºδóáÑΓß∩ Γ«½∞¬« ó Γ«¼ ß½πτáÑ, Ñß½¿
  1959. ΓѬπΘá∩ »α«µÑñπαá  óδσ«ñá  πßΓá¡áó½¿óáÑΓ ñ½∩ àσitPr«ß ÑÑ áñ-
  1960. αÑß. àß½¿ »α¿ óδ»«½¡Ñ¡¿¿  »α«µÑñπαδ óδσ«ñá ó«º¡¿¬áÑΓ «Φ¿í¬á,
  1961. Γ« ó ¡Ñ⌐ ¡Ñ πß»ÑÑΓ ÑΘÑ óδ»«½¡¿Γ∞ß∩ »α¿ßóá¿óá¡¿Ñ ¡«ó«ú« áñαÑ-
  1962. ßá π¬áºáΓѽε àσitPr«ß,  Γᬠ¬á¬ φΓ« ñѽáÑΓß∩ ¡Ñ»«ßαÑñßΓóÑ¡¡«
  1963. »ÑαÑñ ΓѼ, ¬á¬ »α«µÑñπαá óδσ«ñá óδ»«½¡¿Γ ó«ºóαáΓ π»αáó½Ñ¡¿∩.
  1964.      Åα«µÑñπαá óδσ«ñá  ¼«ªÑΓ αáß»«º¡áóáΓ∞ »α¿τ¿¡π ºáóÑαΦÑ¡¿∩
  1965. αáí«Γδ  »α«úαá¼¼δ  »πΓѼ  »α«óÑન  µÑ½«τ¿ß½Ñ¡¡«⌐ »ÑαѼѡ¡«⌐
  1966. àσitCode ¿ »ÑαѼѡ¡«⌐-π¬áºáΓѽ∩  ErrorAddr.  é  ß½πτáÑ  ¡«α-
  1967. ¼á½∞¡«ú« ºáóÑαΦÑ¡¿∩ ó àσitCode ß«ñÑনΓß∩ ¡π½Ñó«Ñ º¡áτÑ¡¿Ñ ¿
  1968. ErrorAddr ¿¼ÑÑΓ º¡áτÑ¡¿Ñ nil. é ß½πτáÑΓ ºáóÑαΦÑ¡¿∩ τÑαѺ «í-
  1969. αáΘÑ¡¿Ñ ¬ »α«µÑñπαÑ ìált àσitCode ß«ñÑαª¿Γ  º¡áτÑ¡¿Ñ,  »ÑαÑ-
  1970. ñá¡¡«Ñ Σπ¡¬µ¿¿ ìált, á  ErrorAddr  ¿¼ÑÑΓ º¡áτÑ¡¿Ñ nil. ìᬫ-
  1971. ¡Ñµ, ó  ß½πτáÑ  »αѬαáΘÑ¡¿∩ αáí«Γδ »α«úαá¼¼δ ¿º-ºá «Θ¿í¬¿ ó«
  1972. óαѼ∩  ÑÑ  óδ»«½¡Ñ¡¿∩  àσitCode  ß«ñÑαª¿Γ   ¬«ñ   «Φ¿í¬¿,  á
  1973. ErrorAddr ß«ñÑαª¿Γ áñαÑß «Φ¿í«τ¡«ú« «»ÑαáΓ«αá.
  1974.      Å«ß½Ññ¡∩∩ »α«µÑñπαá óδσ«ñá (¬«Γ«αá∩ ß«ñÑনΓß∩ ó í¿í½¿-
  1975. «ΓѬѠ¿ß»«½¡∩εΘÑ⌐ ß¿ßΓѼδ)  ºá¬αδóáÑΓ Σá⌐½δ Input ¿ Output ¿
  1976. ó«ßßΓá¡áó½¿óáÑΓ óÑ¬Γ«αδ »αÑαδóá¡¿⌐, ¬«Γ«αδÑ í뫨 »ÑαÑσóáτÑ¡δ
  1977. Æπαí«-Åá߬á½Ñ¼.  Åα¿  φΓ«¼,  Ñß½¿  π¬áºáΓѽ∞ ErrorAddr ¿¼ÑÑΓ
  1978. º¡áτÑ¡¿Ñ, «Γ½¿τ¡«Ñ «Γ nil, Γ« »α«µÑñπαá óδσ«ñá óδó«ñ¿Γ ß««í-
  1979. ΘÑ¡¿Ñ «í «Φ¿í¬Ñ ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ. àß½¿ óδ σ«Γ¿-
  1980. ΓÑ óδó«ñ¿Γ∞ ßó«¿  ß«íßΓóÑ¡¡δÑ  ß««íΘÑ¡¿∩ «í «Φ¿í¬áσ ó« óαѼ∩
  1981. óδ»«½¡Ñ¡¿∩,  ¿ß»«½∞ºπ⌐ΓÑ »α«µÑñπαπ óδσ«ñá, ¬«Γ«αá∩ »α«óÑα∩ÑΓ
  1982. ErrorAddr ¿  óδó«ñ¿Γ  ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ, Ñß½¿ Ñú« º¡áτÑ¡¿Ñ
  1983. «Γ½¿τ¡« «Γ nil. é ñ«íá󫬠ó φΓ«¼π »ÑαÑñ ó«ºóαáΓ«¼ π»αáó½Ñ¡¿∩
  1984. ¡Ñ«íσ«ñ¿¼«  «íÑß»Ñτ¿Γ∞,  τΓ«íδ π¬áºáΓѽ∞ ErrorAddr íδ½ πßΓá-
  1985. ¡«ó½Ñ¡ ó º¡áτÑ¡¿Ñ nil, τΓ«íδ  ß««íΘÑ¡¿Ñ «í «Φ¿í¬Ñ ¡Ñ óδñáóá-
  1986. ½«ß∞ ß¡«óá ñαπú«⌐ »α«µÑñπα«⌐ óδσ«ñá.
  1987.      Å«ß½Ñ Γ«ú«, ¬á¬  í¿í½¿«ΓѬᠿ߻«½¡∩εΘÑ⌐ ß¿ßΓÑ¼δ «íαáΘá-
  1988. ÑΓß∩ ó  »α«µÑñπαá¼   óδσ«ñá, «¡á ó«ºóαáΘáÑΓ π»αáó½Ñ¡¿Ñ äÄæ ¿
  1989. »ÑαÑñáÑΓ ó  ¬áτÑßΓóÑ  ¬«ñá ó«ºóαáΓá º¡áτÑ¡¿Ñ, ß«ñÑαªáΘÑÑß∩ ó
  1990. àσitCode.
  1991.  
  1992.                 ÇóΓ«¼áΓ¿τÑ߬á∩ «»Γ¿¼¿ºáµ¿∩
  1993.  
  1994.      é  Æπαí«-Åá߬á½Ñ  óδ»«½¡∩ÑΓß∩ ¡Ñ߬«½∞¬« αẽ¿τ¡δσ Γ¿»«ó
  1995. «»Γ¿¼¿ºáµ¿¿ ¬«ñá, ¡áτ¿¡á∩ «Γ ßóÑαΓδóá¡¿∩ ¬«¡ßΓá¡Γ ¿ óδτ¿ß½Ñ-
  1996. ¡¿∩ íπ½Ñó߬¿σ óδαáªÑ¡¿⌐ »« ¬«α«Γ¬«⌐ ßσѼѠ¿ ¬«¡τá∩ φΣΣÑ¬Γ¿ó-
  1997. ¡δ¼ αÑñá¬Γ¿α«ó᡿Ѽ ßó∩ºÑ⌐.  Éáßß¼«Γα¿¼ ¡Ñ¬«Γ«αδÑ ó¿ñδ «»Γ¿-
  1998. ¼¿ºáµ¿¿.
  1999.  
  2000.                     æóÑαΓδóá¡¿Ñ ¬«¡ßΓá¡Γ
  2001.  
  2002.      àß½¿ πτáßΓóπεΘ¿Ñ ó «»Ñαᵿ¿ «»Ñαá¡ñδ »αÑñßΓáó½∩εΓ ß«í«⌐
  2003. ¬«¡ßΓá¡Γδ »ÑαÑτ¿ß½¿¼«ú« Γ¿»á, Γ« ó Æπαí«-Åá߬á½Ñ ΓᬫѠóδαá-
  2004. ªÑ¡¿Ñ óδτ¿ß½∩ÑΓß∩ ó« óαѼ∩ ¬«¼»¿½∩µ¿¿.  ìá»α¿¼Ñα,  óδαáªÑ¡¿Ñ
  2005. ò:= 3+4*2 »α¿óÑñÑΓ ¬ úÑ¡Ñαᵿ¿ Γᬫú« ªÑ ¬«ñá, ¬á¬ óδαáªÑ¡¿Ñ
  2006. ò := 11. Ç¡á½«ú¿τ¡«, Ñß½¿ «»Ñαá¡ñδ Σπ¡¬µ¿⌐
  2007.  
  2008.   Abs, Sqr, Succ, Pred, Odd, Lo, Hi, Swap
  2009.  
  2010. »αÑñßΓáó½∩εΓ ß«í«⌐ ¬«¡ßΓá¡Γδ  »ÑαÑτ¿ß½¿¼«ú« Γ¿»á, Γ« Σπ¡¬µ¿∩
  2011. óδτ¿ß½∩ÑΓß∩ ó« óαѼ∩ ¬«¼»¿½∩µ¿¿.
  2012.      àß½¿ ¿¡ñѬ߫¼ ¼áßß¿óá ∩ó½∩ÑΓß∩ ¬«¡ßΓá¡ñá ¿½¿ óδαáªÑ¡¿Ñ,
  2013. ß«ßΓ«∩ΘÑÑ ¿º ¬«¡ßΓá¡Γ, Γ« áñαÑß φ½Ñ¼Ñ¡Γá óδτ¿ß½∩ÑΓß∩ ó« óαÑ-
  2014. ¼∩ ¬«¼»¿½∩µ¿¿.  ìá»α¿¼Ñα, ñ«ßΓπ» ¬ φ½Ñ¼Ñ¡Γπ Dátá[5,5] ΓᬠªÑ
  2015. φΣΣÑ¬Γ¿óÑ¡, ¬á¬ ñ«ßΓπ» ¬ »α«ßΓ«⌐ »ÑαѼѡ¡«⌐.
  2016.  
  2017.                       æ½¿∩¡¿Ñ ¬«¡ßΓá¡Γ
  2018.  
  2019.      êß»«½∞º«óá¡¿Ñ  «ñ¡«⌐  ¿ Γ«⌐  ªÑ ßΓ᫬«ó«⌐ ¬«¡ßΓá¡Γδ ñóá
  2020. ¿½¿ í«½ÑÑ αẠ»α¿ó«ñ¿Γ ¬ úÑ¡Ñαᵿ¿  Γ«½∞¬« «ñ¡«⌐ ¬«»¿¿ ¬«¡ß-
  2021. Γá¡Γδ. ìá»α¿¼Ñα, ñóá ¿½¿ í«½ÑÑ «»ÑαáΓ«αá Write('D«nÑ') ó «ñ-
  2022. ¡«⌐ ¿ Γ«⌐ ªÑ τáßΓ¿ »α«úαá¼¼δ  »α¿óÑñÑΓ ¬ ßßδ½¬Ñ ¡á «ñ¡π ¿ Γπ
  2023. ªÑ ¬«»¿ε ßΓ᫬«ó«⌐ ¬«¡ßΓá¡Γδ 'DonÑ'.
  2024.  
  2025.                 éδτ¿ß½Ñ¡¿Ñ »« ¬«α«Γ¬«⌐ ßσѼÑ
  2026.  
  2027.      é Æπαí«-Åá߬á½Ñ αÑ὿ºπÑΓß∩ óδτ¿ß½Ñ¡¿Ñ íπ½Ñó߬«ú« óδαá-
  2028. ªÑ¡¿∩ »« ¬«α«Γ¬«⌐  ßσѼÑ.  ¥Γ«  «º¡áτáÑΓ, τΓ« óδτ¿ß½Ñ¡¿Ñ íπ-
  2029. ½Ñó߬«ú« óδαáªÑ¡¿∩  »αѬαáΘáÑΓß∩, ¬á¬ Γ«½∞¬« αѺπ½∞ΓáΓ óßÑú«
  2030. íπ½Ñó߬«ú« óδαáªÑ¡¿∩  ßΓá¡«ó¿Γß∩ «τÑó¿ñ¡δ¼. Åα¿ φΓ«¼ «íÑß»Ñ-
  2031. τ¿óáÑΓß∩ ¼¿¡¿¼á½∞¡«Ñ óαѼ∩ óδ»«½¡Ñ¡¿∩ ¿, «íδτ¡«, ¼¿¡¿¼á½∞¡δ⌐
  2032. αẼÑα «íΩÑ¬Γ¡«ú« ¬«ñá.  éδτ¿ß½Ñ¡¿Ñ »« ¬«α«Γ¬«⌐ ßσѼѠñѽáÑΓ
  2033. ΓᬪѠ ó«º¼«ª¡δ¼  óδτ¿ß½Ñ¡¿Ñ ¬«¡ßΓαπ¬µ¿⌐, ¬«Γ«αδÑ ¿¡áτÑ í뫨
  2034. íδ ¡Ññ«»πßΓ¿¼δ¼¿. ìá»α¿¼Ñα:
  2035.  
  2036.  while (I<=Length(S)) and (S[I]<>' ') do Inc(I);
  2037.  while (P<>nil) and (P^.Value<>5) do P:=P^.Next;
  2038.  
  2039.      é «í«¿σ ß½πτá∩σ, Ñß½¿ »Ñαóá∩  »α«óÑα¬á  ¿¼ÑÑΓ  º¡áτÑ¡¿Ñ
  2040. FalsÑ, óΓ«αá∩ »α«óÑα¬á ¡Ñ óδτ¿ß½∩ÑΓß∩.
  2041.      Åα«Γ¿ó«»«½«ª¡δ¼  óδτ¿ß½Ñ¡¿ε »«  ¬«α«Γ¬«⌐ ßσѼѠ∩ó½∩ÑΓß∩
  2042. »«½¡«Ñ óδτ¿ß½Ñ¡¿Ñ, ¬«Γ«α«Ñ ¼«ª¡« óδíαáΓ∞ ß »«¼«Θ∞ε ñ¿αÑ¬Γ¿óδ
  2043. ¬«¼»¿½∩Γ«αá {$é+}. é φΓ«¼ ß½πτáÑ  «íÑß»Ñτ¿óáÑΓß∩  óδτ¿ß½Ñ¡¿Ñ
  2044. ¬áªñ«ú« «»Ñαá¡ñá íπ½Ñó߬«ú« óδαáªÑ¡¿∩.
  2045.  
  2046.                      Å«α∩ñ«¬ óδτ¿ß½Ñ¡¿∩
  2047.  
  2048.      æΓá¡ñáαΓἿ Åá߬á½∩ ñ«»π߬áÑΓß∩, τΓ« «»Ñαá¡ñδ ó óδαáªÑ-
  2049. ¡¿¿ τáßΓ« óδτ¿ß½∩εΓß∩ ó »«α∩ñ¬Ñ, «Γ½¿τ¡«¼ «Γ Γ«ú«, ó ¬«Γ«α«¼
  2050. «¡¿ ºá»¿ßá¡δ (ß½Ñóá ¡á»αáó«). ìá»α¿¼Ñα, «»ÑαáΓ«α:
  2051.  
  2052.   I:=F(J) div G(J)
  2053.  
  2054. úñÑ F ¿ G - Σπ¡¬µ¿¿ µÑ½«ú« Γ¿»á,  »α¿ó«ñ¿Γ ¬ Γ«¼π, τΓ« G óδ-
  2055. τ¿ß½∩ÑΓß∩ »ÑαÑñ óδτ¿ß½Ñ¡¿Ñ¼ F, Γᬠ ¬á¬ φΓ« »«ºó«½∩ÑΓ ¬«¼»¿-
  2056. ½∩Γ«απ »«½πτ¿Γ∞ í«½ÑÑ «»Γ¿¼á½∞¡δ⌐ «íΩÑ¬Γ¡δ⌐ ¬«ñ. é᪡«, »«φ-
  2057. Γ«¼π, τΓ«íδ óδαáªÑ¡¿Ñ ¡¿¬«úñá ¡Ñ ºáó¿ßѽ« «Γ ¬á¬«ú«-Γ« ¬«¡¬-
  2058. αÑΓ¡«ú« »«α∩ñ¬á óδτ¿ß½Ñ¡¿∩  óßΓα«Ñ¡¡δσ  Σπ¡¬µ¿⌐.  àß½¿  óÑα-
  2059. ¡πΓ∞ß∩ ¬  »αÑñδñπΘÑ¼π  »α¿¼Ñαπ, Γ«  ñ½∩  Γ«ú«, τΓ«íδ óδºóáΓ∞
  2060. Σπ¡¬µ¿ε F »ÑαÑñ Σπ¡¬µ¿Ñ⌐ G, ¼«ª¡« ¿ß»«½∞º«óáΓ∞ óαѼѡ¡πε »Ñ-
  2061. αѼѡ¡πε:
  2062.  
  2063.   T:=F(J); I:=T div G(J);
  2064.  
  2065.       Åα¿¼Ñτá¡¿Ñ:  ê߬½ετÑ¡¿Ñ¼ ¿º φΓ«ú« »αáó¿½á ∩ó½∩ÑΓß∩ óδ-
  2066.       τ¿ß½Ñ¡¿Ñ »«  ¬«α«Γ¬«⌐  ßσѼѠ (αáºαÑΦÑ¡¡«Ñ  ñ¿αÑ¬Γ¿ó«⌐
  2067.       ¬«¼»¿½∩Γ«αá {$é-},  »α¿  ¬«Γ«α«¼  «»Ñαá¡ñδ  íπ½Ñó߬«ú«
  2068.       Γ¿»á, ßó∩ºá¡¡δÑ «»Ñαᵿ∩¼¿ and ¿½¿ «r, óßÑúñá óδτ¿ß½∩-
  2069.       εΓß∩ ß½Ñóá ¡á»αáó«.
  2070.  
  2071.               Åα«óÑα¬á ¡á ñ«»πßΓ¿¼«ßΓ∞ úαá¡¿µ
  2072.  
  2073.      Åα¿ßó«Ñ¡¿Ñ  ¬«¡ßΓá¡Γδ  »ÑαѼѡ¡«⌐ ¿ ¿ß»«½∞º«óá¡¿Ñ ¬«¡ß-
  2074. Γá¡Γδ  ó  ¬áτÑßΓóÑ  º¡áτÑ¡¿∩  »áαá¼ÑΓαá »α«óÑα∩ÑΓß∩ ó« óαѼ∩
  2075. ¬«¼»¿½∩µ¿¿ ¡á  ñ«»πßΓ¿¼«ßΓ∞  ¡áσ«ªñÑ¡¿∩ ó ºáñá¡¡δσ úαá¡¿µáσ.
  2076. Åα¿ φΓ«¼ úÑ¡Ñα¿απÑΓß∩ Γᬫ⌐ ¬«ñ, τΓ« ó« óαѼ∩ óδ»«½¡Ñ¡¿∩ Γá-
  2077. ¬¿σ »α«óÑ᫬ ¡Ñ ñѽáÑΓß∩.  ìá»α¿¼Ñα, ò := 999, úñÑ ò - »ÑαÑ-
  2078. ¼Ñ¡¡á∩ íá⌐Γ«ó«ú« Γ¿»á (BytÑ), »α¿ó«ñ¿Γ ¬ «Φ¿í¬Ñ ¬«¼»¿½∩µ¿¿.
  2079.  
  2080.            êß»«½∞º«óá¡¿Ñ ñó¿úá ó¼ÑßΓ« π¼¡«ªÑ¡¿∩
  2081.  
  2082.      Ä»Ñαᵿ∩  ò*æ,  úñÑ æ -  ¬«¡ßΓá¡Γá, ∩ó½∩εΘá∩ß∩ ßΓѻѡ∞ε
  2083. τ¿ß½á 2, »α¿ó«ñ¿Γ ¬ úÑ¡Ñαᵿ¿ «íΩÑ¬Γ¡«ú« ¬«ñá, ó ¬«Γ«α«¼ ¿ß-
  2084. »«½∞ºπÑΓß∩ ¿¡ßΓαπ¬µ¿∩ Shl (ßñó¿ú ó½Ñó«).
  2085.      Ç¡á½«ú¿τ¡«,  ¬«úñá αẼÑα¡«ßΓ∞ ¼áßß¿óá »αÑñßΓáó½∩ÑΓ ß«-
  2086. í«⌐ ßΓѻѡ∞ τ¿ß½á 2, Γ« ñ½∩  óδτ¿ß½Ñ¡¿∩  ¿¡ñѬߡδσ óδαáªÑ¡¿⌐
  2087. ¿ß»«½∞ºπÑΓß∩ ¿¡ßΓαπ¬µ¿∩ Shl (á ¡Ñ ¿¡ßΓαπ¬µ¿∩ îul).
  2088.  
  2089.         ÇóΓ«¼áΓ¿τÑ߬«Ñ óδαáó¡¿óá¡¿Ñ ¡á úαá¡¿µπ ß½«óá
  2090.  
  2091.      Å« π¼«½τá¡¿ε Æπαí«-Åá߬á½∞ óδαáó¡¿óáÑΓ óßÑ »ÑαѼѡ¡δÑ ¿
  2092. Γ¿»¿º«óá¡¡δÑ  ¬«¡ßΓá¡Γδ,  »αÑóδΦáεΘ¿Ñ  »« αẼÑαπ 1 íá⌐Γ, ¡á
  2093. úαá¡¿µπ ¼áΦ¿¡¡«ú« ß½«óá. ìá  óßÑσ  16-αáºα∩ñ¡δσ  »α«µÑßß«αáσ
  2094. ßѼÑ⌐ßΓóá 80σ86 óδαáó¡¿óá¡¿Ñ ¡á úαá¡¿µπ ß½«óá «º¡áτáÑΓ í«½ÑÑ
  2095. íδßΓα«Ñ óδ»«½¡Ñ¡¿Ñ, »«ß¬«½∞¬π ñ«ßΓπ» ¬ φ½Ñ¼Ñ¡Γá¼ αẼÑα«¼  ó
  2096. ß½«ó«  ¿½¿ τÑΓ¡δ¼ áñαÑßá¼ «ßπΘÑßΓó½∩ÑΓß∩ íδßΓαÑÑ, τѼ ¬ ß½«-
  2097. óá¼ »« ¡ÑτÑΓ¡«¼π áñαÑßπ.
  2098.      éδαáó¡¿óá¡¿Ñ ñá¡¡δσ π»αáó½∩ÑΓß∩ ñ¿αÑ¬Γ¿ó«⌐  ¬«¼»¿½∩Γ«αá
  2099. $A. Å« π¼«½τá¡¿ε ó ß«ßΓ«∩¡¿¿ {$A+} »ÑαѼѡ¡δÑ ¿ Γ¿»¿º«óá¡¡δÑ
  2100. ¬«¡ßΓá¡Γδ óδαáó¡¿óáεΓß∩ π¬áºá¡¡δ¼ óδΦÑ «íαẫ¼. é  ß«ßΓ«∩¡¿¿
  2101. {$A-}  ¡¿¬á¬¿σ  ñÑ⌐ßΓó¿⌐  »«  óδαáó¡¿óá¡¿ε  ¡Ñ »α«¿ºó«ñ¿Γß∩.
  2102. äá½∞¡Ñ⌐Φ¿Ñ »«ñα«í¡«ßΓ¿ »α¿óÑñÑ¡δ ó Åα¿½«ªÑ¡¿¿ é  ("ä¿αÑ¬Γ¿óδ
  2103. ¬«¼»¿½∩Γ«αá").
  2104.  
  2105.                ôñá½Ñ¡¿Ñ ¡Ñ¿ß»«½∞ºπѼ«ú« ¬«ñá
  2106.  
  2107.      Ä»ÑαáΓ«αδ, « ¬«Γ«αδσ ¿ºóÑßΓ¡«, τΓ« «¡¿ ¡¿¬«úñá ¡Ñ íπñπΓ
  2108. óδ»«½¡∩Γ∞ß∩, ¡Ñ ó¬½ετáεΓß∩ ó «íΩÑ¬Γ¡δ⌐  ¬«ñ.  äá¡¡δÑ óδαáªÑ-
  2109. ¡¿∩, ¡á»α¿¼Ñα, ¡Ñ »α¿óÑñπΓ ¬ úÑ¡Ñαᵿ¿ «íΩÑ¬Γ¡«ú« ¬«ñá:
  2110.  
  2111.  if false then statement
  2112.  while false do statement
  2113.  
  2114.                     ¥ΣΣÑ¬Γ¿ó¡á∩ ¬«¼»«¡«ó¬á
  2115.  
  2116.      ÉÑñá¬Γ«α ßó∩ºÑ⌐  áóΓ«¼áΓ¿τÑ߬¿  πñá½∩ÑΓ  ¡Ñ¿ß»«½∞ºπѼδ⌐
  2117. ¬«ñ (»« »α«µÑñπαá¼), Γ« ÑßΓ∞ »α«µÑñπαδ ¿ Σπ¡¬µ¿¿, ∩ó½∩εΘ¿Ñß∩
  2118. τáßΓ∞ε ß¬«¼»¿½¿α«óá¡¡«⌐ »α«úαá¼¼δ, ¡« ¬ ¬«Γ«αδ¼ ¡ÑΓ  «íαáΘÑ-
  2119. ¡¿⌐, ¡Ñ ó¬½ετáεΓß∩ ó Σá⌐½ Γ¿»á .àòà. Åα«µÑñπαδ, Σπ¬¡µ¿¿, »Ñ-
  2120. αѼѡ¡δÑ ¿ Γ¿»¿º«óá¡¡δÑ ¬«¡ßΓá¡Γδ,  πτáßΓóπεΘ¿Ñ  ó  »α«µÑßßÑ
  2121. ¬«¼»¿½∩µ¿¿,  ¡«  ßß佬¿ ¡á ¬«Γ«αδÑ «ΓßπΓßΓóπεΓ, πñá½∩εΓß∩ ¿º
  2122. Σá⌐½⌐ .EXE. ôñá½Ñ¡¿Ñ  ¡Ñ¿ß»«½∞ºπѼ«ú«  ¬«ñá  óδ»«½∩¡ÑΓß∩  »«
  2123. »α«µÑñπαá¼,  á  πñá½Ñ¡¿Ñ ¡Ñ¿ß»«½∞ºπѼδσ ñá¡¡δσ - »« ßѬµ¿∩¼,
  2124. úñÑ φΓ¿ ñá¡¡δÑ «»¿ßδóáεΓß∩.
  2125.      Éáßß¼«Γα¿¼ ß½ÑñπεΘπε »α«úαá¼¼π:
  2126.  
  2127.   program SmartLink;
  2128.   const
  2129.     H: array[0..15] of char = '0123456789ABCDEF';
  2130.   var
  2131.     I,J : integer;
  2132.     X,Y : real;
  2133.   var
  2134.     S: string[79];
  2135.   var
  2136.     A: array[1..10000] of integer;
  2137.  
  2138.   procedure P1:
  2139.   begin
  2140.    A[1] = 1;
  2141.   end;
  2142.  
  2143.   procedure P2;
  2144.   begin
  2145.     I := 1;
  2146.   end;
  2147.  
  2148.   procedure P3;
  2149.   begin
  2150.     S := 'Turbo Pascal';
  2151.     P2;
  2152.   end;
  2153.  
  2154.   begin
  2155.     P3;
  2156.   end;
  2157.  
  2158.      Äß¡«ó¡á∩ »α«úαá¼¼á óδºδóáÑΓ »α«µÑñπαπ É3, ¬«Γ«αá∩ óδºδ-
  2159. óáÑΓ  »α«µÑñπαπ É2, »«φΓ«¼π «íÑ »α«µÑñπαδ É2 ¿ É3 ó¬½ετáεΓß∩
  2160. ó Σá⌐½ .àòà. Å«ß¬«½∞¬π É2 ßßδ½áÑΓß∩ ¡á »Ñαóδ⌐ αáºñѽ  «»¿ßá-
  2161. ¡¿∩ »ÑαѼѡ¡δσ, á É3 ßßδ½áÑΓß∩ ¡á óΓ«α«⌐ αáºñѽ «»¿ßá¡¿Ñ »Ñ-
  2162. αѼѡ¡δσ, »ÑαѼѡ¡δÑ I, J, X, Y, S »º¬ªÑ ó¬½ετáεΓß∩ ó óδ»«½-
  2163. ¡∩Ѽδ⌐  Σá⌐½.  Äñ¡á¬«  ¡á »α«µÑñπαπ É1 ¡¿¬á¬¿σ ßß佫¬ ¡ÑΓ, á
  2164. ó¬½ετÑ¡¡δÑ ó óδ»«½∩¡Ñ¼δ⌐ Σá⌐½ »α«µÑñπαδ ¡Ñ ßßδ½áεΓß∩ ¡á  »Ñ-
  2165. αѼѡ¡δÑ ì ¿ A, »«φΓ«¼π φΓ¿ «íΩѬΓδ πñá½∩εΓß∩.
  2166.      ¥ΣΣÑ¬Γ¿ó¡á∩ ¬«¼»«¡«ó¬á ¿¼ÑÑΓ «ß«íπε µÑ¡¡«ßΓ∞ ó ßó∩º¿  ß
  2167. ¿ß»«½∞º«ó᡿Ѽ  ¼«ñπ½Ñ⌐, ¬«Γ«αδÑ αÑ὿ºπεΓ í¿í½¿«ΓѬ¿ »α«µÑ-
  2168. ñπα ¿ Σπ¡¬µ¿⌐. Åα¿¼Ñα«¼ Γᬫú« ¼«ñπ½∩  ∩ó½∩ÑΓß∩  ßΓá¡ñáαΓ¡δ⌐
  2169. ¼«ñπ½∞  Dos,  ¬«Γ«αδ⌐  ß«ñÑαª¿Γ  α∩ñ »α«µÑñπα ¿ Σπ¡¬µ¿⌐. Åα¿
  2170. φΓ«¼ »α«úαá¼¼á αÑñ¬« ¿ß»«½∞ºπÑΓ óßÑ φΓ¿ »α«µÑñπαδ. àß½¿  «¡á
  2171. ¿ß»«½∞ºπÑΓ  Γ«½∞¬«  «ñ¡π  ¿½¿  ñóÑ »α«µÑñπαδ ¿½¿ Σπ¡¬µ¿¿, Γ«
  2172. Γ«½∞¬« φΓ¿ »α«µÑñπαδ ó¬½ετáεΓß∩ ó  »«½πτÑ¡¡δ⌐  ó  αѺπ½∞ΓáΓÑ
  2173. Σá⌐½ .àòà, τΓ« »«ºó«½∩ÑΓ º¡áτ¿Γѽ∞¡« π¼Ñ¡∞Φ¿Γ∞ Ñú« αẼÑα.
  2174.  
  2175.            Åα¿¼Ñτá¡¿Ñ: Åα¿ ¬«¼»¿½∩µ¿¿ ó  »á¼∩Γ∞  φΣΣÑ¬Γ¿ó¡á∩
  2176.       ¬«¼»«¡«ó¬á  Æπαí«-Åá߬á½∩ ¡Ñ αáí«ΓáÑΓ. ¥Γ¿¼ «íΩ∩ß¡∩ÑΓ-
  2177.       ß∩, »«τѼπ ¡Ñ¬«Γ«αδÑ »α«úαá¼¼δ ßΓá¡«ó∩Γß∩  ¼Ñ¡∞ΦÑ  »α¿
  2178.       ¬«¼»¿½∩µ¿¿ ¿σ ¡á ñ¿ß¬.
  2179.  
  2180.