Article View: pl.comp.lang.asm
Article #541Re: Neg i carry
From: Matuzalem
Date: Thu, 24 Aug 2006 12:18
Date: Thu, 24 Aug 2006 12:18
67 lines
2912 bytes
2912 bytes
Matuzalem napisal(a): > Johnny napisal(a): > > mov ax,80h > > neg ax > > > > Dlaczego druga linijka ustawia znacznik carry? Przeciez neg to nic > > innego jak not ax i add ax,1h. Jesli w ten sposób zapisze ta linijke to > > carry nie jest ustawiane. > > > > -- > > Johnny > > Polecenie NEG odwraca liczby poprzez konwersje liczby na jej > uzupelnienie dwójkowe. > Dozwolone sa: > > NEG reg > NEG mem > > Jest to odwrócenie wszystkich bitów w operandzie docelowym i dodanie > 1. > I teraz dlaczego ustawia carry? > Operacja NEG ma wplyw na znaczniki: > - overflow, > - sign, > - zero, > - parity, > - CARRY, > - auxiliary carry > > A kiedy jest ustawiane carry? > Jesli wynik operacjcji arytmetycznej bez znaku jest zbyt duzy i nie > miesci sie w miejscu docelowym. > > Czyli czemu jest ustawiny carry? > Bo wynik operacji nie miesci sie w operandzie docelowym (nie chodzi > tu tylko o ax) > NEG jest to odwrócenie wszystkich bitów: > > czyli np. 20d == 14h == 10100b > > liczby jest nieskonczenie wiele, wiec tak naprawde 10100b mozna np. > zapisac: > > 0000 10100b lub 0000 0000 10100b itd. > > dalej najpierw not: > > not 10100b czyli 1111 1111 1111 1111 1111 1111 1110 1011b (odwrócenie > wszystkich bitów, zauwaz ze to jest "cale" eax, a gdyby to bylo > rax to równiez zostalo by zapelnione w "calosci", bo liczb jest > nieskonczenie wiele). > > Juz w tym momencie carry jest ustawione. > > No i teraz dodajemy 1: > add 1 czyli 1111 1111 1111 1111 1111 1111 1110 1100b > > Jeszcze moze to: http://pdos.csail.mit.edu/6.828/2005/readings/i386/NEG.htm > Mam nadzieje, ze nie namieszalem zbytnio :] Pozdrawiam
Technical Details
Message-ID:
<1156421922.322892.273020@h48g2000cwc.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!news.germany.com!postnews.google.com!h48g2000cwc.googlegroups.com!not-for-mailReferences:
<eck20j$ic8$1@nemesis.news.tpi.pl> <1156420928.021909.295430@74g2000cwt.googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!news.germany.com!postnews.google.com!h48g2000cwc.googlegroups.com!not-for-mail From: "Matuzalem" <codemaster_@op.pl> Newsgroups: pl.comp.lang.asm Subject: Re: Neg i carry Date: 24 Aug 2006 05:18:42 -0700 Organization: http://groups.google.com Lines: 69 Message-ID: <1156421922.322892.273020@h48g2000cwc.googlegroups.com> References: <eck20j$ic8$1@nemesis.news.tpi.pl> <1156420928.021909.295430@74g2000cwt.googlegroups.com> NNTP-Posting-Host: 212.244.115.33 Mime-Version: 1.0 X-Trace: posting.google.com 1156421927 11849 127.0.0.1 (24 Aug 2006 12:18:47 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Thu, 24 Aug 2006 12:18:47 +0000 (UTC) In-Reply-To: <1156420928.021909.295430@74g2000cwt.googlegroups.com> User-Agent: G2/0.2 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6,gzip(gfe),gzip(gfe) Complaints-To: groups-abuse@google.com Injection-Info: h48g2000cwc.googlegroups.com; posting-host=212.244.115.33; posting-account=HFFdEQ0AAACI08bdAnMScVqwVEj2ucOg Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit