. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
数据处理的两个基本问题
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
div小问题
[待解决]
回复[
1
次 ] 点击[
331
次 ]
pkingsha
[帖 主]
[ 发表时间:2013-02-20 01:06 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:4
信誉值:0
注册日期:2013-02-02 01:48
我们平常数学中:8/4=2 8为除数,4为被除数,2为商
汇编中:div byte ptr ds:[0]
(al)=(ax)/((ds)*16+0)的商
(ah)=(ax)/((ds)*16+0)的余数
被除数:默认放在AX或DX和AX中,那这里的AX里面放的是被除数?
那不是说al=被除数/除数?我有点纠结,大手能帮忙解一下吗?
qq8581518
[第
1
楼]
[ 回复时间:2013-02-25 21:31 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2008-07-01 22:53
两种可能,除数是8位的时候,被除数应该是16位,放在ax中,结果:商在al中,余在ah中。 除数是16位的时候,被除数放在dx和ax中 (高8位放在dx中低8位放在ax中)结果:商在ax中,余在dx中 你这个div bye ptr ds:[0] 除数是字节型 就是8位的。 那么被除数应该是16位的,默认应该放在ax中。如果你用div word ptr ds:[0]的话 ,被除数应该放在dx,ax中。 回答有点乱,请谅解
需要登录后才能回帖 -->>
请单击此处登录
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved