免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: nathan10
打印 上一主题 下一主题

请教几句汇编语言是什么意思 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2010-08-13 11:47 |只看该作者
回复 9# zd零

谢谢你,很有用的资料。我先看看

论坛徽章:
0
12 [报告]
发表于 2010-08-13 14:50 |只看该作者
0. long __res;\
1. __asm__ volatile ("int $0x80" \
2.         : "=a" (__res) \
3.         : "0" (__NR_##name)); \

注意两个“ : ”
一个指输出参数  一个指输入参数

表示__res放在eax中作为输出参数,而"0"是什么不知道。。

论坛徽章:
0
13 [报告]
发表于 2010-08-13 15:08 |只看该作者
0. long __res;\
1. __asm__ volatile ("int $0x80" \
2.         : "=a" (__res) \
3.         : "0" ( ...
etoux 发表于 2010-08-13 14:50



呵呵,上述代码我已经搞清楚意思了。这里的0是通用限制。从第二行开始已经是表达式了。这些表达式是有计数的。例如这里第二行代表了第0个表达式。第三行代表了第1个表达式。可支持最多10个表达式(即到数字9)。
而第三行的“0”是说。我这一行的(第三行,第1个表达式)表达式所用的寄存器是与第0行的寄存器相同的。。

这里的“0”一般的写成“n”,那么就是说,这一行使用的寄存器与第n行的寄存器是一样的。

论坛徽章:
0
14 [报告]
发表于 2010-08-13 15:09 |只看该作者
回复 13# nathan10


    呵呵 学习了!

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:53:17
15 [报告]
发表于 2010-08-13 17:18 |只看该作者
8楼同学看贴不认真, 早知道我不回了。

论坛徽章:
0
16 [报告]
发表于 2010-08-18 10:54 |只看该作者
不懂
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP