Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // c
- void pre(void){
- uint8_t volatile t;
- for(uint8_t volatile i=0; i<10; ++i){
- ++t;
- };
- };
- // asm
- 00000092 <_Z3prev>:
- 92: cf 93 push r28
- 94: df 93 push r29
- 96: 00 d0 rcall .+0 ; 0x98 <_Z3prev+0x6>
- 98: cd b7 in r28, 0x3d ; 61
- 9a: de b7 in r29, 0x3e ; 62
- 9c: 19 82 std Y+1, r1 ; 0x01
- 9e: 89 81 ldd r24, Y+1 ; 0x01
- a0: 8a 30 cpi r24, 0x0A ; 10
- a2: 38 f4 brcc .+14 ; 0xb2 <_Z3prev+0x20>
- a4: 8a 81 ldd r24, Y+2 ; 0x02
- a6: 8f 5f subi r24, 0xFF ; 255
- a8: 8a 83 std Y+2, r24 ; 0x02
- aa: 89 81 ldd r24, Y+1 ; 0x01
- ac: 8f 5f subi r24, 0xFF ; 255
- ae: 89 83 std Y+1, r24 ; 0x01
- b0: f6 cf rjmp .-20 ; 0x9e <_Z3prev+0xc>
- b2: 0f 90 pop r0
- b4: 0f 90 pop r0
- b6: df 91 pop r29
- b8: cf 91 pop r28
- ba: 08 95 ret
- // c
- void pos(void){
- uint8_t volatile t;
- for(uint8_t volatile i=0; i<10; i++){
- t++;
- };
- };
- // asm
- 000000bc <_Z3posv>:
- bc: cf 93 push r28
- be: df 93 push r29
- c0: 00 d0 rcall .+0 ; 0xc2 <_Z3posv+0x6>
- c2: cd b7 in r28, 0x3d ; 61
- c4: de b7 in r29, 0x3e ; 62
- c6: 19 82 std Y+1, r1 ; 0x01
- c8: 89 81 ldd r24, Y+1 ; 0x01
- ca: 8a 30 cpi r24, 0x0A ; 10
- cc: 38 f4 brcc .+14 ; 0xdc <_Z3posv+0x20>
- ce: 8a 81 ldd r24, Y+2 ; 0x02
- d0: 8f 5f subi r24, 0xFF ; 255
- d2: 8a 83 std Y+2, r24 ; 0x02
- d4: 89 81 ldd r24, Y+1 ; 0x01
- d6: 8f 5f subi r24, 0xFF ; 255
- d8: 89 83 std Y+1, r24 ; 0x01
- da: f6 cf rjmp .-20 ; 0xc8 <_Z3posv+0xc>
- dc: 0f 90 pop r0
- de: 0f 90 pop r0
- e0: df 91 pop r29
- e2: cf 91 pop r28
- e4: 08 95 ret
- // c
- void ontabpost(uint8_t* t){
- uint8_t* tt = t;
- while(*(tt++));
- };
- // asm
- 000000e6 <_Z9ontabpostPh>:
- e6: fc 01 movw r30, r24
- e8: 21 91 ld r18, Z+
- ea: cf 01 movw r24, r30
- ec: 21 11 cpse r18, r1
- ee: fb cf rjmp .-10 ; 0xe6 <_Z9ontabpostPh>
- f0: 08 95 ret
- // c
- void ontabpre(uint8_t* t){
- uint8_t* tt = t;
- while(*(++tt));
- };
- // asm
- 000000f2 <_Z8ontabprePh>:
- f2: fc 01 movw r30, r24
- f4: 31 96 adiw r30, 0x01 ; 1
- f6: 81 91 ld r24, Z+
- f8: 81 11 cpse r24, r1
- fa: fd cf rjmp .-6 ; 0xf6 <_Z8ontabprePh+0x4>
- fc: 08 95 ret
- int main(void)
- {
- uint8_t* tab = (uint8_t*)malloc(10);
- while(1)
- {
- pos();
- pre();
- ontabpost(tab);
- ontabpre(tab);
- };
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement