注册 登录
编程论坛 汇编论坛

我写的第一个汇编代码。

pangding 发布于 2012-09-01 14:09, 1803 次点击
总感觉能在自己的电脑里找到,果然找到了。说最后更改时间是 2010 年 1 月 10 日。
和我印象里学汇编的时间出入不大。我应该是 09 年暑假开始学的,看的书讲的是 masm。在 windows 下实践半年,学的差不多了才开始转战 linux,好像是比较合逻辑的。

其实就是 hello word 而已。还有详细的注释,应该是怕日后自己也看不懂。AT&T 语法的,但其实和 intel 语法区别也不是很大。
比如 mov a, b 的意思是 move a to b,和正常说话的语序是一样的。寄存器的名字前要加 %, 变量或立即数前要加 $。
不过看了看,感觉我现在能写的最复杂的汇编也许也就这个程度。

程序代码:
.data   # section declaration

msg:
    .ascii "Hello, world!\n"
    len = . - msg               # length of string

.text   # section declaration

# we must export the entry point to the ELF linker or loader. They
# conventionally recognize _start as their entry point. Use ld -e foo to
# override the default.

    .global _start

_start:

# same as write(1, msg, len)

    movl    $len, %edx
    movl    $msg, %ecx
    movl    $1, %ebx
    movl    $4, %eax    # the system call number of write() is 4.
    int     $0x80       # call kernel

# exit(0)

    movl    $0, %ebx
    movl    $1, %eax    # exit() is 1
    int     $0x80

24 回复
#2
zklhp2012-09-01 15:19
膜拜大牛 膜拜大作 顺便接分
#3
有容就大2012-09-01 16:19
表示和王爽的大不相同啊


#4
zklhp2012-09-01 16:26
以下是引用有容就大在2012-9-1 16:19:41的发言:

表示和王爽的大不相同啊

这是at&t风格 和intel风格不大一样 有些地方是反的 比如源操作数和目的操作数
#5
有容就大2012-09-01 18:02
回复 4楼 zklhp
貌似比intel的复杂难辨些
#6
user_qiangzi2012-09-01 18:05
额,还没有学汇编。

我是来蹭分的。。。
#7
TonyDeng2012-09-01 19:22
学习了,佩服之水犹如长江东流滔滔不绝!
#8
信箱有效2012-09-01 20:30
学习了,佩服之水犹如长江东流滔滔不绝!
#9
pangding2012-09-01 23:36
以下是引用有容就大在2012-9-1 18:02:38的发言:

貌似比intel的复杂难辨些

语法上有区别,但不是很大。毕竟汇编指令都是一样的。难辨的原因可能是论坛不识别这种语法,所以颜色比较单一吧。

顺便结帖。
#10
TonyDeng2012-09-01 23:41
下次发百分帖才成
#11
pangding2012-09-02 00:03
以下是引用TonyDeng在2012-9-1 23:41:31的发言:

下次发百分帖才成

z版已经很肥,不能再喂了。
#12
admin_xyz2012-09-02 08:36
在linux上学汇编能干嘛,了解linux底层工作?做病毒?
#13
zklhp2012-09-02 08:38
以下是引用pangding在2012-9-2 00:03:27的发言:


z版已经很肥,不能再喂了。

我身材很好 185cm 63kg
#14
pangding2012-09-02 16:33
以下是引用admin_xyz在2012-9-2 08:36:49的发言:

在linux上学汇编能干嘛,了解linux底层工作?做病毒?

我当时学汇编就是为了看 Linux 的源码。
不熟悉 cpu 的架构是很难看懂内核源码的,当然学汇编是熟悉 cpu 构架的好方法了。

总的来说汇编现在应用的都不是很广。难道你在 windows 下学汇编是会了写病毒吗?


[ 本帖最后由 pangding 于 2012-9-2 16:40 编辑 ]
#15
pangding2012-09-02 16:39
以下是引用zklhp在2012-9-2 08:38:02的发言:


我身材很好 185cm 63kg

矮穷矬膜拜高富帅
#16
有容就大2012-09-02 16:48
以下是引用pangding在2012-9-2 16:39:55的发言:


矮穷矬膜拜高富帅

同膜
#17
bingghost2012-09-03 00:02
膜拜AT&T汇编
#18
pangding2012-09-03 00:35
发现了一个对比这两种汇编语法的文章。
http://www.

结论是:
Even though the differences between these two assemblers are substantial, it's not that difficult to convert from one to another.
You might find that the AT&T syntax seems at first difficult to understand, but once mastered, it's as simple as the Intel syntax.
译:
虽然这两种汇编语言大相径庭,但从一种转化成另一种却并不困难。
你也许起初会觉得 AT&T 语法很难理解,但掌握之后,它也像 intel 语法一样简单。

#19
信箱有效2012-09-03 00:37
虽然这两种汇编语言大相径庭,但从一种转化成另一种却并不困难。
你也许起初会觉得intel语法很难理解,但掌握之后,它也像AT&T 语法一样简单。

#20
TimeCorner2012-09-03 11:06
我真的不是来接分,膜拜大侠。
#21
xjw1782012-09-07 13:08
呵呵,凑下热闹
#22
cz_9282012-09-16 13:04
拜读拜读
#23
孑然无痕2012-09-22 15:56
大家都是看王爽的书学汇编吗?
#24
虞城湖山2012-09-23 20:18
好像还不错。  
#25
heweijun2012-11-18 21:16
什么东东 没学过
1