dzjhnld
驱动老牛
驱动老牛
  • 注册日期2002-09-30
  • 最后登录2002-11-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1843回复:24

有谁懂这个呀!?

楼主#
更多 发布于:2002-10-31 09:38
谁能介绍怎样给地址进行初始化的书!
能详细说说下面程序给基地址进行初始化的含义吗?如:
_outp(address,OxO3);
_outp(address+1,Ox34);
_outp(address,OxO0);
_outp(address+1,OxO0);
_outp(address+1,OxO0);
其中的address和address+1有什么不同的意思呢?
谢谢了!

天下风云出我辈 一入江湖岁月催 鸿图霸业谈笑中 不胜人生一场醉 罪过罪过!!
laicq
驱动中牛
驱动中牛
  • 注册日期2002-10-04
  • 最后登录2004-05-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-10-31 09:40
两个不同的口地址了! :D :D :D :D
[img]http://www.warchina.com/image/zj1.gif[/img] Good good study,day day up!
heshen
驱动老牛
驱动老牛
  • 注册日期2002-04-19
  • 最后登录2014-01-26
  • 粉丝0
  • 关注0
  • 积分45分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-10-31 09:52
谁能介绍怎样给地址进行初始化的书!
能详细说说下面程序给基地址进行初始化的含义吗?如:
_outp(address,OxO3);
_outp(address+1,Ox34);
_outp(address,OxO0);
_outp(address+1,OxO0);
_outp(address+1,OxO0);
其中的address和address+1有什么不同的意思呢?
谢谢了!

 
address+1应该是之下一个地址吧?
不要啊!
dzjhnld
驱动老牛
驱动老牛
  • 注册日期2002-09-30
  • 最后登录2002-11-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-10-31 10:09
不是的,你们都错了,我知道是什么意思了!谢谢你们了!
可有谁能介绍关于这方面的书吗? :)我想再了解多一点 :)
天下风云出我辈 一入江湖岁月催 鸿图霸业谈笑中 不胜人生一场醉 罪过罪过!!
heshen
驱动老牛
驱动老牛
  • 注册日期2002-04-19
  • 最后登录2014-01-26
  • 粉丝0
  • 关注0
  • 积分45分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-10-31 10:10
不是的,你们都错了,我知道是什么意思了!谢谢你们了!
可有谁能介绍关于这方面的书吗? :)我想再了解多一点 :)
那是什么意思呢?快说!
不要啊!
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
5楼#
发布于:2002-10-31 10:10
那是指针运算呀.....
address+1指向下一个地址
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
heshen
驱动老牛
驱动老牛
  • 注册日期2002-04-19
  • 最后登录2014-01-26
  • 粉丝0
  • 关注0
  • 积分45分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-10-31 10:11
那是指针运算呀.....
address+1指向下一个地址
可是他说错了呢
不要啊!
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
7楼#
发布于:2002-10-31 10:13
outp是访问端口的命令呀.
一般也就是address的数字加一

http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
dzjhnld
驱动老牛
驱动老牛
  • 注册日期2002-09-30
  • 最后登录2002-11-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-10-31 10:16
有人告诉我是这样的:
address一般是index register即索引寄存器,而address+1是data register即数据寄存器。在很多硬件结构中为节省I/O空间使用这种 index/data组合的办法。比如一共有256个I/O寄存器,但不想真正的占用系统256个I/O地址,就可以使用两个8位的I/O寄存器的办法,其中一个用做索引值,另一个用做数据操作。如要读第30H个I/O寄存器的值就可以这样:
_outp(address,0x30)
val=_inp(address+1)
同样要对第3个I/O寄存器写则:
_outp(address,0x03)
_outp(address,val)
站长,你能介绍相关的书吗? :)
天下风云出我辈 一入江湖岁月催 鸿图霸业谈笑中 不胜人生一场醉 罪过罪过!!
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
9楼#
发布于:2002-10-31 10:18
找本80386的汇编教材就有呀.....
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
dzjhnld
驱动老牛
驱动老牛
  • 注册日期2002-09-30
  • 最后登录2002-11-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-10-31 10:22
找本80386的汇编教材就有呀.....

我想要找专门介绍怎样给地址初始化的书――最好有例子的 :) :)
谢谢了!
天下风云出我辈 一入江湖岁月催 鸿图霸业谈笑中 不胜人生一场醉 罪过罪过!!
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-10-31 10:24
有人告诉我是这样的:
address一般是index register即索引寄存器,而address+1是data register即数据寄存器。在很多硬件结构中为节省I/O空间使用这种 index/data组合的办法。比如一共有256个I/O寄存器,但不想真正的占用系统256个I/O地址,就可以使用两个8位的I/O寄存器的办法,其中一个用做索引值,另一个用做数据操作。如要读第30H个I/O寄存器的值就可以这样:
_outp(address,0x30)
val=_inp(address+1)
同样要对第3个I/O寄存器写则:
_outp(address,0x03)
_outp(address,val)
站长,你能介绍相关的书吗? :)

但不总是那样的,合身他们说得没错
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
heshen
驱动老牛
驱动老牛
  • 注册日期2002-04-19
  • 最后登录2014-01-26
  • 粉丝0
  • 关注0
  • 积分45分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-10-31 10:25
[quote]有人告诉我是这样的:
address一般是index register即索引寄存器,而address+1是data register即数据寄存器。在很多硬件结构中为节省I/O空间使用这种 index/data组合的办法。比如一共有256个I/O寄存器,但不想真正的占用系统256个I/O地址,就可以使用两个8位的I/O寄存器的办法,其中一个用做索引值,另一个用做数据操作。如要读第30H个I/O寄存器的值就可以这样:
_outp(address,0x30)
val=_inp(address+1)
同样要对第3个I/O寄存器写则:
_outp(address,0x03)
_outp(address,val)
站长,你能介绍相关的书吗? :)

但不总是那样的,合身他们说得没错 [/quote] :D :D
不要啊!
dzjhnld
驱动老牛
驱动老牛
  • 注册日期2002-09-30
  • 最后登录2002-11-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-10-31 10:28
[quote]有人告诉我是这样的:
address一般是index register即索引寄存器,而address+1是data register即数据寄存器。在很多硬件结构中为节省I/O空间使用这种 index/data组合的办法。比如一共有256个I/O寄存器,但不想真正的占用系统256个I/O地址,就可以使用两个8位的I/O寄存器的办法,其中一个用做索引值,另一个用做数据操作。如要读第30H个I/O寄存器的值就可以这样:
_outp(address,0x30)
val=_inp(address+1)
同样要对第3个I/O寄存器写则:
_outp(address,0x03)
_outp(address,val)
站长,你能介绍相关的书吗? :)

但不总是那样的,合身他们说得没错 [/quote]
有没这么复杂,花猫!那你肯定懂得更多咯,介绍介绍吧: :)――
――书也行呀!
天下风云出我辈 一入江湖岁月催 鸿图霸业谈笑中 不胜人生一场醉 罪过罪过!!
dzjhnld
驱动老牛
驱动老牛
  • 注册日期2002-09-30
  • 最后登录2002-11-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-10-31 10:46
花猫来说话呀! :(
天下风云出我辈 一入江湖岁月催 鸿图霸业谈笑中 不胜人生一场醉 罪过罪过!!
cn18799
驱动老牛
驱动老牛
  • 注册日期2001-11-17
  • 最后登录2010-04-16
  • 粉丝0
  • 关注0
  • 积分54分
  • 威望36点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-10-31 12:32
有人告诉我是这样的:
address一般是index register即索引寄存器,而address+1是data register即数据寄存器。在很多硬件结构中为节省I/O空间使用这种 index/data组合的办法。比如一共有256个I/O寄存器,但不想真正的占用系统256个I/O地址,就可以使用两个8位的I/O寄存器的办法,其中一个用做索引值,另一个用做数据操作。如要读第30H个I/O寄存器的值就可以这样:
_outp(address,0x30)
val=_inp(address+1)
同样要对第3个I/O寄存器写则:
_outp(address,0x03)
_outp(address,val)
站长,你能介绍相关的书吗? :)


那要看硬件是怎么设计的,你得具体到硬件。
反正还是 heshen 说的意思。
[img]http://www.danasoft.com/vipersig.jpg[/img] [img]http://www.driverdevelop.com/forum/upload/cn18799/2002-09-28_logo.gif[/img]
wavelight
驱动老牛
驱动老牛
  • 注册日期2002-08-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2002-10-31 12:45
不太懂!! :(
兄弟,帮你了你!  :( :)
<table style="filter: glow(color=red, strength=6)"><br><font color=white><b>我cool 故我在!<br></b></font></table> [img]http://www.driverdevelop.com/forum/upload/wavelight/2002-12-13_1.gif[/img]<table style="filter: glow(color=red, strength=6)"><br><font color=white><b>我在 故我cool!<br></b></font></table>
more
驱动中牛
驱动中牛
  • 注册日期2001-06-30
  • 最后登录2009-07-10
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2002-10-31 13:23
[quote]有人告诉我是这样的:
address一般是index register即索引寄存器,而address+1是data register即数据寄存器。在很多硬件结构中为节省I/O空间使用这种 index/data组合的办法。比如一共有256个I/O寄存器,但不想真正的占用系统256个I/O地址,就可以使用两个8位的I/O寄存器的办法,其中一个用做索引值,另一个用做数据操作。如要读第30H个I/O寄存器的值就可以这样:
_outp(address,0x30)
val=_inp(address+1)
同样要对第3个I/O寄存器写则:
_outp(address,0x03)
_outp(address,val)
站长,你能介绍相关的书吗? :)


那要看硬件是怎么设计的,你得具体到硬件。
反正还是 heshen 说的意思。 [/quote]

对,这得要看硬件是怎么设计.
这段代码就是index register和data register的意思,否则没有意义.我碰到过这样设计register的芯片,一般应该是显示芯片才会这么做.

dzjhnld
驱动老牛
驱动老牛
  • 注册日期2002-09-30
  • 最后登录2002-11-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2002-10-31 14:20


对,这得要看硬件是怎么设计.
这段代码就是index register和data register的意思,否则没有意义.我碰到过这样设计register的芯片,一般应该是显示芯片才会这么做.

 [/quote]
那你能告诉我介绍这方面的书吗?!谢谢了先!
天下风云出我辈 一入江湖岁月催 鸿图霸业谈笑中 不胜人生一场醉 罪过罪过!!
fracker
驱动太牛
驱动太牛
  • 注册日期2001-06-28
  • 最后登录2021-03-30
  • 粉丝0
  • 关注0
  • 积分219分
  • 威望81点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分1分
  • 社区居民
19楼#
发布于:2002-10-31 15:34
大概十年前我在DOS下对显卡编程的时候碰到过,就是index/data的意思嘛,要说是地址,除非outp解释为内存地址,否则就是端口地址。
上一页
游客

返回顶部