|
主题 : : 谁能解释下实验10.2的那个公式 [待解决] |
回复[ 13次 ]
点击[ 1707次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2009-06-07 22:04 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:3
注册日期:2009-03-13 16:19 |
X/N=INT(H/N)*65536+[REM(H/N)*65536+L]/N
H=INT(X/65536);L=REM(X/65536)
这个公式该怎样理解?那个65536好象有点问题,在16位寄存器中放不下这个数,那么怎么进行*65536的运算呢? | | |
|
|
|
|
[第1楼]
[ 回复时间:2009-06-09 10:36 ]
[引用]
[回复]
[ top ] | |
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48 |
dx ax 存放dword型数据的高低16位
INT(H/N)*65536
--------------
dx/cx的高位16位除法,取商。存放到结果的高16位中。
(十进制数21=2*10+1)
[REM(H/N)*65536+L]/N
-------------
同理。
数值82/3,我们一般先计算:
8/3商2余2
然后再用22/3商7余1.(22得得来:高位除法的余数2*10+2(低位即个位数字)=22)
结果是27余1.
同理套入上面的公式。
数值82/3,我们一般先计算:
8/3商2余2 -----INT(H/N)*65536-保存商2,放入结果高位中
然后再用22/3商7余1. -----[REM(H/N)*65536+L]/N 用高位除法结果的余数+低位然后做除法运算,得到商和余数
结果是27余1. ----得到结果,2存放结果高位dx中(这个在INT(H/N)*65536完成),7放在ax中,1放在cx中。 | | |
|
|
|
|
[第2楼]
[ 回复时间:2009-07-15 00:32 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-07-01 22:00 |
你可以换个思路来理解这个 *65536
假如 ax寄存器上面有个1,那么1*65536就是 1 0000h
发现什么没有,其实就是1左移4位,也就是这个1从低16位ax移到了高16位dx
所以根本不需要考虑*65536(/65536),只要考虑ax与dx之间的转移就行了。 | | |
|
|
|
|
[第3楼]
[ 回复时间:2009-08-05 09:53 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:2
注册日期:2009-07-06 17:12 |
|
|
|
|
|
[第4楼]
[ 回复时间:2009-08-06 15:45 ]
[引用]
[回复]
[ top ] | |
荣誉值:169
信誉值:0
注册日期:2008-08-19 16:07 |
分析的不错,用已知的十进制除法,对比分析十六进制除法进而弄明白公式意义~ | | |
|
|
|
|
[第5楼]
[ 回复时间:2009-08-15 09:41 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-07-29 10:10 |
太精辟了 用十进制算法解释十六进制算法 一个字:服 | | |
|
|
|
|
[第6楼]
[ 回复时间:2009-09-27 18:39 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-10-29 16:30 |
2楼的正解.我也是想了很久才想到的
就是向左移了4位 | | |
|
|
|
|
[第7楼]
[ 回复时间:2009-09-28 10:46 ]
[引用]
[回复]
[ top ] | |
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48 |
多谢mess老师的细心讲解,现在明白多了。
------------------
回复:我可不是什么老师,大家一起在这学习,相互帮助交流嘛 ^_^ | | |
|
|
|
|
[第8楼]
[ 回复时间:2009-12-27 12:30 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-08-21 18:36 |
|
|
|
|
|
[第9楼]
[ 回复时间:2010-05-27 17:25 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-05-10 21:04 |
|
|
|
|
|
[第10楼]
[ 回复时间:2011-07-05 11:30 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-01-17 12:29 |
|
|
|
|
|
[第11楼]
[ 回复时间:2011-12-31 18:57 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-12-11 21:44 |
|
|
|
|
|
[第12楼]
[ 回复时间:2012-07-08 21:22 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-07-08 21:18 |
mutoo真是一语惊醒梦中人!!
一下子解开了我的迷惑
核心代码只用了不到十行,真实太感谢了 | | |
|
|
|
|
[第13楼]
[ 回复时间:2012-09-21 16:43 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2012-04-07 22:11 |
|