Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Native example:
- void setup()
- {
- PORTB |= (1<<5);
- }
- Resultant code:
- 00000102 <setup>:
- 102: 2d 9a sbi 0x05, 5 ; 5
- Arduino example:
- void setup()
- {
- digitalWrite(13, HIGH);
- }
- Resultant code:
- 00000102 <setup>:
- 102: 8d e0 ldi r24, 0x0D ; 13
- 104: 61 e0 ldi r22, 0x01 ; 1
- 106: 0e 94 86 00 call 0x10c ; 0x10c <digitalWrite>
- 10a: 08 95 ret
- 0000010c <digitalWrite>:
- 10c: 48 2f mov r20, r24
- 10e: 50 e0 ldi r21, 0x00 ; 0
- 110: ca 01 movw r24, r20
- 112: 82 55 subi r24, 0x52 ; 82
- 114: 9f 4f sbci r25, 0xFF ; 255
- 116: fc 01 movw r30, r24
- 118: 24 91 lpm r18, Z+
- 11a: ca 01 movw r24, r20
- 11c: 86 56 subi r24, 0x66 ; 102
- 11e: 9f 4f sbci r25, 0xFF ; 255
- 120: fc 01 movw r30, r24
- 122: 94 91 lpm r25, Z+
- 124: 4a 57 subi r20, 0x7A ; 122
- 126: 5f 4f sbci r21, 0xFF ; 255
- 128: fa 01 movw r30, r20
- 12a: 34 91 lpm r19, Z+
- 12c: 33 23 and r19, r19
- 12e: 09 f4 brne .+2 ; 0x132 <digitalWrite+0x26>
- 130: 40 c0 rjmp .+128 ; 0x1b2 <digitalWrite+0xa6>
- 132: 22 23 and r18, r18
- 134: 51 f1 breq .+84 ; 0x18a <digitalWrite+0x7e>
- 136: 23 30 cpi r18, 0x03 ; 3
- 138: 71 f0 breq .+28 ; 0x156 <digitalWrite+0x4a>
- 13a: 24 30 cpi r18, 0x04 ; 4
- 13c: 28 f4 brcc .+10 ; 0x148 <digitalWrite+0x3c>
- 13e: 21 30 cpi r18, 0x01 ; 1
- 140: a1 f0 breq .+40 ; 0x16a <digitalWrite+0x5e>
- 142: 22 30 cpi r18, 0x02 ; 2
- 144: 11 f5 brne .+68 ; 0x18a <digitalWrite+0x7e>
- 146: 14 c0 rjmp .+40 ; 0x170 <digitalWrite+0x64>
- 148: 26 30 cpi r18, 0x06 ; 6
- 14a: b1 f0 breq .+44 ; 0x178 <digitalWrite+0x6c>
- 14c: 27 30 cpi r18, 0x07 ; 7
- 14e: c1 f0 breq .+48 ; 0x180 <digitalWrite+0x74>
- 150: 24 30 cpi r18, 0x04 ; 4
- 152: d9 f4 brne .+54 ; 0x18a <digitalWrite+0x7e>
- 154: 04 c0 rjmp .+8 ; 0x15e <digitalWrite+0x52>
- 156: 80 91 80 00 lds r24, 0x0080
- 15a: 8f 77 andi r24, 0x7F ; 127
- 15c: 03 c0 rjmp .+6 ; 0x164 <digitalWrite+0x58>
- 15e: 80 91 80 00 lds r24, 0x0080
- 162: 8f 7d andi r24, 0xDF ; 223
- 164: 80 93 80 00 sts 0x0080, r24
- 168: 10 c0 rjmp .+32 ; 0x18a <digitalWrite+0x7e>
- 16a: 84 b5 in r24, 0x24 ; 36
- 16c: 8f 77 andi r24, 0x7F ; 127
- 16e: 02 c0 rjmp .+4 ; 0x174 <digitalWrite+0x68>
- 170: 84 b5 in r24, 0x24 ; 36
- 172: 8f 7d andi r24, 0xDF ; 223
- 174: 84 bd out 0x24, r24 ; 36
- 176: 09 c0 rjmp .+18 ; 0x18a <digitalWrite+0x7e>
- 178: 80 91 b0 00 lds r24, 0x00B0
- 17c: 8f 77 andi r24, 0x7F ; 127
- 17e: 03 c0 rjmp .+6 ; 0x186 <digitalWrite+0x7a>
- 180: 80 91 b0 00 lds r24, 0x00B0
- 184: 8f 7d andi r24, 0xDF ; 223
- 186: 80 93 b0 00 sts 0x00B0, r24
- 18a: e3 2f mov r30, r19
- 18c: f0 e0 ldi r31, 0x00 ; 0
- 18e: ee 0f add r30, r30
- 190: ff 1f adc r31, r31
- 192: ee 58 subi r30, 0x8E ; 142
- 194: ff 4f sbci r31, 0xFF ; 255
- 196: a5 91 lpm r26, Z+
- 198: b4 91 lpm r27, Z+
- 19a: 2f b7 in r18, 0x3f ; 63
- 19c: f8 94 cli
- 19e: 66 23 and r22, r22
- 1a0: 21 f4 brne .+8 ; 0x1aa <digitalWrite+0x9e>
- 1a2: 8c 91 ld r24, X
- 1a4: 90 95 com r25
- 1a6: 89 23 and r24, r25
- 1a8: 02 c0 rjmp .+4 ; 0x1ae <digitalWrite+0xa2>
- 1aa: 8c 91 ld r24, X
- 1ac: 89 2b or r24, r25
- 1ae: 8c 93 st X, r24
- 1b0: 2f bf out 0x3f, r18 ; 63
- 1b2: 08 95 ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement