由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 包子现金求助关于68k assembly问题
相关主题
recommend assembly code from gcc还有人用汇编语言写程序么
世界上第一个编译器是怎么产生的?what does "a & -2" mean?
面试被问到G++和GCC编译器的关系相对于machine code, assembly到底有啥改进?
谁知道哪儿有FORTRAN编译器下载,很急!谢谢了!C -> assembly
C/C++ __int64和long long, cross platform问题菜鸟请教C问题
[合集] 6个变态的C语言写的Hello World (ZZ)scheme和schema怎么翻成中文?
写一个C语言的编译器大概要多少时间?windows下的Gcc界面叫什么来?
c++什么编译器好使?GCC Benchmarks, AMD64 and i686 (zz)
相关话题的讨论汇总
话题: d0话题: fp话题: fffe话题: unlk话题: movel
进入Programming版参与讨论
1 (共1页)
d********e
发帖数: 6814
1
有个要翻译c code的题目,不知道怎么写。。。
100刀paypal boa现金或者1000个包子
Translate the following C code into assembly, using the execution block and
then compile your code into binary. Explain the 2 phases CLEARLY!
int main()
{
int n;
short s = 3;
n = f(c);
return n;
}
int f(short s)
{
return 2*s;
}
上面那个有点会写,下面要嵌入call不太会,谢谢
S*A
发帖数: 7142
2
.file "m.c"
.text
.align 2
.globl main
main:
link.w %fp,#-8
move.w #3,-2(%fp)
move.w -2(%fp),%d0
ext.l %d0
move.l %d0,-(%sp)
jsr f
addq.l #4,%sp
move.l %d0,-6(%fp)
move.l -6(%fp),%d0
unlk %fp
rts
.align 2
.globl f
f:
link.w %fp,#-4
move.l 8(%fp),%d0
move.w %d0,-2(%fp)
move.w -2(%fp),%d0
ext.l %d0
add.l %d0,%d0
unlk %fp
rts
Binary objdump:
00000000
:
0: 4e56 fff8 linkw %fp,#-8
4: 3d7c 0003 fffe movew #3,%fp@(-2)
a: 302e fffe movew %fp@(-2),%d0
e: 48c0 extl %d0
10: 2f00 movel %d0,%sp@-
12: 4eb9 0000 0000 jsr 0

18: 588f addql #4,%sp
1a: 2d40 fffa movel %d0,%fp@(-6)
1e: 202e fffa movel %fp@(-6),%d0
22: 4e5e unlk %fp
24: 4e75 rts
00000026 :
26: 4e56 fffc linkw %fp,#-4
2a: 202e 0008 movel %fp@(8),%d0
2e: 3d40 fffe movew %d0,%fp@(-2)
32: 302e fffe movew %fp@(-2),%d0
36: 48c0 extl %d0
38: d080 addl %d0,%d0
3a: 4e5e unlk %fp
3c: 4e75 rts
a****l
发帖数: 8211
3
你这是自己写的,还是找了个编译器直接拷贝编译出的代码?

【在 S*A 的大作中提到】
: .file "m.c"
: .text
: .align 2
: .globl main
: main:
: link.w %fp,#-8
: move.w #3,-2(%fp)
: move.w -2(%fp),%d0
: ext.l %d0
: move.l %d0,-(%sp)

S*A
发帖数: 7142
4
LZ 贴这个问题不知道是什么用意。
现在谁还用 68K 的芯片啊。
向 GCC 致敬。LZ 又没有说不可以参考 gcc。
再说了,就那么两行代码,手写和编译器出来
的其实没有很大区别。

【在 a****l 的大作中提到】
: 你这是自己写的,还是找了个编译器直接拷贝编译出的代码?
d****i
发帖数: 4809
5
GCC确实太牛了,大而全,基本上啥种类的OS和architecture都支持,尽管不见得有专
门针对于某种OS和architecture的特定的编译器来的优化。

【在 S*A 的大作中提到】
: LZ 贴这个问题不知道是什么用意。
: 现在谁还用 68K 的芯片啊。
: 向 GCC 致敬。LZ 又没有说不可以参考 gcc。
: 再说了,就那么两行代码,手写和编译器出来
: 的其实没有很大区别。

1 (共1页)
进入Programming版参与讨论
相关主题
GCC Benchmarks, AMD64 and i686 (zz)C/C++ __int64和long long, cross platform问题
__FUNCTION__ 是怎么回事呀?[合集] 6个变态的C语言写的Hello World (ZZ)
??? i m confused写一个C语言的编译器大概要多少时间?
在Sun Solaris gcc下,怎样知道一个函数在哪个lib里?c++什么编译器好使?
recommend assembly code from gcc还有人用汇编语言写程序么
世界上第一个编译器是怎么产生的?what does "a & -2" mean?
面试被问到G++和GCC编译器的关系相对于machine code, assembly到底有啥改进?
谁知道哪儿有FORTRAN编译器下载,很急!谢谢了!C -> assembly
相关话题的讨论汇总
话题: d0话题: fp话题: fffe话题: unlk话题: movel