首页
社区
课程
招聘
怎样将如下汇编翻译成C
发表于: 2007-4-8 13:25 4435

怎样将如下汇编翻译成C

2007-4-8 13:25
4435
这是汇编代码
mov   cl, byte ptr [edx]

这是C代码
DWORD Ecx;
DWORD * pEdx;
//...

要求
将C代码补全,使得其模拟完成如上汇编代码的功能,即,将*pEdx的最低1byte的内容,写入Ecx的低16位

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

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
2
功能一样还不容易?

ECX = (* EDX);
2007-4-8 13:59
0
雪    币: 257
活跃值: (44)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
不是吧 你直接这样 是mov ecx, dword ptr [edx]吧
2007-4-8 14:07
0
雪    币: 257
活跃值: (44)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
我这样写的 不知道对不
Ecx &= 0xFFFF00;
Ecx += (*pEdx)&0xFF;
2007-4-8 14:08
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
5
结果还不一样?如果你希望操作一个BYTE,为什么不

char cl
char *edx

cl = (*edx);
2007-4-8 14:52
0
雪    币: 257
活跃值: (44)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
要求就是这样 因为后面还要对这个DWORD整体进行操作
2007-4-8 17:42
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
7
char cl;
char *edx;
unsigned long ecx;

cl = (*edx);
ecx &= 0xffffff00;
ecx = ecx | cl
2007-4-8 18:31
0
游客
登录 | 注册 方可回帖
返回
//