• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dodawanie liczb 1-bajtowych w kodzie U2 bez /z przekroczeniem zakresu.

Object Storage Arubacloud
0 głosów
685 wizyt
pytanie zadane 14 czerwca 2019 w Assembler przez jezza Nowicjusz (120 p.)
Przepraszam bardzo za głupie pytanie, ale nie mam pojęcia jak napisać program który doda do siebie dwie liczby zapisane (?) w kodzie U2 umieszczone w dwóch portach.

Nie wiem czy mam zamieniać liczby na kod U2 już w porcie np., gdy chce dodać liczbę ujemną, czy przez odpowiednie komendy program sam ogarnie, że mimo, że w porcie widnieje wartoź 0x02 to tak naprawdę chodziło o -2.

 

CLR C
MOV A, P1
ADDC A, P2

To maksimum na które moje pojmowanie assemblera pozwoliło mi napisać. Wynik przechowuje w akumulatorze.

Z góry dziękuję za pomoc.
komentarz 14 czerwca 2019 przez criss Mędrzec (172,590 p.)
Assembler, ok ale jaka to architektura? Z x86 nie kojarze ani CLR ani ADDC (chociaż możliwe, że tu chodziło o ADC?). Nie kojarze też instrukcji które operują na jakichś "portach", ale może P1 i P2 to po prostu pamięć?
komentarz 14 czerwca 2019 przez jezza Nowicjusz (120 p.)

Faktycznie zapomniałem dodać, jest to Intel 8051. 

Tak wyglądają te "porty". Tutaj właśnie wybierałem swoje dwie liczby.

1 odpowiedź

0 głosów
odpowiedź 14 czerwca 2019 przez criss Mędrzec (172,590 p.)

Zakładam, że chodzi o x86 assembly, ADDC to ADC, CLR ignoruje, P1 i P2 to stałe, a A to rejestr lub ewentualnie pamięć.

Dodawanie można wykonywać tak samo dla naturalnego kodu binarnego (liczby bez znaku) oraz dla kodowania U2 (dlatego nie ma osobnych instrukcji do tego). ADC ogólnie działa w ten sposób, że dodaje wartości z dwóch parametrów oraz flage CF (0 lub 1). Bez szerszego kontekstu, użycie CF do dodania dwóch liczb jest bez sensu, więc powinieneś użyc po prostu ADD.

Nie wiem czy mam zamieniać liczby na kod U2 już w porcie

Tak, oczywiście. -2 w U2 będzie wyglądało tak: 0b11111110 -> 0xFE (przy założeniu 8 bitów).

Nie wiem czy to ci pomaga, bo musiałem zrobić dość dużo założeń.

komentarz 14 czerwca 2019 przez jezza Nowicjusz (120 p.)
Myślę, że pomoże. Dziękuję. A co do przekroczenia "zakresu" tutaj nie jestem pewien, czy to sie objawia flagą OV, czy AC oraz czy dzieje się to kiedy przekraczam zakres np. przy działaniu -213 + (-230)...
komentarz 23 czerwca 2019 przez jezza Nowicjusz (120 p.)

@Criss, przepraszam za odkopanie, ale czy porty nie muszą być w jakiś sposób skonfigurowane? Gdy dodaje do siebie liczby -2 i -8 oczekuje 6, natomiast wynik wychodzi 246.

komentarz 24 czerwca 2019 przez criss Mędrzec (172,590 p.)

Gdy dodaje do siebie liczby -2 i -8 oczekuje 6

Ja bym oczekiwał -10 :P

 natomiast wynik wychodzi 246.

I się zgadza. 11110110 to 246 odczytując jako naturalny kod binarny i -10 odczytując jako kod U2.

Podobne pytania

0 głosów
1 odpowiedź 290 wizyt
pytanie zadane 15 kwietnia 2023 w Assembler przez Noizz00 Użytkownik (910 p.)
0 głosów
1 odpowiedź 724 wizyt
0 głosów
1 odpowiedź 186 wizyt
pytanie zadane 17 maja 2023 w Assembler przez banana_czikita Nowicjusz (120 p.)

92,539 zapytań

141,382 odpowiedzi

319,477 komentarzy

61,928 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...