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
Lesezeichen