深入理解计算机系统p137里面有一句 shrl %edx 右移指令,没写右移位数,

cuisanzhang 2014-02-24 09:49:40
有谁懂ATT汇编的,
深入理解计算机系统p137里面有一句
shrl %edx
右移指令,没写右移位数,
旁边注释写的右移一位
但是之前他并没有设置%ecx或者%cl


函数 int fun_a(unsigned x){
int val = 0;
while ( ________ ) {
____________;
____________;
}
return ___________;
}
GCC汇编代码如下,省略栈
movl 8%(ebp), %edx
movl $0, %eax
testl %edx, %edx
je .L7
.L10:
xorl %edx, %eax
shrl %edx /* shift right by 1*/
jne .L10
.L7:
andl $1, %eax
...全文
787 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
捕鲸叉 2014-03-07
  • 打赏
  • 举报
回复
表示右移一位
  • 打赏
  • 举报
回复 1
AT&T的移位指令有三种格式: sal destination sal %cl, destination sal shifter, destination 其中第一种格式就代表移的位数是1位

21,497

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧