6 floating-point assembly mips
我做了一些工作,涉及MIPS
装配和我保持跨越这四个浮点加载/存储伪指令来:l.s
,l.d
,s.s
,s.d
.我发现了一些在线文档和想通了,有四个"实际"的说明,似乎做同样的事情:lwc1
,ldc1
,swc1
,和sdc1
.
我唯一的问题是,有什么区别?据我所知,两组指令完全相同.伪也可能因为它们更容易阅读而存在吗?
提前感谢您的任何见解.
我唯一的问题是,有什么区别?据我所知,两组指令完全相同.
你是对的.可能出现的唯一区别是伪指令被转换为多个"真实"指令.
伪也可能因为它们更容易阅读而存在吗?
再次,是的.这就是他们存在的原因.他们给出了一个更具表现力的指令集的幻觉.引用计算机组织和设计/ Patterson&Hennessy:
...汇编程序还可以处理机器语言指令的常见变体,就好像它们本身就是指令一样.硬件不需要实现这些指令; 然而,它们在组装语言中的出现简化了翻译和编程....
举个例子,它更"清楚"地说:
l.s $f2, 24(t1) # Load Single contained in 24(t1) to $f2
Run Code Online (Sandbox Code Playgroud)
比
lwc1 $f2, 24(t1) # Load Word into Coprocessor 1 from 24(t1) to $f2
Run Code Online (Sandbox Code Playgroud)
以及你可以更好地理解:
move $7, $18 # move contents of $18 to $7
Run Code Online (Sandbox Code Playgroud)
比
add $7, $18, $0
Run Code Online (Sandbox Code Playgroud)
对我来说,只需要助记符来帮助我获得更好的清晰代码.
归档时间: |
|
查看次数: |
14286 次 |
最近记录: |