unsigned char val;
      asm( "pushl %edx\n\tpushl %eax\n\trdtsc" );
      asm( "movb %%al, %0" : "=r" (val) );
      asm( "popl %eax\n\tpopl %edx" );
почему-то виснет, я видимо чего-то недопонимаю. rdtsc изменяет edx,eax, я беру младший байт (для генератора случайных чисел), но оно виснет. В сгенерированном коде какая-то чушь (project.s):
	pushl	%ebp
	movl	%esp, %ebp
	subl	$16, %esp
	movb	$0, -1(%ebp)
#APP
	pushl %edx
	pushl %eax
	rdtsc
	movb %al, %al
#NO_APP
	movb	%al, -1(%ebp)
#APP
	popl %eax
	popl %edx
#NO_APP
	movzbl	-1(%ebp), %eax
	leave
	ret

    
      Ответ на:
      
          комментарий
        от xnix 
  
    
      Ответ на:
      
          комментарий
        от xnix 
  
    
      Ответ на:
      
          комментарий
        от NoName 
  
    
      Ответ на:
      
          комментарий
        от xnix 
  
    
      Ответ на:
      
          комментарий
        от NoName 
  
    
      Ответ на:
      
          комментарий
        от xnix 
  
    
      Ответ на:
      
          комментарий
        от anonymous 
  
    
      Ответ на:
      
          комментарий
        от programmer 
  
    
        Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
      
Похожие темы
- Форум Оптимизатор GCC 4.4 (2009)
- Форум библиотека функций на ассемблере (2006)
- Форум inline asm and registers clobbering (2004)
- Форум [asm][c]Содержимое регистра cs (2011)
- Форум Снова type aliasing, и баг в gcc (2016)
- Форум стек. перезапись адреса возврата (2006)
- Форум RH9.0 и do_brk :) (2003)
- Форум Не получается слинковать вручную объектный файл, созданный ассемблером as (2011)
- Форум Вентилятор i8k убивается чем-то (2015)
- Форум Вызов ассемблерной функции с аргументами в стеке (2015)