Assemblerdə böyük ədədlər hesablanmır

Salam dostlar Assemblerdə hesablama üçün kiçik proqramlar yazanda həmin proqram kiçik ədədlər üçün doğru işləyir ancaq əddləri böyük edəndə nəticə səhv olur. Məsələn: [code] #prog1.s .data begin: .long 1 end: .long 10 .text .globl _start _start: movl $0, %edx movl begin, %eax movl end,%ecx for: cmpl %eax, %ecx js son addl %eax, %edx addl $1, %eax jmp for son: movl %edx, %ebx movl $1, %eax int $0x80 [/code] Bu proqramı 1-dən 100-ə qədər ədədlərin cəmini toplamaq üçün yazmışdım ancaq end dəyişəni 100 olanda nəticə olaraq 186 yazıldı nəticə səhv oldu ancaq 5-10 yazanda nəticə düzgün olur. İndi necə edim ki proqram böyük ədədlər üçün də düzgün işləsin?

Verilmiş cavablar və yazılan şərhlər (1 cavab var)

ahmed (2016-03-25 23:09:56)
int instruksiyasından evvel nişan elan edib proqramın icrasını debaqqerle hemin nişanda dayandırıb %ebx -in qiymetini yoxlayın.

Mövzu üzrə bənzər suallara da baxa bilərsiniz.

Assembler kompilyator

Linuxda Assembler dili ilə proqramlaşdırma

Elan: Assembler kursları

Assembler mənbə