🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.asm
Article #2567

Re: Odejmowanie dużych liczb

#2567
From: Bogdan (bogdro)
Date: Fri, 06 Sep 2013 17:36
71 lines
2673 bytes
W dniu 06.09.2013 08:04, Kamil pisze:
> Użytkownik "Kamil" napisał:
> 
> Ta procedura działa błędnie dla niektórych danych wejściowych.

 Czym otrzymany wynik różni się od oczekiwanego?

> Pryczyny nie znalazłem. Może komuś uda się znaleźć błąd?
> 
> [code]
> 
> push edi
> push esi
> push ebx
> push ebp
> 
> mov esi, odarg1
> mov edi, odkarg2
> mov ebx, odwynik
> mov ecx, 20
> 
> mov eax, pam [esi]
> sub eax, pam [edi]
> mov pam [ebx], eax

 Bez definicji "pam" może być trudno to zinterpretować.


> odejmujemy:
> 
> mov eax, pam [esi+4]
> sbb eax, pam [edi+4]
> mov pam [ebx+4], eax
> 
> jc arg1_mniejszy_od_arg2
> 
> add esi, 4
> add edi, 4
> add ebx, 4
> 
> loop odejmujemy

 Wiesz, że odejmujesz 21 "czwórek", prawda? ECX = 20, ale pozycję [0]
obsługujesz przed pętlą, a w pętli obsługujesz pozycje [4], [8], [12],
..., [80], czyli łącznie bajty na offsetach od 0 do 83 włącznie.

> arg1_mniejszy_od_arg2:
> 
> pop ebp
> pop ebx
> pop esi
> pop edi
> 
> mov eax, 'aw'
> jmp _do_ret_od2
> 
> _do_ret_od2:
> 
>   ret
> 
> [/code]
> 
> Pozdrawiam
> 


-- 
Pozdrawiam/Regards - Bogdan                     (GNU/Linux & FreeDOS)
Kurs asemblera x86 (DOS, GNU/Linux):http://rudy.mif.pg.gda.pl/~bogdro
Grupy dyskusyjne o asm:  pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32
www.Xiph.org   www.TorProject.org   Soft(EN): tinyurl.com/bogdro-soft
Technical Details
Message-ID: <522a1288$0$1452$65785112@news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!feeder.erje.net!us.feeder.erje.net!news.glorb.com!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!nx02.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
References: <52293698$0$1261$65785112@news.neostrada.pl> <52297086$0$1468$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!feeder.erje.net!us.feeder.erje.net!news.glorb.com!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!nx02.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Date: Fri, 06 Sep 2013 19:36:04 +0200
From: "Bogdan (bogdro)" <bogdan@poczta.gazeta.pl>
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130801 Thunderbird/17.0.8
MIME-Version: 1.0
Newsgroups: pl.comp.lang.asm
Subject: Re: Odejmowanie dużych liczb
References: <52293698$0$1261$65785112@news.neostrada.pl> <52297086$0$1468$65785112@news.neostrada.pl>
In-Reply-To: <52297086$0$1468$65785112@news.neostrada.pl>
Lines: 71
Message-ID: <522a1288$0$1452$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: rudy.mif.pg.gda.pl
X-Trace: 1378488972 unt-rea-a-01.news.neostrada.pl 1452 153.19.42.16:50840
X-Complaints-To: abuse@news.neostrada.pl
X-Received-Bytes: 2377
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit