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

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:

#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

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?


Kateqoriya: Sual . . Qısa keçid.

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

(23:09, 25/03/2016 ) #62341

int instruksiyasından evvel nişan elan edib proqramın icrasını debaqqerle hemin nişanda dayandırıb %ebx -in qiymetini yoxlayın.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

Cavab verin


Cavab yazmaq üçün lütfən sağ sütundan və ya buradan hesaba daxil olun.

Üzvlər üçün giriş

Qeydiyyat

Elan qutusu

Software Developer - 571 xal

E. Hacı - 560 xal

Onar Alili - 526 xal

Dilsuz - 448 xal

Cabbarov Sübhan - 411 xal

Ruslan Butdayev - 328 xal

Namiq Bəndəli - 297 xal

U.Tarlan - 244 xal

Meherremoff - 234 xal

Bextiyar Azeroglu - 214 xal

Sistemə daxil olmuş 17330 sualdan 94%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

E-Haci.net istehsalı. © 2010-2016