切换到宽版
|帮助
社区应用
帖子
相册
日志
群组
热榜
分享
记录
最新帖子
精华区
社区服务
会员列表
统计排行
基本信息
到访IP统计
管理团队
管理统计
在线会员
会员排行
版块排行
帖子排行
标签排行
下拉
用户名
UID
用户名
密 码
记住登录
登录
找回密码
注册
快捷通道
关闭
您还没有登录,快捷通道只有在登录后才能使用。
立即登录
还没有帐号? 赶紧
注册一个
论坛
帖子
文章
日志
用户
版块
群组
帖子
搜索
紫色梦幻
黑色旋风
绿之印象
蓝色天空
水墨江南
>
同人游戏创作/Doujin Games Workshop
>
[灌水] Table[(addr)>>29]|((addr)&0x0FFFFFFF 的X86 ..
发帖
回复
返回列表
新帖
4656
阅读
7
回复
[灌水] Table[(addr)>>29]|((addr)&0x0FFFFFFF 的X86汇编?
[复制链接]
上一主题
下一主题
离线
littlewater
UID:300
注册时间
2005-08-10
最后登录
2014-11-12
发帖
793
搜Ta的帖子
精华
1
樱饼
5
博丽神社的喝茶券(威望)
1
春度
59
交易币
0
访问TA的空间
加好友
用道具
红白巫女
关闭
个人中心可以申请新版勋章哦
立即申请
知道了
发帖
793
樱饼
5
博丽神社的喝茶券(威望)
1
春度
59
交易币
0
加关注
发消息
只看楼主
倒序阅读
楼主
发表于: 2010-01-23
很久没在这里发帖灌水
已知 UINT32 Table[];
如何对Table[(addr)>>29]|((addr)&0x0FFFFFFF手动X86汇编?
自己的写法(这样写,然后用的是nasm汇编器,在VC下面跑出来的反汇编指令恰好一样(才知道可能会不一样|||)):
复制代码
mov ecx, eax
and eax, 0x0FFFFFFF ; addr & 0xFFFFFFF
shr ecx, 29 ; addr >> 29
or eax, [_Table + ecx * 4] ; _Table[addr >> 29] | (addr & 0xFFFFFFF)
但是水水知道汇编代码需要考虑每个指令(字节)长度、还有指令顺序之类的……
想一并请教一下~
[ 此帖被littlewater在2010-01-23 19:18重新编辑 ]
共
条评分
水水
回复
举报
分享到
淘江湖
新浪
QQ微博
QQ空间
开心
人人
豆瓣
网易微博
百度
鲜果
白社会
飞信
离线
sjmind
UID:55661
注册时间
2008-08-16
最后登录
2010-04-03
发帖
145
搜Ta的帖子
精华
0
樱饼
0
博丽神社的喝茶券(威望)
0
春度
8
交易币
0
访问TA的空间
加好友
用道具
普通巫女
发帖
145
樱饼
0
博丽神社的喝茶券(威望)
0
春度
8
交易币
0
加关注
发消息
只看该作者
1楼
发表于: 2010-01-23
没看懂问题
nasm本身距离标准的X86就远的去了,很多问题可以不用考虑的
话说,"字节长度、指令顺序"你想说的是什么问题?
eax系列都是以字为单位的,但是字节长度是什么意思?标准x86貌似都是8bits
指令顺序是指为了减少流水线损耗调整指令顺序?nasm的话可以不考虑这个,nasm默认就是两遍优化,包含了处理器优化的(貌似)但实际上,在CISC里面考虑这个问题没大意义
共
条评分
回复
举报
离线
littlewater
UID:300
注册时间
2005-08-10
最后登录
2014-11-12
发帖
793
搜Ta的帖子
精华
1
樱饼
5
博丽神社的喝茶券(威望)
1
春度
59
交易币
0
访问TA的空间
加好友
用道具
红白巫女
发帖
793
樱饼
5
博丽神社的喝茶券(威望)
1
春度
59
交易币
0
加关注
发消息
只看该作者
2楼
发表于: 2010-01-23
=x= 我外行人嘛^^
原来它内部也会重新修改代码? 可是好像编出来的和我写的也没差别呀^^
[ 此帖被littlewater在2010-01-23 19:18重新编辑 ]
共
条评分
水水
回复
举报
离线
sjmind
UID:55661
注册时间
2008-08-16
最后登录
2010-04-03
发帖
145
搜Ta的帖子
精华
0
樱饼
0
博丽神社的喝茶券(威望)
0
春度
8
交易币
0
访问TA的空间
加好友
用道具
普通巫女
发帖
145
樱饼
0
博丽神社的喝茶券(威望)
0
春度
8
交易币
0
加关注
发消息
只看该作者
3楼
发表于: 2010-01-23
まっ
nasm本身就是比较高级的汇编,这种东西考虑得少点反而会比较好。
(其实如果不强求自己写汇编的话,可以用高级语言的优化,只要不涉及类相关的代码,优化的结果绝大部分都是最优解了)
当然如果是给RISC编程、或者用gas汇编的话,再开始考虑这种问题会比较好。
共
条评分
回复
举报
离线
ryuka
UID:12214
注册时间
2006-06-22
最后登录
2012-07-15
发帖
234
搜Ta的帖子
精华
0
樱饼
0
博丽神社的喝茶券(威望)
0
春度
37
交易币
0
访问TA的空间
加好友
用道具
普通巫女
发帖
234
樱饼
0
博丽神社的喝茶券(威望)
0
春度
37
交易币
0
加关注
发消息
只看该作者
4楼
发表于: 2010-01-24
很奇怪水水姐这个代码是来做啥的=v= 哪个问题需要这样的code,貌似用addr做个伪handle还是啥..
共
条评分
。。。没啥签名。。。反正是一小号。。。
回复
举报
离线
littlewater
UID:300
注册时间
2005-08-10
最后登录
2014-11-12
发帖
793
搜Ta的帖子
精华
1
樱饼
5
博丽神社的喝茶券(威望)
1
春度
59
交易币
0
访问TA的空间
加好友
用道具
红白巫女
发帖
793
樱饼
5
博丽神社的喝茶券(威望)
1
春度
59
交易币
0
加关注
发消息
只看该作者
5楼
发表于: 2010-01-30
有些东西,去研究它并没有太多意义了……譬如猜测出处=_,=+
好像这个的确没有啥可以改进的吧?
共
条评分
水水
回复
举报
离线
sjmind
UID:55661
注册时间
2008-08-16
最后登录
2010-04-03
发帖
145
搜Ta的帖子
精华
0
樱饼
0
博丽神社的喝茶券(威望)
0
春度
8
交易币
0
访问TA的空间
加好友
用道具
普通巫女
发帖
145
樱饼
0
博丽神社的喝茶券(威望)
0
春度
8
交易币
0
加关注
发消息
只看该作者
6楼
发表于: 2010-01-30
回 5楼(littlewater) 的帖子
这么短的代码,总共也没几个解
应该是最优解没错了(除非后续代码可能会使得这个局部最优解不能导致全局最优解)
共
条评分
回复
举报
离线
littlewater
UID:300
注册时间
2005-08-10
最后登录
2014-11-12
发帖
793
搜Ta的帖子
精华
1
樱饼
5
博丽神社的喝茶券(威望)
1
春度
59
交易币
0
访问TA的空间
加好友
用道具
红白巫女
发帖
793
樱饼
5
博丽神社的喝茶券(威望)
1
春度
59
交易币
0
加关注
发消息
只看该作者
7楼
发表于: 2010-01-30
那下次再来问好了嗯^^
共
条评分
水水
回复
举报
发帖
回复
返回列表
快速回复
限100 字节
您目前还是游客,请
登录
或
注册
进入高级模式
文字颜色
发 布
回复后跳转到最后一页
上一个
下一个
隐藏
快速跳转
东方幻想乡/touhou dream island
同人新闻/Doujin News
美图驿站/Drawing Center
东方音乐长廊/Musical Corridor of Doujin
东方同人故事/the Library of Doujin Series
REPLAY交流区/Doujin Replay
同人游戏创作/Doujin Games Workshop
东方Cosplay交流区
同人企画/Doujin Project
东方小镇温泉乡/Free chat zone
同人激流/Doujin Game Discussion
秘·东方温泉/Free Chat
技术风暴/Technological Streaming
东方步行街/Resource Exchange
东方第一超市
求物场
东方小吃店/Shrine of Snacks
漫画发布区
小黑屋
东方小镇事务处/Enquiry Section
事务中心
事务投诉
幻葬の白玉楼
关闭
关闭
选中
1
篇
全选