亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? xlib.doc

?? DOS保護模式下匯編程序設(shè)計.zip
?? DOC
?? 第 1 頁 / 共 5 頁
字號:






























                             XLIB PROGRAMMER'S MANUAL
                                   VERSION 1.0

                              (DOS Extender Library)

                                TechniLib Company























                    Copyright 1993, by TechniLib (TM) Company
                               All Rights Reserved






                          TERMS OF USE AND DISTRIBUTION


       XLIB is a shareware product; therefore, unregistered copies of XLIB are
  made available free of charge so that potential purchasers will have the
  opportunity to examine and test the software before committing payment.
  Distribution of unregistered copies of XLIB to other potential users is also
  permitted and appreciated.  However, usage and distribution of XLIB must
  conform to the following conditions.  In the following statement, the term
  "commercial distribution," includes shareware distribution.

  1) XLIB and accompanying software must be distributed together in copies of
  the original archive provided by TechniLib.  Neither the archive nor
  individual files therein may be modified.

  2) The XLIB archive may be distributed in combination with other shareware
  products; however, the XLIB archive may not be distributed with other
  commercially distributed software without written consent of TechniLib.

  3) Copies of XLIB which have been used to develop software for commercial
  distribution must be registered before such software is marketed.  Copies of
  XLIB which have been used to develop noncommercial software must be registered
  if such software is to be regularly used either by the developer or others.

  4) Commercially distributed software must embed XLIB procedures in the
  software code.  Files contained in the XLIB archive may not be placed in the
  distribution media.

  5) XLIB is designed to offer a set of services to other executable code.  XLIB
  may not be used to develop software for commercial distribution which will
  essentially offer any of these same services to other executable code.
  Exceptions to this condition require written consent of TechniLib.

  6) Rights afforded by registering a single copy of XLIB pertain only to a
  single computer.

  7) XLIB may be registered for a fee of $45.00 per copy.  Accompany payment
  with the registration form included in the XLIB archive.  Registrants will be
  entitled to the most recent version of the XLIB archive.


                              DISCLAIMER OF WARRANTY


       XLIB AND ALL ACCOMPANYING SOFTWARE AND LITERATURE ARE DISTRIBUTED WITH
  THE EXCLUSION OF ANY AND ALL IMPLIED WARRANTIES, AND WITH THE EXCLUSION OF
  WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  TechniLib
  SHALL HAVE NO LIABILITY FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
  RESULTING FROM THE USE OF XLIB OR ACCOMPANYING MATERIALS.  The user assumes
  the entire risk of using this software.


                    Copyright 1993, by TechniLib (TM) Company
                               All Rights Reserved






                                TABLE OF CONTENTS


  CHAPTERS
                                                                     Page
  1. Introduction                                                       1
  2. XLIB Conventions and Structure                                     3
  3. Mode Switching                                                     5
  4. Interrupt Management                                               7
  5. Memory Management                                                 10
  6. XLIB Initialization                                               11
  7. XLIB Termination                                                  12
  8. Using XLIB in High-Level Language Libraries                       13


  TABLES
                                                                     Page
  1. XLIB Segments and Selectors by Public Symbol                       3
  2. CALLPM/ENTERPM Register Storage Locations by Public Symbol         6
  3. CALLRM Register Storage Locations by Public Symbol                 6


  EXAMPLES
                                                                     Page
  1. Simple Mode Switching Under XLIB                                   2
  2. Calling Protected-Mode Libraries From BASIC                       13


  APPENDICES
                                                                     Page
  A. Summary of XLIB Public Data                                       17
  B. Summary of XLIB Public Procedures                                 19
  C. XLIB Error Codes                                                  27
  D. Calling Protected-Mode Libraries From C                           28
  E. Reporting Problems With XLIB                                      30
  F. DPMI 1.0 Error Codes                                              31
  G. XMS Error Codes                                                   32
  H. The SWITCHPM and SWITCHRM Procedures                              33






                                 1. Introduction


       XLIB is an assembly language library which may be used with assembly
  language programs to greatly simplify protected-mode programming under the
  Microsoft DOS operating system.  Assembly language programmers can be writing
  protected-mode code in a matter of minutes with XLIB.  Implementation of such
  code will often require no more than placing the code in the proper segment
  and making two calls to XLIB procedures.
       XLIB is designed for the Intel 386, 486, and Pentium processors.  XLIB
  fully utilizes the 32-bit processing powers of these chips and makes these
  powers available to the user.  The compactness of XLIB follows largely from
  the fact that much of it is written in 32-bit code.
       XLIB procedures handle important tasks such as mode switching between
  real and protected modes, memory management under protected mode, and
  interrupt management under protected mode.  XLIB includes routines to perform
  these tasks in the absence of a protected mode interface, or in the presence
  of the Virtual Control Program Interface (VCPI), or the DOS Protected Mode
  Interface (DPMI, version .9 or higher).  XLIB can also manage extended memory
  through the Extended Memory Specification (XMS).  Upon initialization, XLIB
  will examine the operating environment for the presence of these interfaces
  and then configure itself accordingly.  The client program may therefore
  perform calls to XLIB procedures with few concerns as to the environment in
  which it is executing.
       XLIB relieves the programmer of descriptor table management by supplying
  a set of predefined segments along with their associated descriptors and
  selectors.  Many protected-mode procedures will require no modification for
  XLIB other than being placed in the proper segment.  XLIB provides a single
  32-bit segment for protected-mode routines.  This segment may be larger than
  64K, but must reside in conventional memory so that DOS can load it.  However,
  code within this segment may access data throughout the address space.
       The memory model supported by XLIB approximates the flat model of IBM
  OS/2 and Microsoft Windows NT.  Therefore, code written for XLIB will require
  little modification when being transported to these systems.  Indeed, many
  procedures will require no modification whatsoever.  Moreover, XLIB includes
  flat-model descriptors which may be used to execute genuine flat-model code;
  however, it does not include routines to load and relocate such code.
       The following program illustrates the simplicity with which protected-
  mode execution may be initiated and terminated with XLIB.  The program first
  initializes XLIB by calling a procedure called INITXLIB.  After confirming
  that initialization is successful, the program then transfers control to a 32-
  bit protected-mode procedure which prints a message to the screen.  Control is
  transferred by placing the protected-mode target address on the stack and then
  calling an XLIB procedure named CALLPM (call protected mode).  CALLPM will
  expect the target procedure to be contained in a segment called TSEG.  The
  protected-mode procedure in TSEG returns control to real or virtual 8086 (V86)
  mode simply by executing the RET instruction.










                                        1






  Example 1:  Simple Mode Switching Under XLIB
  -----------------------------------------------------------------------------
                 .MODEL        LARGE,PASCAL
                 .386P

                 INCLUDE        XLIB.INC       ;Include XLIB public symbols
                 INCLUDELIB     XLIB.LIB       ;Link with XLIB.LIB

                 .STACK         1024
                 .CODE
                 .STARTUP
                 CALL           INITXLIB       ;Initialize XLIB
                 OR             EAX,EAX        ;EAX = 0 if successful
                 JZ             INITDONE
                 .EXIT          0              ;Initialization failed

  INITDONE:      PUSHD          OFFSET DEMOPROC
                 CALL           CALLPM         ;Execute DEMOPROC in protected
                 .EXIT          0

  ;Protected-mode routines must be placed in following segment:
  TSEG           SEGMENT PARA PUBLIC USE32 'CODE'
                 ASSUME CS:TSEG, SS:TSEG, DS:TSEG, ES:TSEG, FS:DSEG, GS:DGROUP

  ;Protected-mode routine to print message to the screen using DOS function.
  DEMOPROC       PROC NEAR
                 MOV            EBX,OFFSET PMMSG
                 MOV            AH,02H
  MSGLOOP:       MOV            DL,CS:[EBX]    ;32-bit offset!!!!!
                 OR             DL,DL
                 JZ             EXIT
                 INT            21H            ;Print character with DOS
                 INC            EBX
                 JMP            MSGLOOP
  EXIT:          RET                           ;Go back to real or V86 mode
  PMMSG          DB  "In 32-bit protected mode!!!  "
                 DB  "Returning to real mode.",10,13,0
  DEMOPROC       ENDP

  TSEG           ENDS
                 END
  -----------------------------------------------------------------------------


       XLIB was developed and tested under Microsoft DOS version 6.0 using
  Microsoft Assembler (MASM) version 6.1a, Microsoft LINK version 5.31.009, and
  Microsoft LIB version 3.20.01.  MASM parameters were set to c, W2, and WX.
  LINK parameters were set to BATCH, CPARM:1, FAR, NOPACKF, and PACKC.  XLIB has
  also been tested under Microsoft Windows 3.1, Qualitas 386MAX version 6.02,
  Quarterdeck QEMM version 6.02, and Quarterdeck QDPMI version 1.01.
       Assembly language programs should use the CPARM:1 parameter because XLIB
  will generally attempt to allocate DOS memory.  The NOPACKC option for LINK
  was found to be problematic for 32-bit segments and should therefore be
  avoided.



                                        2






                        2. XLIB Conventions and Structure


       A summary of most XLIB public data is included in Appendix A.  A summary
  of all XLIB public procedures is included in Appendix B.  This section sets
  forth rules which will be generally applicable to XLIB data and procedures.
  Exceptions to these rules are covered in Appendix H.
       Though it is sometimes necessary for XLIB to distinguish between real
  mode and virtual 8086 mode; this document uses the term "real mode" to include
  virtual 8086 mode.
       All public XLIB real-mode procedures are located in a 16-bit segment
  called CSEG.  The user may also place code in CSEG but is never required to do
  so.  All public XLIB real-mode routines have far returns.
       All public XLIB protected-mode procedures are located in a 32-bit segment
  called TSEG.  The user must also place all protected-mode code in TSEG.  All
  XLIB protected-mode procedures have near returns.  Likewise, all protected-
  mode procedures called by XLIB routines must have near returns.
       All XLIB procedures may be called with interrupts enabled and will return
  with interrupts enabled provided that they were enabled upon call.
       All XLIB data is contained in a segment called DSEG.  The user may also
  place data in DSEG but is never required to do so.
       XLIB uses the Pascal calling and naming convention.  The Pascal
  convention is equivalent to the BASIC/FORTRAN convention.  C programmers must
  adapt XLIB procedures and symbols with declarations which specify the Pascal
  convention.  The header file XLIB.H contains such declarations.
       XLIB routines which may possibly encounter error conditions will always
  return error codes in AX (see Appendix C).  In many cases, DX or the high word
  of EAX will be returned with specific information about the error, such as
  XMS, DPMI, or DOS error codes.
       Selectors for all XLIB segments are placed in public WORD locations in
  segment DSEG.  The following table gives the name of each predefined selector
  along with its associated segment name and description:


  Table 1:  XLIB Segments and Selectors by Public Symbol
  -----------------------------------------------------------------------------
  Selector Name    Segment Name      Description

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩情趣电影| 一区二区三区中文在线观看| 国产精品免费免费| 视频一区二区国产| 99精品视频一区| 日韩欧美一区二区免费| 亚洲一区二区视频在线| 粉嫩嫩av羞羞动漫久久久| 欧美顶级少妇做爰| 综合久久一区二区三区| 国产一区二区三区最好精华液| 欧美伊人精品成人久久综合97| 中文久久乱码一区二区| 韩国成人在线视频| 日韩一区二区麻豆国产| 午夜不卡av免费| 一本久久a久久免费精品不卡| 日本一区二区三区视频视频| 狂野欧美性猛交blacked| 777午夜精品视频在线播放| 一区二区三区中文字幕| 色综合一区二区三区| 国产精品美女视频| 成人动漫av在线| 国产精品欧美一级免费| 国产suv一区二区三区88区| 日韩三级在线免费观看| 日本sm残虐另类| 7777女厕盗摄久久久| 亚洲国产日韩精品| 欧美日韩高清在线| 亚洲国产一区二区视频| 欧美性受xxxx| 亚洲二区视频在线| 欧美日韩mp4| 免费av成人在线| 精品国产乱码久久久久久夜甘婷婷 | 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 蜜桃av一区二区| 日韩免费视频线观看| 日韩综合一区二区| 678五月天丁香亚洲综合网| 蜜桃在线一区二区三区| 精品国产乱码久久久久久久| 精品综合免费视频观看| 精品国产3级a| 97se亚洲国产综合自在线| 最新不卡av在线| 欧美性色综合网| 麻豆精品国产传媒mv男同| 久久夜色精品一区| jizzjizzjizz欧美| 香蕉乱码成人久久天堂爱免费| 日韩视频在线你懂得| 国产精品一区免费视频| 亚洲女同一区二区| 日韩一区二区在线看片| 国产传媒日韩欧美成人| 亚洲老司机在线| 日韩精品一区二区三区在线播放| 精品一区二区国语对白| 最新久久zyz资源站| 欧美久久久一区| 国产伦精品一区二区三区视频青涩| 国产精品美女www爽爽爽| 欧美在线免费视屏| 韩国av一区二区三区在线观看| 亚洲欧洲成人自拍| 日韩欧美美女一区二区三区| 粉嫩av亚洲一区二区图片| 亚洲国产精品久久不卡毛片| 精品国产第一区二区三区观看体验 | 国产日韩一级二级三级| 日本伦理一区二区| 国产伦精品一区二区三区在线观看| 亚洲视频免费看| 精品日韩欧美在线| 日韩电影网1区2区| 欧美性视频一区二区三区| 日本vs亚洲vs韩国一区三区| 久久久久九九视频| 国产亚洲成aⅴ人片在线观看 | 色播五月激情综合网| 免费不卡在线观看| 久久精品国产亚洲5555| 国产一区二区三区| 国产成人激情av| 成人精品一区二区三区四区| 99久久伊人久久99| 91麻豆高清视频| 亚洲一区二区中文在线| 五月婷婷色综合| 精品国产不卡一区二区三区| 欧日韩精品视频| 欧美日韩国产三级| 欧美电影免费观看高清完整版在线 | 欧美精品在线视频| 91视频com| 日本大香伊一区二区三区| 一本大道久久a久久综合婷婷| 在线观看欧美日本| 欧美高清精品3d| 国产欧美视频一区二区| wwwwww.欧美系列| 精品动漫一区二区三区在线观看 | 国产精品影音先锋| 午夜免费久久看| 在线免费观看日本欧美| 亚洲第一二三四区| 亚洲色大成网站www久久九九| 国产精品的网站| 丁香网亚洲国际| 欧美大胆人体bbbb| 欧美一区二区二区| 精品国产a毛片| 色婷婷狠狠综合| 日韩免费视频一区| 国产乱色国产精品免费视频| 欧美性生活久久| 日韩欧美亚洲国产另类| 亚洲精品国产无天堂网2021| 中文字幕综合网| 精品99999| 午夜精品福利一区二区三区av| 91在线精品秘密一区二区| 26uuu亚洲| 欧美久久久久免费| 成人晚上爱看视频| 日韩电影网1区2区| 国产伦精品一区二区三区免费迷 | 51午夜精品国产| 亚洲成年人影院| 久久av中文字幕片| 最新欧美精品一区二区三区| 成人国产精品免费| 亚洲一区二区视频| 国产一区欧美一区| 日本道精品一区二区三区| 精品国产乱子伦一区| 亚洲国产日韩一级| 国产麻豆精品在线| 欧美大白屁股肥臀xxxxxx| 最新久久zyz资源站| 国产成人综合网| 日韩一区二区精品在线观看| 一区二区高清免费观看影视大全 | 成人一区二区三区中文字幕| 欧美在线啊v一区| 尤物在线观看一区| 成人av免费在线| 欧美国产日韩在线观看| 国产美女视频91| 欧美成va人片在线观看| 日本不卡1234视频| 日韩一卡二卡三卡四卡| 舔着乳尖日韩一区| 欧美白人最猛性xxxxx69交| 奇米在线7777在线精品| 一区二区在线免费观看| 亚洲图片一区二区| 国产精品美女久久久久久久网站| 久久精品男人天堂av| 国产揄拍国内精品对白| 精品久久久久久久人人人人传媒| 精品国一区二区三区| 成人免费毛片嘿嘿连载视频| 国产精品国产自产拍高清av王其| 9l国产精品久久久久麻豆| 亚洲人成精品久久久久久| 一本一道综合狠狠老| 亚洲电影欧美电影有声小说| 日韩一区精品视频| 国产日产欧产精品推荐色| 国产寡妇亲子伦一区二区| 国产精品第13页| 欧美色国产精品| 日韩二区在线观看| 日韩伦理av电影| www国产精品av| 欧美日韩一区小说| 久久久久久久久久久黄色| 天使萌一区二区三区免费观看| 亚洲国产va精品久久久不卡综合| 青青青爽久久午夜综合久久午夜| 91精品欧美久久久久久动漫| 美国av一区二区| 国产欧美日韩综合精品一区二区| 国产999精品久久久久久绿帽| 亚洲欧洲www| 欧美日韩在线播放一区| 青青草一区二区三区| 亚洲精品一区二区三区99| 不卡的电视剧免费网站有什么| 一区二区在线电影| 欧美精品亚洲一区二区在线播放| 蜜臀av性久久久久蜜臀aⅴ | 国产网站一区二区三区| 欧美午夜不卡视频| 亚洲成人综合在线| 精品日韩欧美一区二区|