微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > PCI总线与接口技术

PCI总线与接口技术

时间:12-12 来源:互联网 点击:
    1. 错误的设备
    2. MOVAH,09H
    3. INT21H
    4. JMPEXIT
    5. FIND:MOVAX,0B102H;找到了PCIBIOS,再查找指定PCI设备
    6. MOVCX,5933H;板卡的设备的ID
    7. MOVDX,10E8H;板卡的供应商ID
    8. MOVSI,0;索引
    9. INT1AH
    10. JNCREAD
    11. MOVDX,OFFSETMES
    12. MOVAH,09H
    13. INT21H
    14. JMPEXIT
    15. READ:MOVBN,BH;保存总线号
    16. MOVDN_FN,BL;保存设备号
    17. CALLKENTER;回车换行
    18. MOVDX,OFFSETMES0
    19. MOVAH,09H
    20. INT21H
    21. CALLKENTER;回车换行
    22. MOVDX,OFFSETMES3;输出供应厂商ID
    23. MOVAH,09H
    24. INT21H
    25. CALLKENTER
    26. MOVDX,OFFSETMES4;输出设备的ID
    27. MOVAH,09H
    28. INT21H
    29. CALLKENTER
    30. MOVAX,0B109H;读命令寄存器,单字操作
    31. MOVBH,BN
    32. MOVBL,DN_FN
    33. MOVDI,PCICMD
    34. INT1AH
    35. JCERROR
    36. MOVDX,OFFSETMES5;显示PCI命令寄存器内容
    37. MOVAH,09H
    38. INT21H
    39. MOVAX,02H
    40. CALLSHOW
    41. CALLKENTER
    42. MOVAX,0B109H;读PCI状态寄存器内容,单字操作
    43. MOVBH,BN
    44. MOVBL,DN_FN
    45. MOVDI,PCISTS
    46. INT1AH
    47. JCERROR
    48. MOVDX,OFFSETMES6;显示状态寄存器内容
    49. MOVAH,09H
    50. INT21H
    51. MOVAX,02H
    52. CALLSHOW
    53. CALLKENTER
    54. MOVAX,0B108H;版本号,单字节操作
    55. MOVBH,BN
    56. MOVBL,DN_FN
    57. MOVDI,RID
    58. INT1AH
    59. JCERROR
    60. MOVDX,OFFSETMES7;显示版本号
    61. MOVAH,09H
    62. INT21H
    63. MOVAX,01H
    64. CALLSHOW
    65. CALLKENTER
    66. MOVAX,0B108H;读中断引脚信号,单字节操作
    67. MOVBH,BN
    68. MOVBL,DN_FN
    69. MOVDI,INTLN
    70. INT1AH
    71. JCERROR
    72. MOVDX,OFFSETMES20;显示中断引脚
    73. MOVAH,09H
    74. INT21H
    75. MOVAX,01H
    76. CALLSHOW
    77. CALLKENTER
    78. MOVAX,0B10AH;读配置寄存器,双字操作
    79. MOVBH,BN;PCI设备的总线号
    80. MOVBL,DN_FN;设备以及功能号,入口参数
    81. MOVDI,BADR0
    82. INT1AH
    83. JCERROR
    84. MOVDX,OFFSETMES13;基址寄存器0
    85. MOVAH,09H
    86. INT21H
    87. MOVAX,04H
    88. CALLSHOW
    89. CALLKENTER
    90. MOVAX,0B10AH;读配置寄存器,双字操作
    91. MOVBH,BN;PCI设备的总线号
    92. MOVBL,DN_FN;设备及功能号,入口参数
    93. MOVDI,BADR1
    94. INT1AH
    95. JCERROR
    96. PUSHECX
    97. MOVDX,OFFSETMES14;基址寄存器1
    98. MOVAH,09H
    99. INT21H
    100. MOVAX,04H
    101. POPECX
    102. CALLSHOW
    103. CALLKENTER
    104. MOVAX,0B10AH;读配置寄存器,双字操作
    105. MOVBH,BN;PCI设备的总线号
    106. MOVBL,DN_FN;设备及功能号,入口参数
    107. MOVDI,BADR2
    108. INT1AH
    109. JCERROR
    110. MOVDX,OFFSETMES15;基地址寄存器2
    111. MOVAH,09H
    112. INT21H
    113. MOVAX,04H
    114. CALLSHOW
    115. CALLKENTER
    116. MOVAX,0B10AH;读配置寄存器,双字操作
    117. MOVBH,BN;PCI设备的总线号
    118. MOVBL,DN_FN;设备及功能号,入口参数
    119. MOVDI,BADR3
    120. INT1AH
    121. JCERROR
    122. MOVDX,OFFSETMES16;基地址寄存器3
    123. MOVAH,09H
    124. INT21H
    125. MOVAX,04H
    126. CALLSHOW
    127. CALLKENTER
    128. MOVAX,0B10AH;读配置寄存器,双字操作
    129. MOVBH,BN;PCI设备的总线号
    130. MOVBL,DN_FN;设备及功能号,入口参数
    131. MOVDI,BADR4
    132. INT1AH
    133. JCERROR
    134. MOVDX,OFFSETMES17;基地址寄存器4
    135. MOVAH,09H
    136. INT21H
    137. MOVAX,04H
    138. CALLSHOW
    139. JMPEXIT
    140. ERROR:CALLKENTER
    141. MOVDX,OFFSETMES2;显示读错误信息
    142. MOVAH,09H
    143. INT21H
    144. EXIT:MOVAH,4CH;返回DOS
    145. INT21H
    146. KENTERPROC
    147. MOVDL,0AH
    148. MOVAH,02H
    149. INT21H
    150. MOVDL,0DH
    151. MOVAH,02H
    152. INT21H
    153. RET
    154. KENTERENDP
    155. SHOWPROCNEAR;显示子程序
    156. PUSHDX
    157. PUSHDI
    158. PUSHBX
    159. MOVDI,OFFSETR_VALUE
    160. MOV[DI],ECX;保存获取的数据
    161. ADDDI,AX
    162. DECDI
    163. MOVCX,AX
    164. C1:MOVAL,[DI]
    165. PUSHAX
    166. SHRAL,4
    167. ANDAL,0FH;取高4位
    168. CMPAL,0AH;是否是A以上的数
    169. JBC2
    170. ADDAL,07H
    171. C2:ADDAL,30H
    172. MOVBH,AL
    173. POPAX
    174. ANDAL,0FH;取低4位
    175. CMPAL,0AH
    176. JBC3
    177. ADDAL,07H
    178. C3:ADDAL,30H
    179. MOVBL,AL
    180. MOVAH,2;显示十六进制数对应的ACSII码
    181. MOVDL,BH
    182. INT21H
    183. MOVDL,BL
    184. INT21H
    185. DECDI
    186. LOOPC1
    187. POPBX
    188. POPDI
    189. POPDX
    190. RET
    191. SHOWENDP
    192. CODEENDS
    193. ENDSTART

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top