作者nowar100 (抛砖引玉)
看板Grad-ProbAsk
标题Re: [理工] 计组-指令集一些问题
时间Wed Jun 10 01:30:06 2009
※ 引述《bernachom (Terry)》之铭言:
: 这是今天和一些同学讨论出来的
: 请教一下
: 1.如果程式很大的话,超过jump或是分支指令的长度,多很多的话
: 那程式会怎麽跳?跳两次吗?还是就不执行了?
印象中之前有讨论过
因为以范例来说,J-type分为 6bit + 26bit
26bit*4顶多28bit,是有极限的
所以课本当时有说,在decode的时候
他会以原本code前面4bit+後面的28bit
在课本的白算盘3ed P.313 Figure5.23下面小字
不过实际上也不用担心这个啦,程式总不会大到28bit还装不下吧
: 2.像我们会有一些op rs rt rd之类的东西使用暂存器来存一些指令
: 例如 : else: add $t0,$s0,$s1
: add之後的指令都可以存放在暂存器,那 else:
: ^^^^^^^
: 这东西会放在哪呢?也是放在暂存器吗?
这东西不是code,只是一个label
他会放在label table里面
至於这个label table是在compile-time或assemble-time就会解决掉的东西
: 谢谢
--
美少女飞踢杀人事件示意图 おわだ
凶嫌羽山ミ○キ,於 音羽 学园顶楼,
囧// –○~ 对患有心脏疾病的被害人久濑修○施以
∕ ∣> 毒脚,被害人随即被送往owada hospital
﹨  ̄ ̄ ̄\ 加以急救。
∥ ╲
by akitolin@ptt 《民明书房 ef -你所不知道的melody-》
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.249.10
※ 编辑: nowar100 来自: 140.113.249.10 (06/10 01:40)
1F:→ bernachom:请教一下,第二个,那如果有两个else那他怎麽分办得出来 06/10 09:04
2F:推 bernachom:这会在label table里按照程式进入的先後顺序排吗?谢谢 06/10 09:07
3F:推 icrts:我想两个else应该compile不会过喔..XD 06/10 09:15
4F:推 bernachom:一个程式里可以有两个ELSE吧? 06/10 09:17
5F:→ nowar100:不会有两个label一样阿 不然怎麽知道要跳哪 XD 06/10 13:19
6F:→ icrts:你必需改为else1 else2之类的 06/10 16:06
7F:推 bernachom:谢谢各位帮忙^^ 06/10 21:06