首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
付费问答
发新帖
1
0
[旧帖]
[求助]关于相对基址加变址相对寻址方式有效地址的计算
0.00雪花
发表于: 2008-2-10 19:56
5977
[旧帖]
[求助]关于相对基址加变址相对寻址方式有效地址的计算
0.00雪花
我在潜水
2008-2-10 19:56
5977
我在教程上看到一个习题
关于基址加变址相对寻址方式的
指令:mov [bx+di-2]
ds=5000h,bx=1223h,di=54h
有效地址为 ds+bx+di+fff4(-2的补码)
50000+01223+00054+fffffe(负数补码带符号扩展前+f)
=151275h(我用计算器算的也是这个啊)
教程上说=51275h,他为什么把高位的1给丢掉啊?
搞不明白。。。。
谢谢~
[IMG]
[/IMG]
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
收藏
・
1
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
5
)
小虾
雪 币:
2384
活跃值:
(766)
能力值:
(RANK:410 )
在线值:
发帖
36
回帖
2248
粉丝
7
关注
私信
小虾
10
2
楼
正整数计算要用正整数计算,负整数要用负整数计算。
50000+01223+00054-2 = 51275h
50000+01223+00054+ffffe
= 51277 + fffffe
= not 51277 = AED89 - ffffe = AED8B = not AED8B = 51275
2008-2-10 21:25
0
tnttools
雪 币:
297
活跃值:
(27)
能力值:
( LV13,RANK:380 )
在线值:
发帖
15
回帖
96
粉丝
1
关注
私信
tnttools
9
3
楼
你的思路是对的,正数的补码和负数的补码可以一起相加,只是最后结果确实要把第六位丢掉,是因为在IA16位的环境下没有办法表示。
DS:DX最多只能显示5个十六进制位(从你的思路知道我不用解释),最大只能是0xFFFFF。就算DS=FFFF,DX=FFFF,最大也是这个数,即向上溢出。如果结果小于可以表示的最小数,就是向下溢出。
这也就是为什么DOS实模式中只能访问1MB的内存的原因(不使用其它技巧时)
2008-2-11 00:23
0
我在潜水
雪 币:
201
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
3
回帖
30
粉丝
0
关注
私信
我在潜水
4
楼
16进制运算,把我搞晕了,+,—都快不会算了。。
我明白了,遇到负数可以直接算,不管他的补码形式了。或者按补码算的话,查看最大可表示多少位,从低位到高位,超过的直接忽略。
谢谢版主和楼上的朋友。
"= not 51277 = AED89 - ffffe = AED8B = not AED8B = 51275"
not加入运算中是什么意思啊?
2008-2-11 01:34
0
小虾
雪 币:
2384
活跃值:
(766)
能力值:
(RANK:410 )
在线值:
发帖
36
回帖
2248
粉丝
7
关注
私信
小虾
10
5
楼
我说的not是将正数转成负数再计算。
2008-2-11 09:07
0
tnttools
雪 币:
297
活跃值:
(27)
能力值:
( LV13,RANK:380 )
在线值:
发帖
15
回帖
96
粉丝
1
关注
私信
tnttools
9
6
楼
我是菜鸟,没看出来这样算的原理。
50000+01223+00054+ffffe
= 51277 + fffffe
= not 51277 = AED89 - ffffe = AED8B = not AED8B = 51275
我想:还是按CPU的硬件逻辑来好些吧:所有的数都用补码来表示,补码相加后,将溢出位去掉。
2008-2-11 15:12
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
我在潜水
3
发帖
30
回帖
10
RANK
关注
私信
他的文章
[求助]关于相对基址加变址相对寻址方式有效地址的计算
5978
[求助]请问学习汇编前,要先学一门高级语言。不是c语言可以吗?
3798
[求助]请问在解密入门基础知识中推荐的两本win32编程的书,是任选一本还是两本都需要看呢?
4364
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部