-
Data: 2011-06-19 18:50:40
Temat: Re: Do osób znających instrukcje procesora Z80
Od: Mariusz Kruk <M...@e...eu.org> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- 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
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
Najnowsze wątki
- 2025-07-19 Zakrzewo => SAP HCM Consultant <=
- 2025-07-19 Poznań => Konsultant SAP HCM <=
- 2025-07-19 Poznań => SAP HCR Consultant <=
- 2025-07-18 celnicy pobili policjanta
- 2025-07-18 Warszawa => Technik IT - Konfiguracja i Wsparcie Sprzętowe <=
- 2025-07-18 Warszawa => Specjalista ds. Sprzętu IT i Wsparcia Technicznego <=
- 2025-07-18 Białystok => Kotlin Developer <=
- 2025-07-18 Warszawa => Sales Director (Cloud solutions) <=
- 2025-07-18 Spalinowa trauma
- 2025-07-18 Polska => Senior Key Account Manager <=
- 2025-07-18 Białystok => Programista Kotlin <=
- 2025-07-18 Szczecin => Key Account Manager IT <=
- 2025-07-18 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-18 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-18 Lublin => Delphi Programmer <=