-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.onet.pl!.POSTED!epsilon.rdc.pl!not
-for-mail
From: Mariusz Kruk <M...@e...eu.org>
Newsgroups: pl.comp.programming
Subject: Re: Do osób znających instrukcje procesora Z80
Date: Sun, 19 Jun 2011 20:50:40 +0200
Organization: Denied!
Lines: 76
Message-ID: <s...@e...rdc.pl>
References: <5...@n...onet.pl>
NNTP-Posting-Host: epsilon.rdc.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: news.onet.pl 1308509461 6200 77.252.106.53 (19 Jun 2011 18:51:01 GMT)
X-Complaints-To: n...@o...pl
NNTP-Posting-Date: Sun, 19 Jun 2011 18:51:01 +0000 (UTC)
User-Agent: slrn/pre1.0.0-18 (Linux)
Xref: news-archive.icm.edu.pl pl.comp.programming:191049
[ ukryj nagłówki ]epsilon$ while read LINE; do echo \>"$LINE"; done < "Piotrek"
>Załóżmy, że ograniczymy rozważania do operacji na rejestrach 8-bitowych. Moje
>wątpliwości dotyczyły zachowania flag C (przeniesienia, ustawianej gdy nastąpi
>przeniesienie z bitu 7, tzn. wynik nie zmieści się na 8 bitach) i H
>(półprzeniesienia, ustawianej gdy dojdzie do przeniesienia z bitu 3 na 4).
Niezależnie od tego, czy odejmowanie jest tłumaczone, czy nie,
http://www.z80.info/z80code.htm twierdzi, że przy SUB:
[...]
C or carry flag 1 if answer <0 else 0
Z or zero flag 1 if answer = 0 else 0
P flag 1 if overflow in twos complement else 0
S or sign flag 1 if 127<answer<256 else 0
N flag 1
H or half carry flag 1 if borrow from bit 4 else 0
[...]
A przy SBC:
[...]
C or carry flag 1 if <0 else 0
Z or zero flag 1 if result = 0 else 0
P flag 1 if TC >127 or <-128 else 0
S or sign flag 1 if 127 < n <256 else 0
N flag 1
H or half carry flag 1 if borrow from bit 12 else 0
[...]
(w ostatniej linijce oczywisty błąd, powinno być "bit 4"; dalej jest
wersja szesnastobitowa, w której powinno być o bicie dwunastym).
>Rozpatrywane były następujące operacje:
>
>1) działanie 3 - 5 (w praktyce załadowanie pierwszej wartości do rejestru A i
>wykonanie instrukcji SUB 5).
>
>Moim zdaniem nie dojdzie tu do półprzeniesienia, zdaniem mojego dyskutanta-tak.
>Oto jak rozumowałem:
>
>3 - 5 to dla procesora de facto 3 + (-5), 3 to bitowo 00000011,
>-5 to 11111011 (działamy w U2).
>
>Zapisując to jedno pod drugim i rachując pisemnie od prawej do lewej (od
>najmłodszego bitu do najstarszego) i zakładając, że procesor liczy to tak
>samo, dostaję kolejno:
>
>- na pozycji 0 sumę 1 + 1 -> mamy przeniesienie z bitu 0 na 1
>- na pozycji 1 sumę 1 + 1 + 1 (przeniesienie) -> mamy przeniesienie z 1 na 2
>- na pozycji 2 sumę 0 + 0 + 1 (przeniesienie) -> brak przeniesienia z 2 na 3
>
>Ponieważ ostatnie działanie nie wygenerowało nowego przeniesienia, a dalej nie
>mamy już sytuacji, w której sumowalibyśmy dwie jedynki, nie ma bata, żeby
>wygenerowało nam się nowe przeniesienie, w szczególności przeniesienie z bitu
>3 na 4. Zdaniem mojego dyskutanta jednak występuje. Gdzie tu błądzę?
Najwyraźniej jednak nie ma zamiany na dodawanie, tylko jest od 00000011
odjęcie 00000101. Wtedy jak najbardziej będziemy pożyczać od bitu
trzeciego aż do przepełnienia.
Reszta przypadków idzie analogicznie.
>Zastanawiające jest to, że mój tok rozumowania we wszystkich przypadkach
>prowadzi do stwierdzenia będącego negacją stanu faktycznego. Wygląda na to, że
>nie myślę źle, tylko moje rozumowanie opiera się na jakiejś błędnej
>przesłance.
Czyżby jednak zamiana odejmowania na dodawanie nie była słusznym
posunięciem?
W każdym razie, http://www.z80.info/zip/z80cpu_um.pdf wcale nie mówi o
zamianie odejmowania na dodawanie, a wręcz przeciwnie, pokazuje na
przykład na stronie 78 odejmowanie i jego skutki dla sygnalizacji
przepełnienia.
--
\------------------------/
| K...@e...eu.org | http://www.nieruchomosci.pl/mieszkanie,38804171
| http://epsilon.eu.org/ |
/------------------------\
Następne wpisy z tego wątku
- 19.06.11 21:06 Artur Muszyński
Najnowsze wątki z tej grupy
- Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
Najnowsze wątki
- 2026-01-29 KSeF - 13 wątpliwości
- 2026-01-29 A ja się pochwalę
- 2026-01-29 Warszawa => Mid/Senior IT Recruiter <=
- 2026-01-29 Warszawa => Senior Java Developer <=
- 2026-01-29 Warszawa => IT Recruiter <=
- 2026-01-28 Degradacja
- 2026-01-28 Wysoki Sąd poinstruował czego unikać wyzywając Owsiaka "Równiejszego"
- 2026-01-28 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-28 Białystok => Preseles Inżynier (background baz danych) <=
- 2026-01-28 Wrocław => Konsultant wdrożeniowy ERP <=
- 2026-01-28 Łódź => Microsoft Engineer <=
- 2026-01-28 Białystok => Tester manualny <=
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow




Jak kupić pierwsze mieszkanie? Eksperci podpowiadają