Hallo,

Ich benutze ProgrammersNotepad2 mit Atmega8 (Asuro Roboter).

Irgendwo macht eine Teilung die ablauf von mein Program durcheinander.

z.B.

  • int i = EINE_CONSTANTE / eine_veriabele;



wenn ich nach compilieren die .lst Datei anscheue sehe ich etwas wie:

  • 4104 13ee 88EC ldi r24,lo8(-56)
    4105 13f0 622F mov r22,r18
    4106 13f2 00D0 rcall __udivmodqi4



die function __udivmodqi4, wie oder wass oder woher komt dieser?

Im .lss Datei finde ich folgendes

  • 00001b0c <___mulsf3x_420>:
    1b0c: 01 28 or r0, r1
    1b0e: 08 95 ret

    00001b10 <__udivmodqi4>:
    1b10: 99 1b sub r25, r25
    1b12: 79 e0 ldi r23, 0x09 ; 9
    1b14: 04 c0 rjmp .+8 ; 0x1b1e

    00001b16 <__udivmodqi4_loop>:
    1b16: 99 1f adc r25, r25
    1b18: 96 17 cp r25, r22
    1b1a: 08 f0 brcs .+2 ; 0x1b1e
    1b1c: 96 1b sub r25, r22

    00001b1e <__udivmodqi4_ep>:
    1b1e: 88 1f adc r24, r24
    1b20: 7a 95 dec r23
    1b22: c9 f7 brne .-14 ; 0x1b16
    1b24: 80 95 com r24
    1b26: 08 95 ret


Was heisst dies alles, kann jemand mir dass erklaren?

Gruss

Henk