首页 > 代码库 > as编写hello,world
as编写hello,world
.text .global _start _start: movl $len,%edx movl $msg,%ecx movl $1,%ebx movl $4,%eax int $0x80 movl $0,%ebx movl $1,%eax int $0x80 .data msg: .ascii "hello,world\n" len=.-msg .ascii "after hello\n" len2=.-msg
我们来看代码段部分,.data表示一个代码段的开始,msg:标号仅仅给编译器看的,它只代表当前地址。len=.-msg得到数据段第一个字符串长度,同理len2是第一个字符串和第二个字符串长度之和。_start代表as汇编程序的默认入口。movl $msg,%ecx,将标号代表的地址放到ecx中。上述程序输出:hello,world。如果把代码段movl $len,%edx改成 movl $len2,$edx,输出如下:
hello,world
after,hello
参考文章:
http://www.cnblogs.com/justinzhang/archive/2012/02/20/2360513.html
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。