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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? xlib.doc

?? DOS保護模式下匯編程序設計.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一区二区三区免费野_久草精品视频
国产经典欧美精品| 一区二区三区 在线观看视频| 视频一区二区欧美| 欧美自拍偷拍一区| 亚洲国产一区二区在线播放| 欧美伊人久久久久久久久影院| 夜夜嗨av一区二区三区网页| 欧美美女直播网站| 免费三级欧美电影| 久久这里都是精品| 成人午夜免费视频| 一区二区三区在线视频观看58| 欧美综合亚洲图片综合区| 首页国产欧美久久| 久久在线免费观看| 91美女精品福利| 图片区小说区区亚洲影院| 日韩免费看的电影| av一区二区久久| 亚洲国产精品久久久男人的天堂 | 亚洲激情av在线| 欧美日韩一区 二区 三区 久久精品| 亚洲第一成人在线| 精品国产亚洲一区二区三区在线观看| 国产真实精品久久二三区| 中文字幕精品一区| 欧美日韩国产在线播放网站| 久久成人久久爱| 国产精品视频在线看| 在线免费观看一区| 国产一区二区免费在线| 亚洲精品免费看| 精品久久国产老人久久综合| 91亚洲国产成人精品一区二三| 亚洲国产日产av| 国产女人水真多18毛片18精品视频 | 久久综合色综合88| 一本久道中文字幕精品亚洲嫩| 蜜臀av性久久久久蜜臀av麻豆| 国产精品青草综合久久久久99| 欧美福利视频一区| 成人免费视频一区二区| 丝袜美腿高跟呻吟高潮一区| 国产精品久久久久久久久免费丝袜 | eeuss影院一区二区三区| 五月激情六月综合| 亚洲人吸女人奶水| 国产欧美一区二区精品婷婷| 欧美一区二区三区免费在线看| 99久久久精品免费观看国产蜜| 久久99久久久久| 亚洲国产精品一区二区久久恐怖片| 久久久精品日韩欧美| 欧美一区二区三区播放老司机| 在线一区二区三区| 成人久久视频在线观看| 寂寞少妇一区二区三区| 日韩av在线免费观看不卡| 一区二区三区成人| 日韩伦理av电影| 国产精品久久久爽爽爽麻豆色哟哟| 久久亚洲精品国产精品紫薇| 日韩免费福利电影在线观看| 欧洲色大大久久| 97国产一区二区| 91免费视频网址| a级高清视频欧美日韩| 国产成人精品综合在线观看| 国产主播一区二区| 韩国在线一区二区| 国产乱码精品一区二区三区忘忧草 | 国产精品免费看片| 久久久久久日产精品| 精品国产sm最大网站免费看| 欧美电影免费观看完整版| 欧美久久久久久蜜桃| 在线观看91av| 日韩一区二区三区视频| 欧美日韩日日夜夜| 色成人在线视频| 色综合久久88色综合天天| 91国内精品野花午夜精品| 91久久国产综合久久| 欧美综合视频在线观看| 欧美日韩精品三区| 51精品视频一区二区三区| 欧美一区欧美二区| 日韩欧美专区在线| 欧美tk—视频vk| 国产色婷婷亚洲99精品小说| 国产视频视频一区| 欧美国产精品中文字幕| 国产精品免费人成网站| 一区二区欧美视频| 天天综合天天综合色| 免费观看日韩av| 国产永久精品大片wwwapp| 成人丝袜视频网| 日本高清不卡视频| 337p亚洲精品色噜噜狠狠| 精品毛片乱码1区2区3区| 中文字幕av一区二区三区| 亚洲少妇中出一区| 日韩中文字幕1| 国产乱一区二区| 在线观看一区二区视频| 日韩三级精品电影久久久| 久久精品综合网| 亚洲影院在线观看| 麻豆91免费观看| 波多野洁衣一区| 6080午夜不卡| 国产精品拍天天在线| 亚洲高清视频的网址| 精品在线免费视频| 99久久免费国产| 欧美成人精品高清在线播放| 国产精品久久久久久久久快鸭| 偷拍亚洲欧洲综合| 国产精品1024| 制服丝袜亚洲网站| 国产精品区一区二区三区| 日韩电影在线免费看| 91视频精品在这里| 精品入口麻豆88视频| 一区二区三区中文字幕精品精品| 蜜桃一区二区三区四区| 91尤物视频在线观看| 久久先锋影音av| 亚洲国产日韩在线一区模特| 成人综合在线观看| 欧美va亚洲va国产综合| 亚洲影院在线观看| 不卡的看片网站| 久久久久久久综合色一本| 亚洲电影中文字幕在线观看| 99精品国产热久久91蜜凸| 日韩三级电影网址| 亚洲电影在线播放| jlzzjlzz欧美大全| 精品国产成人系列| 日本欧美一区二区三区乱码| 欧美性淫爽ww久久久久无| 国产精品美女久久久久久久久久久| 蜜乳av一区二区| 91精品国产手机| 亚洲小说欧美激情另类| 99精品久久只有精品| 国产清纯美女被跳蛋高潮一区二区久久w | 亚洲成人av在线电影| 成人美女在线观看| 久久综合色一综合色88| 免费在线欧美视频| 欧美日韩不卡一区| 亚洲成人第一页| 欧美午夜精品久久久久久孕妇 | 久久蜜桃香蕉精品一区二区三区| 亚洲大尺度视频在线观看| 91丨九色丨蝌蚪富婆spa| 欧美激情一区二区三区四区| 黄色小说综合网站| 久久麻豆一区二区| 国产乱码精品一区二区三区忘忧草 | 成人午夜激情在线| 国产亚洲精品超碰| 国产精品1024| 国产精品三级久久久久三级| 岛国av在线一区| 中文在线资源观看网站视频免费不卡 | 久久久亚洲午夜电影| 国产一区二区三区免费在线观看 | 成人黄色国产精品网站大全在线免费观看 | 国产一区视频导航| 国产夜色精品一区二区av| 国产不卡在线播放| 国产精品毛片无遮挡高清| 97超碰欧美中文字幕| 亚洲一区二区在线免费看| 欧美三级视频在线观看| 午夜激情一区二区三区| 日韩欧美国产一区在线观看| 国产在线观看一区二区| 欧美国产1区2区| 一本色道**综合亚洲精品蜜桃冫| 伊人色综合久久天天| 欧美日韩国产精品成人| 久久成人免费电影| 国产精品女主播av| 在线亚洲一区观看| 奇米影视在线99精品| 久久精品欧美日韩| bt欧美亚洲午夜电影天堂| 亚洲国产毛片aaaaa无费看| 91麻豆精品久久久久蜜臀| 狠狠色丁香九九婷婷综合五月| 国产亚洲成av人在线观看导航| 99久久亚洲一区二区三区青草| 亚洲一区二区三区在线| 精品少妇一区二区三区在线播放| 成人免费电影视频|