技术解析

分享 Linux 64 位汇编, timeit.asm 给需要的人.
0
2021-07-15 16:08:12
idczone
上一贴用了Gist,Gist居然被墙了, 这次改用pastebin

这份代码演示了如何处理栈, 如何调用C库函数, 如何处理返回值, 如何写分支结构, 如何处理结构里的成员运算.

其中使用了gettimeofday, fork, execvp, wait, printf

编译 yasm -f elf64 -o timeit.o timeit.asm ; gcc -o timeit timeit.o

源码: http://pastebin.ubuntu.com/8978598/

@lane0x
恩,我来帮顶
其实贴gist也没事,一般来说都能看到的

看不懂的怎么破?

不懂C破不了。

我当时猜中了,cpuburn 就是用汇编写的.

弱问:
yasm,gas,nasm这些语法是不是不太一样

推荐用yasm, 它完全兼容gas, nasm。 gas, nasm稍微有些不同, 比如表示src, dst的顺序相反

谢谢,其实想问……global, _start这些东西……应该是assembler特异?

nasm 里global表示对外公开的符号, gas写里作globl, 汇编器语法的差异容易克服, 基本不影响写代码, 可以轻松转换。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服