Debugger EM400: Różnice pomiędzy wersjami

Przejdź do nawigacji Przejdź do wyszukiwania
brak opisu edycji
Nie podano opisu zmian
Linia 40: Linia 40:
*** io - operacje wejścia/wyjścia
*** io - operacje wejścia/wyjścia
*** misc - inne
*** misc - inne
 
*** all - wszystkie
= Konwersje podstawy liczb =
 
Domyślnie, liczby w linii poleceń debuggera wyświetlane są jako liczby dziesiętne ze znakiem (dane traktowane są jak liczby w kodzie U2). Możliwa jest konwersja do innego zapisu:
 
* '''uint('''''wyrażenie''''')''' - wartość wyrażenia zostanie potraktowana jako 16-bitowa liczba bez znaku i wyświetlona w systemie dziesiętnym
* '''hex('''''wyrażenie''''')''' - wartość wyrażenia zostanie wyświetlona w systemie szesnastkowym
* '''oct('''''wyrażenie''''')''' - wartość wyrażenia zostanie wyświetlona w systemie ósemkowym
* '''bin('''''wyrażenie''''')''' - wartość wyrażenia zostanie wyświetlona w systemie dwójkowym


= Wyrażenia =
= Wyrażenia =


Wyrażenia pozwalają w linii poleceń debuggera przeprowadzać obliczenia oraz manipulować zawartością rejestrów, pamięci i zmiennych. Elementem każdego wyrażenia mogą być:
Wyrażenia pozwalają w linii poleceń debuggera przeprowadzać obliczenia oraz manipulować zawartością rejestrów, pamięci i zmiennych. Rezultat wyrażenia wyświetlany jest również w linii poleceń, natychmiast po jego obliczeniu. Elementem każdego wyrażenia mogą być:


* Liczba w systemie dziesiętnym, ósemkowym, szesnastkowym lub binarnym (np.: '''15''', '''0177''', '''0xffa8''', '''0b1011100111011110''')
* Liczba w systemie dziesiętnym, ósemkowym, szesnastkowym lub binarnym (np.: '''15''', '''0177''', '''0xffa8''', '''0b1011100111011110''')
Linia 58: Linia 50:
* Zawartość komórki pamięci, adresowane jako '''[''adres'']''' lub '''[''blok:adres'']'''
* Zawartość komórki pamięci, adresowane jako '''[''adres'']''' lub '''[''blok:adres'']'''
* Zmienne: debugger pozwala na użycie dowolnej zmiennej, której nazwa nie jest słowem kluczowym (poleceniem), np: '''a''', '''adres''', '''zmienna3'''.
* Zmienne: debugger pozwala na użycie dowolnej zmiennej, której nazwa nie jest słowem kluczowym (poleceniem), np: '''a''', '''adres''', '''zmienna3'''.
Domyślnie, liczby w linii poleceń debuggera wyświetlane są jako liczby szesnastkowe bez znaku (dane traktowane są jak liczby w kodzie U2). Możliwa jest jednak konwersja do innego zapisu:
* '''uint('''''wyrażenie''''')''' - wartość wyrażenia zostanie potraktowana jako 16-bitowa liczba bez znaku i wyświetlona w systemie dziesiętnym
* '''dec('''''wyrażenie''''')''' - wartość wyrażenia zostanie wyświetlona w systemie dziesiętnym, ze znakiem
* '''hex('''''wyrażenie''''')''' - wartość wyrażenia zostanie wyświetlona w systemie szesnastkowym
* '''oct('''''wyrażenie''''')''' - wartość wyrażenia zostanie wyświetlona w systemie ósemkowym
* '''bin('''''wyrażenie''''')''' - wartość wyrażenia zostanie wyświetlona w systemie dwójkowym


W wyrażeniach dozwolone są następujące operatory:
W wyrażeniach dozwolone są następujące operatory:
Linia 72: Linia 72:
** '''[0x7a][2-9]''' - bity od 2 do 9 słowa znajdującego się w bieżącym bloku pamięci pod adresem 0x7a
** '''[0x7a][2-9]''' - bity od 2 do 9 słowa znajdującego się w bieżącym bloku pamięci pod adresem 0x7a
** '''zmienna[15]''' - najmłodszy bit zmiennej ''zmienna''
** '''zmienna[15]''' - najmłodszy bit zmiennej ''zmienna''
Debugger pozwala na obliczenie wartości wielu wyrażeń w jednej linii polecenia i wyświetlenie wyników również w jednej linii odpowiedzi. Można to zrobić podając kolejne wyrażenia oddzielone przecinkami, np:
em400> 1+2, oct(12+[9]), dec(r1-1), a=12, [a], [a]=1, [a]
0x3 033 -1 0xc 0x0 0x1 0x1

Menu nawigacyjne