ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
7 ноября
852518 Топик полностью
Bill (03.07.2018 08:04 - 08:12, просмотров: 410) ответил sladkoejka на IAR 8051 10.10.1 глючный компилятор (int и long типы, printf) для Cypress CY7C68013A
Корректный код генерируется в обоих случаях void delay(uint16_t n) { for (int16_t i=0; i < n; i++) __no_operation(); } 16 void delay(uint16_t n) \ delay: 17 { \ 000000 ; Saved register size: 0 \ 000000 ; Auto size: 0 18 for (int16_t i=0; i < n; i++) \ 000000 7800 MOV R0,#0x0 \ 000002 7900 MOV R1,#0x0 \ 000004 8006 SJMP ??delay_0 19 __no_operation(); \ ??delay_1: \ 000006 00 NOP \ 000007 08 INC R0 \ 000008 E8 MOV A,R0 \ 000009 7001 JNZ ??delay_0 \ 00000B 09 INC R1 \ ??delay_0: \ 00000C C3 CLR C \ 00000D E8 MOV A,R0 \ 00000E 9A SUBB A,R2 \ 00000F E9 MOV A,R1 \ 000010 9B SUBB A,R3 \ 000011 40F3 JC ??delay_1 20 } \ 000013 53..FE ANL ?DPS,#0xfe \ 000016 22 RET void delay(uint16_t n) { for (uint16_t i=0; i < n; i++) __no_operation(); } 16 void delay(uint16_t n) \ delay: 17 { \ 000000 ; Saved register size: 0 \ 000000 ; Auto size: 0 18 for (uint16_t i=0; i < n; i++) \ 000000 EA MOV A,R2 \ 000001 4B ORL A,R3 \ 000002 6011 JZ ??delay_0 \ 000004 EA MOV A,R2 \ 000005 F8 MOV R0,A \ 000006 EB MOV A,R3 \ 000007 F9 MOV R1,A 19 __no_operation(); \ ??delay_1: \ 000008 00 NOP \ 000009 E8 MOV A,R0 \ 00000A 24FF ADD A,#-0x1 \ 00000C 18 DEC R0 \ 00000D E9 MOV A,R1 \ 00000E 34FF ADDC A,#-0x1 \ 000010 F9 MOV R1,A \ 000011 E8 MOV A,R0 \ 000012 49 ORL A,R1 \ 000013 70F3 JNZ ??delay_1 20 } \ ??delay_0: \ 000015 53..FE ANL ?DPS,#0xfe \ 000018 22 RET