2013-08-30 5 views
2

V에서 시작하고 F로 시작하는 ARM VFP 명령어의 차이점은 무엇입니까?V ***와 F *** 부동 소수점 ARM 명령어의 차이점은 무엇입니까?

왜 ARM 정보 센터에 어셈블리 참조의 F 명령어가 더 이상 나열되지 않습니까?

대부분이 서로 직접 매핑되므로 (예 : vcvtr.s32.f32ftosis) 왜 둘 다 존재합니까?

vmrs %r1, fpscr 
bic %r0, %r1, #0xc00000 
orr %r0, %r0, #0x800000 
vmsr fpscr, %r0 
vcvtr.s32.f32 %s2, %s2 
vmov %r0, %s2 
vmsr fpscr, %r1 

mrs %r1, fpscr 
bic %r0, %r1, #0xc00000 
orr %r0, %r0, #0x800000 
msr fpscr, %r0 
ftosis %s2, %s2 
fmrs %r0, %s2 
msr fpscr, %r1 
+0

아마도 이전 버전 (예 : VFPv1)입니까? ARM은 다음과 같이 말합니다. _ "VFPv1은 더 이상 사용되지 않습니다. 자세한 내용은 ARM의 요청에 따라 사용할 수 있습니다."_는 웹 사이트의 지침에 대한 정보를 찾지 못한 이유를 설명합니다. – Michael

+0

실제로 이러한 기능에 대한 정보가 있지만 레거시 및 대체 된 것으로 표시되어 있습니다. 그러나 새로운 것에 관한 많은 기사들이 잘 표시되어 있습니다. – Triang3l

+1

나는 이것이 FPA 대 VFP라고 ​​생각하지 않습니다. 아래에서 응답 한 것처럼 동일한 명령어 세트 (vfp)에 대한 어셈블리 언어 구문의 두 가지 변형입니다. –

답변

5

Fxxx 이름은 "사전 UAL"(통합 어셈블리 언어) 이름이며, 그들은 더 이상 사용되지 않습니다

예를 들어, 이러한 기능은 동일 (바닥이 > INT 변환을 float-) 할. Vxxx 이름은 UAL 이름이며 새 코드에 사용해야하는 이름입니다.

+0

UAL 이전 프로세서가 새 지침을 지원합니까? – Triang3l

+3

* name * 명령어는 * 명령어 *와 구별됩니다. Fxxx 이름과 같은 일을하는 Vxxx 이름이있는 경우에는 동일한 명령어 (및 인코딩)에 대한 두 개의 이름이므로 이전 프로세서에서 작동합니다. –

+3

(물론, 실제로 새로운 명령어 인 Fxxx 명령어가 많이 있으며 Fxxx 아날로그가 없습니다.) –