home *** CD-ROM | disk | FTP | other *** search
/ Der Mediaplex Sampler - Die 6 von Plex / 6_v_plex.zip / 6_v_plex / DISK2 / MULTI_04 / GIF386.ZIP / SETBANK.LST < prev    next >
File List  |  1989-12-03  |  9KB  |  178 lines

  1. Phar Lap Macro Assembler  Version 2.2           Sun Dec 03 20:56:05 1989
  2.  
  3.                                                               Page    1-1
  4.  
  5.  
  6.                                         ; function to select banks on popular v
  7.                                         ideo cards 
  8.                                         ; 
  9.                                         ; void SetBank(int device,int bank) 
  10.                                         ; 
  11.                                          
  12.  =                                      Device        EQU    dword ptr [ebp+8] 
  13.  =                                      Bank        EQU    word ptr [ebp+12] 
  14.  = 00000000                             TSENG        EQU    0 
  15.  = 00000001                             VIDEO7        EQU    1 
  16.  = 00000002                             PARADISE    EQU    2 
  17.                                          
  18.                                             ASSUME    ds:dseg,cs:cseg 
  19.                                              
  20. 00000000                                dseg    SEGMENT     
  21. 00000000  00                            curbk    DB    0 
  22. 00000001                                dseg    ends 
  23.                                              
  24. 00000000                                cseg    SEGMENT    dword public 'CODE' 
  25.                                             public    setbank 
  26. 00000000  73 65 74 62 61 6E 6B 07           db    'setbank',7 
  27. 00000008                                setbank    proc    near        ;64k bank number is 
  28.                                         in AX 
  29. 00000008  55                                push    ebp 
  30. 00000009  8B EC                             mov    ebp,esp 
  31. 0000000B  56                                push     esi 
  32. 0000000C  57                                push    edi 
  33.                                          
  34. 0000000D  66| 8B 45 0C                      mov    ax,Bank 
  35. 00000011  66| 50                            push    ax 
  36. 00000013  66| 52                            push    dx 
  37. 00000015  FA                                cli 
  38. 00000016  A2 00000000 R                     mov    curbk,al 
  39. 0000001B  83 7D 08 00                       cmp    Device,TSENG 
  40. 0000001F  0F 85 0000001E                    jnz    nots 
  41. 00000025  24 07                             and    al,7        ;Tseng 
  42. 00000027  8A E0                             mov    ah,al 
  43. 00000029  D0 E4                             shl    ah,1 
  44. 0000002B  D0 E4                             shl    ah,1 
  45. 0000002D  D0 E4                             shl    ah,1 
  46. 0000002F  0A C4                             or    al,ah 
  47. 00000031  0C 40                             or    al,01000000b 
  48. 00000033  66| BA 03CD                       mov    dx,3cdh 
  49. 00000037  EE                                out    dx,al 
  50. 00000038  FB                                sti 
  51. 00000039  66| 5A                            pop    dx 
  52. 0000003B  66| 58                            pop    ax 
  53. 0000003D  5F                                pop    edi 
  54. 0000003E  5E                                pop    esi 
  55. 0000003F  8B E5                             mov    esp,ebp 
  56. 00000041  5D                                pop    ebp 
  57. 00000042  C3                                ret 
  58.                                          
  59. 00000043  83 7D 08 01                   nots:    cmp    Device,VIDEO7 
  60. Phar Lap Macro Assembler  Version 2.2           Sun Dec 03 20:56:05 1989
  61.  
  62.                                                               Page    1-2
  63.  
  64.  
  65. 00000047  0F 85 00000057                    jnz    nov7 
  66. 0000004D  66| 25 000F                       and    ax,15        ;Video 7 
  67. 00000051  66| 51                            push    cx 
  68. 00000053  8A E8                             mov    ch,al 
  69. 00000055  66| BA 03C4                       mov    dx,3c4h 
  70. 00000059  66| B8 EA06                       mov    ax,0ea06h 
  71. 0000005D  66| EF                            out    dx,ax 
  72. 0000005F  8A E5                             mov    ah,ch 
  73. 00000061  80 E4 01                          and    ah,1 
  74. 00000064  B0 F9                             mov    al,0f9h 
  75. 00000066  66| EF                            out    dx,ax 
  76. 00000068  8A C5                             mov    al,ch 
  77. 0000006A  24 0C                             and    al,1100b 
  78. 0000006C  8A E0                             mov    ah,al 
  79. 0000006E  D0 EC                             shr    ah,1 
  80. 00000070  D0 EC                             shr    ah,1 
  81. 00000072  0A E0                             or    ah,al 
  82. 00000074  B0 F6                             mov    al,0f6h 
  83. 00000076  EE                                out    dx,al 
  84. 00000077  66| 42                            inc    dx 
  85. 00000079  EC                                in    al,dx 
  86. 0000007A  66| 4A                            dec    dx 
  87. 0000007C  24 F0                             and    al,not 1111b 
  88. 0000007E  0A E0                             or    ah,al 
  89. 00000080  B0 F6                             mov    al,0f6h 
  90. 00000082  66| EF                            out    dx,ax 
  91. 00000084  8A E5                             mov    ah,ch 
  92. 00000086  B1 04                             mov    cl,4 
  93. 00000088  D2 E4                             shl    ah,cl 
  94. 0000008A  80 E4 20                          and    ah,100000b 
  95. 0000008D  B2 CC                             mov    dl,0cch 
  96. 0000008F  EC                                in    al,dx 
  97. 00000090  B2 C2                             mov    dl,0c2h 
  98. 00000092  24 DF                             and    al,not 100000b 
  99. 00000094  0A C4                             or    al,ah 
  100. 00000096  EE                                out    dx,al 
  101. 00000097  FB                                sti 
  102. 00000098  66| 59                            pop    cx 
  103. 0000009A  66| 5A                            pop    dx 
  104. 0000009C  66| 58                            pop    ax 
  105. 0000009E  5F                                pop    edi 
  106. 0000009F  5E                                pop    esi 
  107. 000000A0  8B E5                             mov    esp,ebp 
  108. 000000A2  5D                                pop    ebp     
  109. 000000A3  C3                                ret 
  110.                                              
  111. 000000A4  83 7D 08 02                   nov7:    cmp    Device,PARADISE 
  112. 000000A8  0F 85 0000001C                    jnz    nopd 
  113. 000000AE  66| BA 03CE                       mov    dx,3ceh        ;Paradise 
  114. 000000B2  66| B8 050F                       mov    ax,50fh        ;turn off write protect o
  115.                                         n VGA registers 
  116. 000000B6  66| EF                            out    dx,ax 
  117. 000000B8  8A 25 00000000 R                  mov    ah,curbk 
  118. 000000BE  D0 E4                             shl    ah,1 
  119. Phar Lap Macro Assembler  Version 2.2           Sun Dec 03 20:56:05 1989
  120.  
  121.                                                               Page    1-3
  122.  
  123.  
  124. 000000C0  D0 E4                             shl    ah,1 
  125. 000000C2  D0 E4                             shl    ah,1 
  126. 000000C4  D0 E4                             shl    ah,1 
  127. 000000C6  B0 09                             mov    al,9 
  128. 000000C8  66| EF                            out    dx,ax 
  129.                                          
  130. 000000CA  FB                            nopd:    sti 
  131. 000000CB  66| 5A                            pop    dx 
  132. 000000CD  66| 58                            pop    ax 
  133. 000000CF  5F                                pop    edi 
  134. 000000D0  5E                                pop    esi 
  135. 000000D1  8B E5                             mov    esp,ebp 
  136. 000000D3  5D                                pop    ebp     
  137. 000000D4  C3                                ret 
  138.                                         setbank    endp 
  139. 000000D5                                cseg    ends 
  140.                                             end 
  141. Phar Lap Macro Assembler  Version 2.2           Sun Dec 03 20:56:05 1989
  142.  
  143.                                                               Symbols-1
  144.  
  145.  
  146.     GROUPS AND SEGMENTS
  147. Name                                Size      Use    Align Combine   Class
  148.  
  149. cseg . . . . . . . . . . . . . .    000000D5  USE32  DWORD PUBLIC    CODE
  150. dseg . . . . . . . . . . . . . .    00000001  USE32  PARA  NONE      
  151.  
  152.     PROCEDURES
  153. Name                                Type      Offset    Scope   Segment
  154.  
  155. setbank  . . . . . . . . . . . .    N PROC    00000008  Public  cseg
  156.  
  157.     VARIABLES AND LABELS
  158. Name                                Type      Offset    Scope   Segment
  159.  
  160. curbk  . . . . . . . . . . . . .    BYTE      00000000  Prvate  dseg
  161. nopd . . . . . . . . . . . . . .    N LABEL   000000CA  Prvate  cseg
  162. nots . . . . . . . . . . . . . .    N LABEL   00000043  Prvate  cseg
  163. nov7 . . . . . . . . . . . . . .    N LABEL   000000A4  Prvate  cseg
  164.  
  165.     CONSTANTS
  166. Name                                Type      Value
  167.  
  168. Bank . . . . . . . . . . . . . .    Text      word ptr [ebp+12]
  169. Device . . . . . . . . . . . . .    Text      dword ptr [ebp+8]
  170. PARADISE . . . . . . . . . . . .    Integer   00000002
  171. TSENG  . . . . . . . . . . . . .    Integer   00000000
  172. VIDEO7 . . . . . . . . . . . . .    Integer   00000001
  173.  
  174.  
  175.       12 Symbols
  176.        0 Warning Errors
  177.        0 Severe Errors
  178.