首页
社区
课程
招聘
这句汇编“mov dword ptr [ebp+FFFFFE44], eax”是什么意思?
发表于: 2005-1-31 17:29 22606

这句汇编“mov dword ptr [ebp+FFFFFE44], eax”是什么意思?

2005-1-31 17:29
22606

:0041089B 898544FEFFFF     mov dword ptr [ebp+FFFFFE44], eax

小弟不才,EBP寄存器+FFFFFE44,这是为什么?

这样肯定是有进位呀,是不是等于[EBP-1BB]呀?

为什么要这样写呢?


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 8
支持
分享
最新回复 (16)
雪    币: 260
活跃值: (81)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
意思是把eax里内容赋值给地址ebp+FFFFFE44处。
2005-1-31 18:11
0
雪    币: 390
活跃值: (707)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
3
等于[EBP-1BB]

负数的补码表示
2005-1-31 18:19
0
雪    币: 207
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
最初由 萝卜 发布
意思是把eax里内容赋值给地址ebp+FFFFFE44处。


这个我当然知道。
2005-1-31 20:36
0
雪    币: 207
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
最初由 firstrose 发布
等于[EBP-1BB]

负数的补码表示


谢谢!

不过为什么不直接写[EBP-1BB]呢?

觉得好奇怪呀。
2005-1-31 20:37
0
雪    币: 260
活跃值: (81)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
不是给你说过了吗?负数的表示方式:补码,取反加一。
2005-1-31 22:47
0
雪    币: 217
活跃值: (86)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
很简单的 就是  var_1BB = eax, 汇编中的[] 相当于 C中的* (取成员),取堆栈中向上偏移1BB的成员(因为堆栈的地址值向下是大,往上是小,把ESP向上移就得用减) 然后把 eax的值给它, 同理 Lea eax,[EBP-1BB],写成C就是 void* eax = &var_1BB,明白了吗?
2005-2-1 01:05
0
雪    币: 212
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
最初由 米西牙乖 发布


谢谢!

不过为什么不直接写[EBP-1BB]呢?
........


有的编译器用-的,有的用加,不知为什么
2005-2-1 09:21
0
雪    币: 135
活跃值: (226)
能力值: ( LV12,RANK:330 )
在线值:
发帖
回帖
粉丝
9
无非是表示方法不同罢了,机器码都是一样的,智能一点的反汇编器就会表示成减
补码这个简单,只要记住100000000=0和x-0=x就行
2005-2-1 09:48
0
雪    币: 3246
活跃值: (374)
能力值: (RANK:20 )
在线值:
发帖
回帖
粉丝
10
把负数写成“+FFFFFE44”,说明该反汇编器在细节上做得不够体贴
2005-2-1 11:37
0
雪    币: 332
活跃值: (479)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
11
最初由 blowfish 发布
把负数写成“+FFFFFE44”,说明该反汇编器在细节上做得不够体贴

用wdasm89反汇编就是如此难看,od就没问题。
建议那个DIY wdasm89的来改改。
2005-2-1 11:54
0
雪    币: 207
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
最初由 doa007 发布
很简单的 就是 var_1BB = eax, 汇编中的[] 相当于 C中的* (取成员),取堆栈中向上偏移1BB的成员(因为堆栈的地址值向下是大,往上是小,把ESP向上移就得用减) 然后把 eax的值给它, 同理 Lea eax,[EBP-1BB],写成C就是 void* eax = &var_1BB,明白了吗?


大哥,本来是很简单的问题,可以你这么一说,反而说复杂了。

堆栈地址,压栈是减地址,出栈是加地址,这样说,不就明白了吗?

Faint!

汇编小弟虽然不才,但基本知识还是了解点的,当年我学汇编,考试还是90分以上呢。只不过这么多年过去了,学的东西已经大部分还给当年的老师了,呵呵。
2005-2-1 15:46
0
雪    币: 225
活跃值: (146)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
13
好好学习一下。。。。.
80x86汇编课本: 多数机器的整数都采用补码表示。浮点数的表示法见 80x87 IEEE浮点格式规范。顺便复习一下。^_^
2005-2-1 15:57
0
雪    币: 207
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
所有的运算不管是正数还是负数都要用补码表示才能运算的!
2005-2-7 09:32
0
雪    币: 4441
活跃值: (805)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
15
学知识呀,谢谢各位老大
2005-3-21 18:21
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
是要“顶”第!!!
2006-1-18 15:33
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
FFFFFE44H的补码不是1BCH吗??
2006-2-27 18:53
0
游客
登录 | 注册 方可回帖
返回
//