. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
端口
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
我们如何知道端口是8位还是16位?
[已解决]
回复[
4
次 ] 点击[
460
次 ]
jjch224
[帖 主]
[ 发表时间:2010-08-18 11:02 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:16
信誉值:0
注册日期:2010-07-09 09:48
课本(p266)里面有一句话:在in和out指令中,只能使用ax和al来存放从端口中读入的数据或要发送到端口中的数据。访问8位端口时使用al,访问16位端口时用ax。
我们如何知道端口是8位还是16位?
masmaster
[第
1
楼]
[ 回复时间:2010-08-18 14:59 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19
要看数据大小吧,大于255的自然要用ax来存放。如果不是手动的话, 加上个判断, 不知道是否可行
jjch224
[第
2
楼]
[ 回复时间:2010-08-18 15:07 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:16
信誉值:0
注册日期:2010-07-09 09:48
端口也是一组寄存器,但是,到底是8位还是16位,我们该怎么判断,比如,cmos ram的70h 71h号端口,你说是8位还是16位,根本没提到。也不像通用寄存器那样8位就用ah、al,16位就用ax bx,一眼就看出来了。70h 71h只表示了端口地址,就如同知道了内存地址你也不可能知道它是字节单元,还是字单元。纳闷了~~~~
masmaster
[第
3
楼]
[ 回复时间:2010-08-18 15:42 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19
这要取决你的使用,比如:
in al,70h ;从端口70h读入一字节数据到AL
in ax,70h ;从端口地址70H读取1字节数据到AL,从端口地址71H读取1字节到AH
jjch224
[第
4
楼]
[ 回复时间:2010-09-01 10:03 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:16
信誉值:0
注册日期:2010-07-09 09:48
此贴由 贴主 于 [ 2010-09-01 10:03 ] 结贴。 结贴原因:问题已解决
得分情况:
此问题已结贴!
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved