Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var1_16 = pcpv_data->board.vout;
- var2_16 = -48;
- var3_16 = ((int32_t)var1_16 * (int32_t)var2_16) / 10;
- printf("WRONG: using casting : %d = ( %d * %d) / 10\n",var3_16, var1_16, var2_16);
- 133c: ed b7 in r30, 0x3d ; 61
- 133e: fe b7 in r31, 0x3e ; 62
- 1340: 38 97 sbiw r30, 0x08 ; 8
- 1342: ed bf out 0x3d, r30 ; 61
- 1344: fe bf out 0x3e, r31 ; 62
- 1346: ed b6 in r14, 0x3d ; 61
- 1348: fe b6 in r15, 0x3e ; 62
- 134a: 08 94 sec
- 134c: e1 1c adc r14, r1
- 134e: f1 1c adc r15, r1
- 1350: 87 e2 ldi r24, 0x27 ; 39
- 1352: 90 e2 ldi r25, 0x20 ; 32
- 1354: 81 83 std Z+1, r24 ; 0x01
- 1356: 92 83 std Z+2, r25 ; 0x02
- + pcpv_data->pwr_ch[1].pin1 + pcpv_data->pwr_ch[1].pin2;
- // pcpv_data->board.pout = (int16_t)(((int32_t)pcpv_data->board.vout * (int32_t)pcpv_data->board.iout) / 10);
- var1_16 = pcpv_data->board.vout;
- var2_16 = -48;
- var3_16 = ((int32_t)var1_16 * (int32_t)var2_16) / 10;
- 1358: 00 ed ldi r16, 0xD0 ; 208
- 135a: 1f ef ldi r17, 0xFF ; 255
- 135c: 29 81 ldd r18, Y+1 ; 0x01
- 135e: 3a 81 ldd r19, Y+2 ; 0x02
- 1360: 40 ed ldi r20, 0xD0 ; 208
- 1362: 5f ef ldi r21, 0xFF ; 255
- 1364: 0e 94 96 16 call 0x2d2c ; 0x2d2c <__mulhisi3>
- 1368: 2a e0 ldi r18, 0x0A ; 10
- 136a: 42 2e mov r4, r18
- 136c: 51 2c mov r5, r1
- 136e: 61 2c mov r6, r1
- 1370: 71 2c mov r7, r1
- 1372: a3 01 movw r20, r6
- 1374: 92 01 movw r18, r4
- 1376: 0e 94 c4 16 call 0x2d88 ; 0x2d88 <__divmodsi4>
- 137a: d7 01 movw r26, r14
- 137c: 12 96 adiw r26, 0x02 ; 2
- 137e: 2d 93 st X+, r18
- 1380: 3c 93 st X, r19
- 1382: 13 97 sbiw r26, 0x03 ; 3
- printf("WRONG: using casting : %d = ( %d * %d) / 10\n",var3_16, var1_16, var2_16);
- 1384: e9 81 ldd r30, Y+1 ; 0x01
- 1386: fa 81 ldd r31, Y+2 ; 0x02
- 1388: 14 96 adiw r26, 0x04 ; 4
- 138a: ed 93 st X+, r30
- 138c: fc 93 st X, r31
- 138e: 15 97 sbiw r26, 0x05 ; 5
- 1390: 16 96 adiw r26, 0x06 ; 6
- 1392: 0d 93 st X+, r16
- 1394: 1c 93 st X, r17
- 1396: 17 97 sbiw r26, 0x07 ; 7
- 1398: 0e 94 01 17 call 0x2e02 ; 0x2e02 <printf>
- var1_16 = -pcpv_data->board.vout;
- 139c: ad 89 ldd r26, Y+21 ; 0x15
- 139e: be 89 ldd r27, Y+22 ; 0x16
- 13a0: 5e 96 adiw r26, 0x1e ; 30
- 13a2: ed 90 ld r14, X+
- 13a4: fc 90 ld r15, X
- 13a6: 5f 97 sbiw r26, 0x1f ; 31
- 13a8: f0 94 com r15
- 13aa: e1 94 neg r14
- 13ac: f1 08 sbc r15, r1
- 13ae: f3 94 inc r15
- var2_16 = 48;
- var3_16 = ((int32_t)var1_16 * (int32_t)var2_16) / 10;
- printf("RIGHT: using casting, positive var2 : %d = ( %d * %d) / 10\n",var3_16, var1_16, var2_16);
- 13b0: 8d b6 in r8, 0x3d ; 61
- 13b2: 9e b6 in r9, 0x3e ; 62
- 13b4: 08 94 sec
- 13b6: 81 1c adc r8, r1
- 13b8: 91 1c adc r9, r1
- 13ba: 8b e6 ldi r24, 0x6B ; 107
- 13bc: 90 e2 ldi r25, 0x20 ; 32
- 13be: ed b7 in r30, 0x3d ; 61
- 13c0: fe b7 in r31, 0x3e ; 62
- 13c2: 81 83 std Z+1, r24 ; 0x01
- 13c4: 92 83 std Z+2, r25 ; 0x02
- var3_16 = ((int32_t)var1_16 * (int32_t)var2_16) / 10;
- printf("WRONG: using casting : %d = ( %d * %d) / 10\n",var3_16, var1_16, var2_16);
- var1_16 = -pcpv_data->board.vout;
- var2_16 = 48;
- var3_16 = ((int32_t)var1_16 * (int32_t)var2_16) / 10;
- 13c6: 97 01 movw r18, r14
- 13c8: 40 e3 ldi r20, 0x30 ; 48
- 13ca: 50 e0 ldi r21, 0x00 ; 0
- 13cc: 0e 94 96 16 call 0x2d2c ; 0x2d2c <__mulhisi3>
- 13d0: a3 01 movw r20, r6
- 13d2: 92 01 movw r18, r4
- 13d4: 0e 94 c4 16 call 0x2d88 ; 0x2d88 <__divmodsi4>
- 13d8: d4 01 movw r26, r8
- 13da: 12 96 adiw r26, 0x02 ; 2
- 13dc: 2d 93 st X+, r18
- 13de: 3c 93 st X, r19
- 13e0: 13 97 sbiw r26, 0x03 ; 3
- printf("RIGHT: using casting, positive var2 : %d = ( %d * %d) / 10\n",var3_16, var1_16, var2_16);
- 13e2: 14 96 adiw r26, 0x04 ; 4
- 13e4: ed 92 st X+, r14
- 13e6: fc 92 st X, r15
- 13e8: 15 97 sbiw r26, 0x05 ; 5
- 13ea: 80 e3 ldi r24, 0x30 ; 48
- 13ec: 90 e0 ldi r25, 0x00 ; 0
- 13ee: 16 96 adiw r26, 0x06 ; 6
- 13f0: 8d 93 st X+, r24
- 13f2: 9c 93 st X, r25
- 13f4: 17 97 sbiw r26, 0x07 ; 7
- 13f6: 0e 94 01 17 call 0x2e02 ; 0x2e02 <printf>
- var1_16 = pcpv_data->board.vout;
- 13fa: ed 89 ldd r30, Y+21 ; 0x15
- 13fc: fe 89 ldd r31, Y+22 ; 0x16
- 13fe: 86 8d ldd r24, Z+30 ; 0x1e
- 1400: 97 8d ldd r25, Z+31 ; 0x1f
- var2_16 = -48;
- var3_16 = ((int32_t)var1_16 * (int32_t)var2_16);
- printf("RIGHT: using casting, without the division : %d = ( %d * %d)\n",var3_16, var1_16, var2_16);
- 1402: ed b7 in r30, 0x3d ; 61
- 1404: fe b7 in r31, 0x3e ; 62
- 1406: 31 96 adiw r30, 0x01 ; 1
- 1408: 2f ea ldi r18, 0xAF ; 175
- 140a: 30 e2 ldi r19, 0x20 ; 32
- 140c: ad b7 in r26, 0x3d ; 61
- 140e: be b7 in r27, 0x3e ; 62
- 1410: 11 96 adiw r26, 0x01 ; 1
- 1412: 2d 93 st X+, r18
- 1414: 3c 93 st X, r19
- 1416: 12 97 sbiw r26, 0x02 ; 2
- var3_16 = ((int32_t)var1_16 * (int32_t)var2_16) / 10;
- printf("RIGHT: using casting, positive var2 : %d = ( %d * %d) / 10\n",var3_16, var1_16, var2_16);
- var1_16 = pcpv_data->board.vout;
- var2_16 = -48;
- var3_16 = ((int32_t)var1_16 * (int32_t)var2_16);
- 1418: 80 9f mul r24, r16
- 141a: 90 01 movw r18, r0
- 141c: 81 9f mul r24, r17
- 141e: 30 0d add r19, r0
- 1420: 90 9f mul r25, r16
- 1422: 30 0d add r19, r0
- 1424: 11 24 eor r1, r1
- printf("RIGHT: using casting, without the division : %d = ( %d * %d)\n",var3_16, var1_16, var2_16);
- 1426: 22 83 std Z+2, r18 ; 0x02
- 1428: 33 83 std Z+3, r19 ; 0x03
- 142a: 84 83 std Z+4, r24 ; 0x04
- 142c: 95 83 std Z+5, r25 ; 0x05
- 142e: 06 83 std Z+6, r16 ; 0x06
- 1430: 17 83 std Z+7, r17 ; 0x07
- 1432: 0e 94 01 17 call 0x2e02 ; 0x2e02 <printf>
- var1_16 = -32;
- var2_16 = -48;
- var3_16 = ((int32_t)var1_16 * (int32_t)var2_16) / 10;
- printf("RIGHT: using casting, assigned from constant: %d = ( %d * %d) / 10\n",var3_16, var1_16, var2_16);
- 1436: ed b7 in r30, 0x3d ; 61
- 1438: fe b7 in r31, 0x3e ; 62
- 143a: 31 96 adiw r30, 0x01 ; 1
- 143c: 8e ee ldi r24, 0xEE ; 238
- 143e: 90 e2 ldi r25, 0x20 ; 32
- 1440: ad b7 in r26, 0x3d ; 61
- 1442: be b7 in r27, 0x3e ; 62
- 1444: 11 96 adiw r26, 0x01 ; 1
- 1446: 8d 93 st X+, r24
- 1448: 9c 93 st X, r25
- 144a: 12 97 sbiw r26, 0x02 ; 2
- 144c: 89 e9 ldi r24, 0x99 ; 153
- 144e: 90 e0 ldi r25, 0x00 ; 0
- 1450: 82 83 std Z+2, r24 ; 0x02
- 1452: 93 83 std Z+3, r25 ; 0x03
- 1454: 80 ee ldi r24, 0xE0 ; 224
- 1456: 9f ef ldi r25, 0xFF ; 255
- 1458: 84 83 std Z+4, r24 ; 0x04
- 145a: 95 83 std Z+5, r25 ; 0x05
- 145c: 06 83 std Z+6, r16 ; 0x06
- 145e: 17 83 std Z+7, r17 ; 0x07
- 1460: 0e 94 01 17 call 0x2e02 ; 0x2e02 <printf>
- var1_32 = pcpv_data->board.vout;
- 1464: ed 89 ldd r30, Y+21 ; 0x15
- 1466: fe 89 ldd r31, Y+22 ; 0x16
- 1468: e6 8c ldd r14, Z+30 ; 0x1e
- 146a: f7 8c ldd r15, Z+31 ; 0x1f
- 146c: 00 27 eor r16, r16
- 146e: f7 fc sbrc r15, 7
- 1470: 00 95 com r16
- 1472: 10 2f mov r17, r16
- var2_32 = -48;
- var3_16 = (var1_32 * var2_32) / 10;
- printf("RIGHT: using int32_t vars : %d = ( %ld * %ld) / 10\n",var3_16, var1_32, var2_32);
- 1474: 00 d0 rcall .+0 ; 0x1476 <adc_avg_calc+0x3d6>
- 1476: 00 d0 rcall .+0 ; 0x1478 <adc_avg_calc+0x3d8>
- 1478: 8d b6 in r8, 0x3d ; 61
- 147a: 9e b6 in r9, 0x3e ; 62
- 147c: 08 94 sec
- 147e: 81 1c adc r8, r1
- 1480: 91 1c adc r9, r1
- 1482: 82 e3 ldi r24, 0x32 ; 50
- 1484: 91 e2 ldi r25, 0x21 ; 33
- 1486: ad b7 in r26, 0x3d ; 61
- 1488: be b7 in r27, 0x3e ; 62
- 148a: 11 96 adiw r26, 0x01 ; 1
- 148c: 8d 93 st X+, r24
- 148e: 9c 93 st X, r25
- 1490: 12 97 sbiw r26, 0x02 ; 2
- var3_16 = ((int32_t)var1_16 * (int32_t)var2_16) / 10;
- printf("RIGHT: using casting, assigned from constant: %d = ( %d * %d) / 10\n",var3_16, var1_16, var2_16);
- var1_32 = pcpv_data->board.vout;
- var2_32 = -48;
- var3_16 = (var1_32 * var2_32) / 10;
- 1492: c8 01 movw r24, r16
- 1494: b7 01 movw r22, r14
- 1496: 20 ed ldi r18, 0xD0 ; 208
- 1498: 3f ef ldi r19, 0xFF ; 255
- 149a: 4f ef ldi r20, 0xFF ; 255
- 149c: 5f ef ldi r21, 0xFF ; 255
- 149e: 0e 94 a5 16 call 0x2d4a ; 0x2d4a <__mulsi3>
- 14a2: a3 01 movw r20, r6
- 14a4: 92 01 movw r18, r4
- 14a6: 0e 94 c4 16 call 0x2d88 ; 0x2d88 <__divmodsi4>
- 14aa: f4 01 movw r30, r8
- 14ac: 22 83 std Z+2, r18 ; 0x02
- 14ae: 33 83 std Z+3, r19 ; 0x03
- printf("RIGHT: using int32_t vars : %d = ( %ld * %ld) / 10\n",var3_16, var1_32, var2_32);
- 14b0: d4 01 movw r26, r8
- 14b2: 14 96 adiw r26, 0x04 ; 4
- 14b4: ed 92 st X+, r14
- 14b6: fd 92 st X+, r15
- 14b8: 0d 93 st X+, r16
- 14ba: 1c 93 st X, r17
- 14bc: 17 97 sbiw r26, 0x07 ; 7
- 14be: 80 ed ldi r24, 0xD0 ; 208
- 14c0: 9f ef ldi r25, 0xFF ; 255
- 14c2: af ef ldi r26, 0xFF ; 255
- 14c4: bf ef ldi r27, 0xFF ; 255
- 14c6: 80 87 std Z+8, r24 ; 0x08
- 14c8: 91 87 std Z+9, r25 ; 0x09
- 14ca: a2 87 std Z+10, r26 ; 0x0a
- 14cc: b3 87 std Z+11, r27 ; 0x0b
- 14ce: 0e 94 01 17 call 0x2e02 ; 0x2e02 <printf>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement