首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
软件逆向
发新帖
2
0
[求助]char型的左右移问题
发表于: 2009-3-18 17:59
5222
[求助]char型的左右移问题
大风起兮
2009-3-18 17:59
5222
今天遇到一些代码
mov al, byte_1EC26E[eax]
shl al, 3
shr al, 7
movzx eax, al
mov [ebp+var_20], eax
这段代码是将一个char型的变量左右移后交给整型var_20
我写了一个小程序测试一下
程序是
main()
{
char a;
char b;
int c;
c=(a<<3)>>7;
}
反汇编是
mov al, [ebp+var_8]
shl eax, 3
sar eax, 7
mov [ebp+var_C], eax
请问如何才能在左右移的时候使用al移而不是用eax移,所用编译器是watcom
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
#调试逆向
收藏
・
2
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
8
)
BlueT
雪 币:
517
活跃值:
(35)
能力值:
( LV6,RANK:90 )
在线值:
发帖
8
回帖
883
粉丝
0
关注
私信
BlueT
2
2
楼
char c;
试试看
2009-3-18 19:16
0
NutCracker
雪 币:
39
活跃值:
(2956)
能力值:
( LV2,RANK:10 )
在线值:
发帖
5
回帖
193
粉丝
8
关注
私信
NutCracker
3
楼
不可以让它对AL移,因为根据C语言的规范,char类型必须先提升到int类型才接下去对它
进行操作。
2009-3-18 21:24
0
Bughoho
雪 币:
1946
活跃值:
(263)
能力值:
(RANK:330 )
在线值:
发帖
72
回帖
1217
粉丝
27
关注
私信
Bughoho
8
4
楼
BYTE a;
DWORD b;
b = a >> 4;
2009-3-19 02:29
0
不问年少
雪 币:
1074
活跃值:
(160)
能力值:
( LV13,RANK:760 )
在线值:
发帖
63
回帖
586
粉丝
3
关注
私信
不问年少
15
5
楼
不论怎样,编译器还是会用SHL EAX,3 这样的结果,可以加个强制转换。
char b = ((char)(a<<3))>>7;
2009-3-19 09:03
0
eunt
雪 币:
268
活跃值:
(159)
能力值:
( LV2,RANK:10 )
在线值:
发帖
3
回帖
19
粉丝
0
关注
私信
eunt
6
楼
a = a << 3;
a = a >> 7;
c = a;
跟编译器有关系
2009-3-19 09:48
0
icersg
雪 币:
293
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
8
回帖
471
粉丝
0
关注
私信
icersg
7
楼
好像初学者版块有一个帖讲得挺清楚的,最后生成sar还是shr主要看被移位的变量是signed还是unsigned。
2009-3-19 11:20
0
大风起兮
雪 币:
161
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
15
回帖
35
粉丝
0
关注
私信
大风起兮
8
楼
多谢大家回答,现在问题的关键是右移不管是signed还是unsigned都用sar,解决了这个问题也就能解决al的问题了
2009-3-19 14:10
0
icersg
雪 币:
293
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
8
回帖
471
粉丝
0
关注
私信
icersg
9
楼
看这里
http://bbs.pediy.com/showthread.php?t=82564&highlight=sar+shr
2009-3-19 17:33
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
大风起兮
15
发帖
35
回帖
10
RANK
关注
私信
他的文章
有没有开发过bochs虚拟机的,请问怎么增加一个pci设备
3516
请推荐些关于开发虚拟机的书
5424
callback和控件是如何关联起来的?
4017
ida启动以后能否自动执行一个插件?
3948
[求助][求助]ida 可否分析wince下的nb0可执行文件格式
2876
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部