amei
驱动牛犊
驱动牛犊
  • 注册日期2002-03-21
  • 最后登录2006-11-10
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:1289回复:3

关于使用WRITE_PORT_ULONG传递双字的问题

楼主#
更多 发布于:2003-10-28 21:05
我使用WRITE_PORT_ULONG向ox37c传递一个双字,可是用示波器监视该端口发现这个函数是将一个双字分成2个字传递的。
请问怎样才能一次传递一个双字而不让他分2次传递?
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2003-10-28 21:22
RITE_PORT_ULONG proc near              ; CODE XREF: sub_80013BFC+3Ep
.text:800180B4                                         ; .text:80015C1Ep ...
.text:800180B4
.text:800180B4 arg_0           = dword ptr  4
.text:800180B4 arg_4           = dword ptr  8
.text:800180B4
.text:800180B4                 mov     edx, [esp+arg_0]
.text:800180B8                 mov     eax, [esp+arg_4]
.text:800180BC                 out     dx, eax
.text:800180BD                 retn    8
.text:800180BD WRITE_PORT_ULONG endp
虽然可以OUT DX,EAX。不过由于IO宽度只有16位,所以没办法。
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
amei
驱动牛犊
驱动牛犊
  • 注册日期2002-03-21
  • 最后登录2006-11-10
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-10-28 21:28
你所处的编程环境只支持到16位,我是在2K下用VC和DDK做的,这样我的编程环境就不仅支持16位也支持32位,应该可以实现一次传输一个双字。但是怎么做呢
amei
驱动牛犊
驱动牛犊
  • 注册日期2002-03-21
  • 最后登录2006-11-10
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-11-03 12:27
没有人关注,我只好换一个地方问了
游客

返回顶部