🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Neg i carry

#551
From: Bernard
Date: Fri, 25 Aug 2006 07:15
30 lines
2399 bytes
Johnny wrote:
>> nigdzie nie wychodzimy poza zakres. carry nie jest ustawiane.
>>
>> neg działa na liczbach ze znakiem. Zakres 8-bitowej liczby ze znakiem to
>> -128..+127; Zapisywana jest w kodzie uzupełnieniowym do 2. Podany przez
>> ciebie przykład 80h (czyli 10000000b) w przypadku kodu U2 oznacza liczbę
>> -128.
>>
>> Jeśli chcesz zanegować liczbę -128 w 8-bitowym rejestrze, to liczba
>> dodatnia +128 WYCHODZI POZA ZAKRES. Ustawiana jest wtedy flaga carry.
>>
> 
> Być może się mylę lecz w moim podręczniku napisano, że carry jest
> ustawiane dla liczb bez znaku, natomiast dla liczb ze znakiem stosuje
> się overflow. Ponadto przypominam, że operandem jest w moim przykładzie
> ax czyli 16 bitów.

I to jest dobry powód do wywalenia podręcznika do kosza i czytania IA32 
Programmer's Reference.

Procesor najczęściej nie wie, na jakich liczbach operuje (ze znakiem, 
czy bez). Znaczniki reprezentują różne własności wyniku (np. 
przekroczenie zakresu dla liczb bez znaku lub ze znakiem).

Producent może instrukcję zdefiniować dowolnie, a procesor ma ją wykonać 
zgodnie z definicją. NEG jest zdefiniowana właśnie tak, a nie inaczej 
(rzeczywiście trochę dziwacznie). To nie jest tak, że dany znacznik po 
każdej instrukcji oznacza dokładnie to samo. Po ADD oznacza coś, po NEG 
- coś innego - zgodnie z definicją instrukcji, a nie z domysłami autora 
podręcznika czy programisty.
Technical Details
Message-ID: <44ee98cd$0$22590$f69f905@mamut2.aster.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.astercity.net!news.aster.pl!not-for-mail
References: <eck20j$ic8$1@nemesis.news.tpi.pl> <44edc4aa$0$22595$f69f905@mamut2.aster.pl> <1156437936.487681.4190@h48g2000cwc.googlegroups.com> <ecldfh$ghi$1@news.onet.pl> <ecm5jo$4v4$1@atlantis.news.tpi.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.astercity.net!news.aster.pl!not-for-mail
Date: Fri, 25 Aug 2006 09:15:30 +0200
From: Bernard <bernard@earth.net>
User-Agent: Thunderbird 1.5.0.5 (Windows/20060719)
MIME-Version: 1.0
Newsgroups: pl.comp.lang.asm
Subject: Re: Neg i carry
References: <eck20j$ic8$1@nemesis.news.tpi.pl>   <44edc4aa$0$22595$f69f905@mamut2.aster.pl> <1156437936.487681.4190@h48g2000cwc.googlegroups.com> <ecldfh$ghi$1@news.onet.pl> <ecm5jo$4v4$1@atlantis.news.tpi.pl>
In-Reply-To: <ecm5jo$4v4$1@atlantis.news.tpi.pl>
X-Antivirus: avast! (VPS 0634-2, 2006-08-24), Outbound message
X-Antivirus-Status: Clean
Lines: 30
Message-ID: <44ee98cd$0$22590$f69f905@mamut2.aster.pl>
NNTP-Posting-Date: 25 Aug 2006 06:29:34 GMT
NNTP-Posting-Host: 82.210.165.187
X-Trace: 1156487374 mamut2.aster.pl 22590 82.210.165.187:1191
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit