linux下用汇编写的helloworld

gcshang 发布于 2012/07/26 17:00
阅读 1K+
收藏 0
 .data
  2 msg:
  3    .ascii "hello,world\n"
  4    len = . - msg
  5
  6 .text
  7    .global _start
  8
  9    _satrt:
 10    movl $len, %edx         # third argment              
 11    movl $msg, %ecx         # second argment
 12    movl $1,   %ebx         # first argment
 13    movl $4,   %eax         # sys call number
 14
 15    int $0x80               # call kernel
 16
 17    movl $0, %ebx           # 0 is exit code
 18    movl $1, %eax           # sys call number
 19    int $0x80               # call kernel
 20

以上是代码 

在用ld连接的时候会有一个警告:

ld: warning: cannot find entry symbol _start; defaulting to 0000000008048074

半天了都没找到答案...求解释

 

加载中
0
mallon
mallon
你的start拼错了
0
gcshang
gcshang
是我拼错了,程序可以执行,奇怪
兰穆达
兰穆达
只是一个标示符,引用时给编译器看的
0
gcshang
gcshang

有将linux下汇编的入门教材吗?

 

0
deleted
deleted
机工出过一本, 红封面,译名是<<汇编语言程序设计>>, 05~06年出的
gcshang
gcshang
找到了,写得太好了
0
gcshang
gcshang
好难学的linux
0
helloworld_go
helloworld_go
推荐用nasm或者其他的如yasm之类的。
0
gcshang
gcshang
我用的GCC, nasm有什么优点?
helloworld_go
helloworld_go
http://www.codingnow.com/text/nasm.htm
0
helloworld_go
helloworld_go

再推荐一个工具:

http://www.crsky.com/soft/5471.html

radasm,估计写汇编的很多人比较熟悉他。

0
色魔张大妈
色魔张大妈
看不懂汇编鸟
0
天国之翼
天国之翼

汇编已经是最简单的了

等你以后被那些高级忽悠一圈回来就明白我说的了


返回顶部
顶部