реклама на сайте
подробности

 
 
> команды ep9312, я в просрациях - исполняются mvfd mufd ....
klen
сообщение Sep 9 2008, 07:14
Сообщение #1


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



1. имеется плата tionPRO v1 с c процессором ep9315-CBZ EFWAE2BH0633
2. собрал компиллер gcc 4.4.0..20080905 с поддержкой arm920t SoftFP FPA
3. код ;
//------------------------------------------------
#include <stdio.h>
#include <math.h>
volatile double x , y , z ;
int main()
{
printf ("helow from GCC 4.4.0 snapshot\n") ;
x = 2.0 ;
y = 4.2 ;
z = 0.33 ;
asm volatile ("nop");
x = (x - 4.2 ) * z ;
asm volatile ("nop");
printf("result %f\n" , x ) ;
return 1;
}
//------------------------------------------------
4. дизасм откомпиленного бинарника касательно main();

0: e92d4800 push {fp, lr}
4: e28db004 add fp, sp, #4 ; 0x4
8: e59f0084 ldr r0, [pc, #132] ; 94 <main+0x94>
c: ebfffffe bl 0 <puts>
10: e59f3080 ldr r3, [pc, #128] ; 98 <main+0x98>
14:ee00818a mvfd f0, #2.0
18:ed838100 stfd f0, [r3]
1c: e59f3078 ldr r3, [pc, #120] ; 9c <main+0x9c>
20:ed9f8117 ldfd f0, [pc, #92]
24:ed838100 stfd f0, [r3]
28:e59f3070 ldr r3, [pc, #112] ; a0 <main+0xa0>
2c: ed9f8116 ldfd f0, [pc, #88]
30:ed838100 stfd f0, [r3]
34:e1a00000 nop (mov r0,r0)
38:e59f3058 ldr r3, [pc, #88] ; 98 <main+0x98>
3c: ed939100 ldfd f1, [r3]
40:ed9f810f ldfd f0, [pc, #60]
44:ee211180 sufd f1, f1, f0
48:e59f3050 ldr r3, [pc, #80] ; a0 <main+0xa0>
4c: ed938100 ldfd f0, [r3]
50:ee110180 mufd f0, f1, f0
54:e59f303c ldr r3, [pc, #60] ; 98 <main+0x98>
58:ed838100 stfd f0, [r3]
5c: e1a00000 nop (mov r0,r0)
60:e59f3030 ldr r3, [pc, #48] ; 98 <main+0x98>
64:ed938100 ldfd f0, [r3]
68:e59f0034 ldr r0, [pc, #52] ; a4 <main+0xa4>
6c: ed2d8102 stfd f0, [sp, #-8]!
70:e8bd0006 pop {r1, r2}
74:ebfffffe bl 0 <printf>
78:e3a03001 mov r3, #1 ; 0x1
7c: e1a00003 mov r0, r3
80:e8bd8800 pop {fp, pc}
84:4010cccc .word 0x4010cccc
88:cccccccd .word 0xcccccccd
8c: 3fd51eb8 .word 0x3fd51eb8
90:51eb851f .word 0x51eb851f
...
a4: 00000010 .word 0x00000010
//---------------------------------------------------------------------------------

как видите тут присутствуют команды mvfd ldfd mufd stfd и соответствующие регистпы f0,f1...

5. заливаю в Тион пускаю программу, она как ни вчем небывало выдает правильный результат -0.726
6. делаю асмовские вставки с инструкциями maverick crunch - процессор выдает эксепшен illegal instruction, сопроцессор естественно поднят в работу ядром linux

7. я в просрации - либо я дурак, либо я понятия не имею про 920T либо чудеса. прошу объяснить какой модудь процессора эти инструкции выполняет????

объсните пожалуйста
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 07:39
Рейтинг@Mail.ru


Страница сгенерированна за 0.01347 секунд с 7
ELECTRONIX ©2004-2016