ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
24 ноября
45123 Топик полностью
P_Igorek (28.11.2005 12:10, просмотров: 1) ответил MemoryTest на чесно скажу я не помню как пользоваться __asm__ когда нада было я разобрался сщас не помню.
Может вопрос и не сюда, но почему так? Зачем во втором случаи две лишних операции ведь старшая половина 32 разрядного регистра должна = 0!! 32 разрадное слово: void inline l_32w( unsigned int data, unsigned int addr){ *(unsigned int *)addr = (unsigned int)data; } @ Generated by gcc 2.95.3 20010315 (release) for ARM/elf .file "32w.c" gcc2_compiled.: .text .align 2 .global l_32w .type l_32w,function l_32w: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 1, current_function_anonymous_args = 0 mov ip, sp stmfd sp!, {fp, ip, lr, pc} sub fp, ip, #4 str r0, [r1, #0] ldmea fp, {fp, sp, pc} .Lfe1: .size l_32w,.Lfe1-l_32w .ident "GCC: (GNU) 2.95.3 20010315 (release)" 16 разрядное слово как 32 разрядное: void inline l_32h( unsigned short data, unsigned int addr){ *(unsigned int *)addr = (unsigned int)data; } @ Generated by gcc 2.95.3 20010315 (release) for ARM/elf .file "32h.c" gcc2_compiled.: .text .align 2 .global l_32h .type l_32h,function l_32h: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 1, current_function_anonymous_args = 0 mov ip, sp stmfd sp!, {fp, ip, lr, pc} sub fp, ip, #4 mov r0, r0, asl #16 mov r0, r0, lsr #16 str r0, [r1, #0] ldmea fp, {fp, sp, pc} .Lfe1: .size l_32h,.Lfe1-l_32h .ident "GCC: (GNU) 2.95.3 20010315 (release)"