首页
社区
课程
招聘
这几条汇编是什么意思?
发表于: 2011-12-19 14:05 5682

这几条汇编是什么意思?

2011-12-19 14:05
5682
mov     byte ptr [ebp+esi-120], cl
mov     dword ptr [eax], 61450001
mov     dword ptr [eax+4], 89CDAB89
这几条是什么意思呀?
mov     byte ptr [ebp+esi-120], cl
我理解把cl赋值给地址为ebp+esi-120,指针。
mov     dword ptr [eax], 61450001
因为是是4个字节分别赋值为61、45、00、01
mov     dword ptr [eax+4], 89CDAB89
同上只不过是把指针地址移动4个字节,赋值89、CD、AB、89

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 196
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不知理解的是否对?请赐教!
2011-12-19 14:40
0
雪    币: 403
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
mov     byte ptr [ebp+esi-120], cl  ;这条感觉像是给结构体或数组中的元素赋值

mov     dword ptr [eax], 61450001  ;这两个个像是指针
mov     dword ptr [eax+4], 89CDAB89

我也不知道对不对  如果不对还请指正
2011-12-19 16:44
0
雪    币: 121
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
mov     byte ptr [ebp+esi-120], cl         ;把cl的值赋予指针指向的地址
mov     dword ptr [eax], 61450001       ;把61450001H 赋予指针指向的地址
mov     dword ptr [eax+4], 89CDAB89  ;把89CDAB89H 赋予指针指向的地址
分别是:
相对基址加变址寻址
寄存器间接寻址
寄存器相对寻址
2011-12-19 19:30
0
雪    币: 1
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
1、mov     byte ptr [ebp+esi-120], cl
将cl指向的字符串入栈,放到ebp+esi-120所指位置,大小为120
2、mov     dword ptr [eax], 61450001
将0x61450001字符串赋值给dword ptr [eax]的位置,暂时存起来
3、mov     dword ptr [eax+4], 89CDAB89
内容同上第二句所述。
2011-12-19 19:33
0
雪    币: 139
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
4楼正解!!!
2011-12-20 16:55
0
雪    币: 49
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
mov     byte ptr [ebp+esi-120], cl
把cl赋值给地址为ebp+esi-120的一个字节数据。
mov     dword ptr [eax], 61450001
mov     dword ptr [eax+4], 89CDAB89
4字节赋值,具体字节排序看机器大小端落,大多是小端排列吧就是高位高址跟你说的相反
这里看eax应该是个指针啦,比如DWORD *P;
P=0x61450001
p++;
p=0x89CDAB89
2011-12-22 21:12
0
雪    币: 49
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
[QUOTE=xuqiqw;1031723]mov     byte ptr [ebp+esi-120], cl
把cl赋值给地址为ebp+esi-120的一个字节数据。
mov     dword ptr [eax], 61450001
mov     dword ptr [eax+4], 89CDAB89
4字节赋值,具体字节排...[/QUOTE]
写错了是给*p赋值
2011-12-22 21:14
0
雪    币: 57
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
路过学习中
2011-12-23 11:43
0
雪    币: 51
活跃值: (61)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
10
把这几个寄存器的值写出来 或许能看出些别的
2011-12-23 16:13
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
确定4楼正确
2011-12-24 19:32
0
雪    币: 108
活跃值: (56)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
12
假设你学了C语言
mov     byte ptr [ebp+esi-120], cl
* (char*)(ebp+esi-120) = cl
mov     dword ptr [eax], 61450001
*(dwrod*)eax = 61450001   // dwrod 类型 就是无符号 一个意思
mov     dword ptr [eax+4], 89CDAB89
*(dwrod*)(eax+4)= 89CDAB89
2011-12-25 21:16
0
游客
登录 | 注册 方可回帖
返回
//