[llvm-uc] Re: 关于unicore的汇编语言和指令

  • From: 刘智猷 <liuzhiyou.cs@xxxxxxxxx>
  • To: Jia Liu <proljc@xxxxxxxxx>
  • Date: Wed, 5 Dec 2012 16:22:13 +0800

在 2012年12月5日 下午4:12,Jia Liu <proljc@xxxxxxxxx>写道:

> 2012/12/5 刘智猷 <liuzhiyou.cs@xxxxxxxxx>:
> >
> >
> >
> > 在 2012年12月5日 下午3:53,Jia Liu <proljc@xxxxxxxxx>写道:
> >
> >> 2012/12/5 刘智猷 <liuzhiyou.cs@xxxxxxxxx>:
> >> >
> >> > 在 2012年12月5日 上午10:21,Jia Liu <proljc@xxxxxxxxx>写道:
> >> >>
> >> >> 2012/12/3 刘智猷 <liuzhiyou.cs@xxxxxxxxx>:
> >> >> > Hi, all
> >> >> >
> >> >> > 我是刘智猷, 是北京大学大四的学生. 因为我对kernel, 编译器这些话题比较感兴趣, 管雪涛老师介绍我加入了这个邮件列表,
> >> >> > 让我学习一下大家的工作.
> >> >> > 能帮上忙当然更好了. 初来乍到, 先自我介绍一下吧.
> >> >>
> >> >> 有时间么?给我讲讲unicore的汇编语言和指令,有些问题我不是很明白。
> >> >>
> >> > Hi, Jia Liu
> >> >
> >> >
> >> >
> 从原文中看不出你是想re我还是re管老师。我写过一个unicore32的简单的编译器,如果问题打字就能描述清楚,可以发到maillist上,我看看能不能回答。
> >>
> >> uc的寄存器是 32个 32位定点寄存器 + 32个 32位浮点寄存器,对吧?
> >>
> >> uc里面对应jr LR的是什么指令?也就是从一个函数return出来,LR是Link Register。
> >>
> >> uc里面有没有延时槽?
> >
> > 据我所知,uc不需要汇编程序员管理延时槽。
> >>
> >>
> >> uc的汇编怎么写?我看文档不是很清楚,ARM也不熟,我做MIPS的。
>
> 能不能多给一些汇编的例子?生成过程毕竟是无法控制的。非常需要了解uc汇编。
>
我也没有自己写过uc的汇编,如果你做的是编译,只需要看看他们的编译器最后怎么生成就可以了吧。
另外,kernel的arch/unicore32目录下有一些.S汇编,应该是手写的。你也可以看一看有没有帮助。

>
> >
> > 可以先用我前一封邮件里提到的工具链看看他们怎么生成代码(汇编)。
> >>
> >>
> >> uc ISA手册里面,比如,ADD一条指令,多种含义,多种编码,并不是一一对应的,能不能解释一下啊?对此,感到很困惑,不知道该怎么生成代码。
> >
> >
> ISA手册里的ADD节实际上介绍了很多种ADD指令,每种指令有不一样的意义和不一样的编码。你说的一一对应是什么意思?我感觉现在的工具链也不是用上所有的指令,也许可以先用其中的一部分。
> >
> > 另外,你现在是在做哪方面的东西?
>
> 就做这个啊。
>
llvm?还是binutils?没明白你说的这个是什么- -

智猷

Other related posts: