1b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov#include <stdio.h> 2b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 3b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovstatic signed int test[] ={ 4b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 0, 5b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 1, 6b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov -1, 7b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 0x7fffffff, 8b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 0x80000000, 9b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 0x12345678, 10b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 0x87654321, 11b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 0x55555555, 12b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 0x11111111, 13b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 0xaaaaaaaa, 14b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov}; 15b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 16b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 17b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovstatic unsigned long hex_to_dec(signed int num) 18b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov{ 19b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov unsigned long addr = 0; 20b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 21b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov asm volatile( 22b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov " cvd %2,%0" 23b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov : "=m" (addr) : "a" (&addr) , "d" (num) : "memory"); 24b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov return addr; 25b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov} 26b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 27b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanovint main() 28b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov{ 29b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov int i; 30b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov 31b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov for (i = 0; i < sizeof(test) / sizeof(test[0]); i++) 32b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov printf("%lx\n", hex_to_dec(test[i])); 33b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov return 0; 34b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov} 35