EM400 - uruchamianie programów: Różnice pomiędzy wersjami

Przejdź do nawigacji Przejdź do wyszukiwania
 
(Nie pokazano 2 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 64: Linia 64:
Jeśli nie są widoczne wszystkie elementy interfejsu użytkownika, należy zwiększyć rozmiar okna terminala lub zmniejszyć czcionkę.
Jeśli nie są widoczne wszystkie elementy interfejsu użytkownika, należy zwiększyć rozmiar okna terminala lub zmniejszyć czcionkę.


W takim stanie program jest załadowany do pamięci emulowanego komputera, ale procesor jest zatrzymany, o czym informuje pole "CPU status" w lewym dolnym rogu okna terminala. Ten przykładowy program przeznaczony jest do wykonania krokowego. Wykonanie pojedynczej instrukcji programu możliwe jest po wydaniu polecenia '''cycle'''. Można wtedy w oknie "ASM" obserwować wykonanie kolejnych instrukcji, a w oknach "System registers" i "User registers" zmiany stanów rejestrów maszyny. Program wykonuje kilka pętli po 10 kroków każda.
W takim stanie program jest załadowany do pamięci emulowanego komputera, ale procesor jest zatrzymany, o czym informuje pole "CPU status" w lewym dolnym rogu okna terminala. Ten przykładowy program przeznaczony jest do wykonania krokowego. Wykonanie pojedynczej instrukcji programu możliwe jest przez wydanie polecenia '''cycle'''. Można wtedy w oknie "ASM" obserwować wykonanie kolejnych instrukcji, a w oknach "System registers" i "User registers" zmiany stanów rejestrów maszyny. Program wykonuje kilka pętli po 10 kroków każda.


Ostatnią instrukcją programu jest instrukcja "hlt 000". Ponieważ procesor jest cały czas zatrzymany, a poleceniem "cycle" wymuszane są kolejne kroki pracy CPU, to nie będzie miała ona żadnego praktycznego efektu. Ale program można oczywiście uruchomić nie-krokowo. Można to zrobić ustawiając licznik rozkazów ponownie na adres 0 poleceniem '''ic=0''', resetując system poleceniem '''clear''', a następnie uruchamiając procesor poleceniem '''start'''.
Poprzednio wydane polecenie można przywołać wciskając klawisz strzałki w górę.
 
Ostatnią instrukcją programu jest instrukcja "hlt 000". Ponieważ procesor jest cały czas zatrzymany, a poleceniem "cycle" wymuszane są kolejne kroki pracy CPU, to nie będzie miała ona żadnego praktycznego efektu. Ale program można oczywiście uruchomić nie-krokowo. Można to zrobić ustawiając licznik rozkazów ponownie na adres 0 poleceniem '''ic=0''', resetując system poleceniem '''clear''', a następnie uruchamiając procesor poleceniem '''start'''. Program wykona się cały, procesor przejdzie do stanu "WAIT", sygnalizowanym w lewym dolnym rogu okna, a w oknie "ASM" zobaczymy, że kursor wskazujący aktualną instrukcję zatrzymał się po instrukcji "hlt 000".


== print.bin ==
== print.bin ==
Linia 80: Linia 82:
e4term łączy się z EM400 na porcie 32000, który w pliku konfiguracyjnym został wcześniej zdefiniowany jako port dla urządzenia 0 w kanale znakowym 15, które jest terminalem.
e4term łączy się z EM400 na porcie 32000, który w pliku konfiguracyjnym został wcześniej zdefiniowany jako port dla urządzenia 0 w kanale znakowym 15, które jest terminalem.


Po podpięciu terminala, w debugerze EM400 można wydać polecenie "start" - w oknie z podłączonym terminalem powinien pojawić się napis "Hello world!". Podobnie jak w przypadku programu '''loops.bin''' i ten program można wykonać krokowo.
Po podpięciu terminala, w debugerze EM400 można wydać polecenie '''start''' - w oknie z podłączonym terminalem powinien pojawić się napis "Hello world!". Podobnie jak w przypadku programu '''loops.bin''' i ten program można wykonać krokowo.

Menu nawigacyjne