at&t addb $0xF8,(%dl) movl eax eax%bx,%eax 这两条指令哪里错了(能不

AT&T中shrdl 指令实践运用得到的结果不能理解-红联Linux系统门户
您的位置:
&& 查看内容 - - -
AT&T中shrdl 指令实践运用得到的结果不能理解
zhanghuafeng发布于
&&字号: &&&&(网友评论&4&条)&
{int shift=8;
unsigned long underflow=,a=;
__asm__("shrdl %2,%1,%0;"
:"=r"(underflow),"=r"(a)
:"c"((char)shift),""(underflow));
这个程序中执行完shrdl指令后用`gdb`查看underflow=,a=;按书上讲的这个指令执行完以后'a'移动1字节到'underflow','a'本身不变吗,为什么实际的结果会不一样呢?请高手指点!
作者: haohu137&发布日期:
路过,看看。
作者: zhaochangwei&发布日期:
作者: deem_passion&发布日期:
不错,谢谢
作者: 烟消云散&发布日期:
我是这样处理你的这个程序的
先用gcc编译成功了这个程序
在就是在终端中运行了这个程序但是没有任何的输出
然后我就把它反编译了反编译的结果如下:
整个执行过程如下:
主程序很短我就不再这对其进行分析了,从mian:开始的,如果你不了解汇编和反编译以及Linux系统汇编AT&T格式的话希望你还是先去了解一下在深入学习你的程序。
maker@maker-virtual-machine:~/桌面$ gcc 123.c -o 123
maker@maker-virtual-machine:~/桌面$ ./123
maker@maker-virtual-machine:~/桌面$ objdump -d 123
文件格式 elf32-i386
Disassembly of section .init:
8048298: e8 83 00 00 00
804829d: 81 c3 63 1d 00 00
$0x1d63,%ebx
b 83 fc ff ff ff
-0x4(%ebx),%eax
80482ab: 74 05
80482ad: e8 1e 00 00 00
80482b6: c3
Disassembly of section .plt:
80482c0: ff 35 04 a0 04 08
80482c6: ff 25 08 a0 04 08
*0x804a008
80482cc: 00 00
%al,(%eax)
80482d0: ff 25 0c a0 04 08
*0x804a00c
00 00 00 00
80482db: e9 e0 ff ff ff
80482e0: ff 25 10 a0 04 08
*0x804a010
08 00 00 00
80482eb: e9 d0 ff ff ff
Disassembly of section .text:
$0xfffffff0,%esp
80482fa: 52
80482fb: 68 90 84 04 08
$0x8048490
20 84 04 08
$0x8048420
f0 83 04 08
$0x80483f0
804830c: e8 cf ff ff ff
8048311: f4
804831a: 66 90
804831c: 66 90
804831e: 66 90
(%esp),%ebx
8048323: c3
804832a: 66 90
804832c: 66 90
804832e: 66 90
8048330: b8 1f a0 04 08
$0x804a01f,%eax
d 1c a0 04 08
$0x804a01c,%eax
804833a: 83 f8 06
804833d: 77 01
804833f: c3
8048340: b8 00 00 00 00
804834a: 89 e5
804834c: 83 ec 18
$0x18,%esp
804834f: c7 04 24 1c a0 04 08
$0x804a01c,(%esp)
8048356: ff d0
8048358: c9
8048359: c3
804835a: 8d b6 00 00 00 00
0x0(%esi),%esi
8048360: b8 1c a0 04 08
$0x804a01c,%eax
d 1c a0 04 08
$0x804a01c,%eax
804836a: c1 f8 02
804836d: 89 c2
804836f: c1 ea 1f
$0x1f,%edx
8048374: d1 f8
8048378: c3
8048379: ba 00 00 00 00
804837e: 85 d2
$0x18,%esp
%eax,0x4(%esp)
804838c: c7 04 24 1c a0 04 08
$0x804a01c,(%esp)
8048393: ff d2
8048395: c9
8048396: c3
d bc 27 00 00 00 00
0x0(%edi,%eiz,1),%edi
3d 1c a0 04 08 00
$0x0,0x804a01c
80483aa: 89 e5
80483ac: 83 ec 08
80483af: e8 7c ff ff ff
80483b4: c6 05 1c a0 04 08 01
$0x1,0x804a01c
80483bb: c9
80483bc: f3 c3
80483be: 66 90
80483c0: a1 10 9f 04 08
0x8049f10,%eax
80483c9: b8 00 00 00 00
80483ce: 85 c0
$0x18,%esp
80483d8: c7 04 24 10 9f 04 08
$0x8049f10,(%esp)
80483df: ff d0
80483e1: c9
80483e2: e9 79 ff ff ff
80483e8: e9 73 ff ff ff
80483ed: 66 90
80483ef: 90
$0x10,%esp
80483f6: c7 45 f4 08 00 00 00
$0x8,-0xc(%ebp)
80483fd: c7 45 f8 7b 5e 7d 07
$0x77d5e7b,-0x8(%ebp)
8048404: c7 45 fc 74 e6 43 03
$0x343e674,-0x4(%ebp)
804840b: 8b 45 f4
-0xc(%ebp),%eax
804840e: 89 c1
%cl,%eax,%edx
%edx,-0x8(%ebp)
%eax,-0x4(%ebp)
-0x8(%ebp),%eax
804841c: c9
804841d: c3
804841e: 66 90
8048426: e8 f5 fe ff ff
804842b: 81 c3 d5 1b 00 00
$0x1bd5,%ebx
$0x1c,%esp
b 6c 24 30
0x30(%esp),%ebp
d b3 0c ff ff ff
-0xf4(%ebx),%esi
804843e: e8 51 fe ff ff
d 83 08 ff ff ff
-0xf8(%ebx),%eax
804844b: c1 fe 02
804844e: 85 f6
d b6 00 00 00 00
0x0(%esi),%esi
b 44 24 38
0x38(%esp),%eax
804845c: 89 2c 24
%ebp,(%esp)
804845f: 89 44 24 08
%eax,0x8(%esp)
b 44 24 34
0x34(%esp),%eax
%eax,0x4(%esp)
804846b: ff 94 bb 08 ff ff ff
*-0xf8(%ebx,%edi,4)
$0x1c,%esp
804847c: 5b
804847d: 5e
804847e: 5f
804847f: 5d
8048480: c3
8048481: eb 0d
804848a: 90
804848b: 90
804848c: 90
804848d: 90
804848e: 90
804848f: 90
8048490: f3 c3
Disassembly of section .fini:
8048498: e8 83 fe ff ff
804849d: 81 c3 63 1b 00 00
$0x1b63,%ebx
80484a7: c3
maker@maker-virtual-machine:~/桌面$
共有评论数 4/每页显示数 10
发表评论,与各位同人交流。回复请点击下方的我要评论按钮(游客可回复),要发表贴子请点击
Linux教程下载?“”(请点击),Linux教程免费下载。
求助Linux问题?论坛有39版块,覆盖所有Linux技术层面。前往“”
 |  |  |  |  |  |  |  |  |  |  |  | 
&2017 红联 Powered by SupSiteAT&T汇编与GCC内嵌汇编语法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
AT&T汇编与GCC内嵌汇编语法
上传于|0|0|文档简介
&&AT&T汇编与GCC内嵌汇编语法
阅读已结束,如果下载本文需要使用5下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩28页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢}

我要回帖

更多关于 汇编add指令 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信