1 Ostatnio edytowany przez gabor (Dzisiaj 01:43:10)

Projekt wykonałem w MadPascal na podstawie kodu emulatora nieznanego autora, znalezionego w internecie jeszcze ubiegłego wieku oraz kodzie pracy dyplomowej, którą zrobiłem z kolegą Ernestem.
Co jest emulowane:
- CPU 8051
- Pamięć RAM 256B
- Pamięć CODE 6 kB / DATA 6 Kb lub współdzielone 12 Kb CODE/DATA (dekoder adresów)
- "Buzzer" i "Test LED"
- Podprogramy EPROM
poprzez wywołania podprogramów w EPROM:
- LCD
- Klawiatura

Możliwość wczytania plików w formacie Intel HEX/BIN.
Poniżej lista komend:

S - Step, krok
R - Run, uruchom
T - Trace, sledzenie
D - Dump, zrzut pamieci
M - Modify, modyfikacja pamieci i rej.
L - Load, ladowanie z pliku (hex/bin)
B - Breakpoint, pulapki
C - Clear, czyszczenie, resetowanie
P - Params, parametry
Q - Quit, zakoncz program
--------------------------------------
S - Step - zrob krok i zrzut.
R - Run uruchom, dowolny wolny klawisz 
    lub pulapka przerywa wykonywanie.
T - Trace - uruchom krokowo, po kazdej
    instrukcji wykonywany jest zrzut.
D - Dump - zrzut pamieci lub deassembl.
DA <adres> - deasemblacja od adresu
    lub od aktualnego PC
D<C|R|D|S> <adres> - zrzut pamieci:
    C - kodu
    R - pamiec wewnetrzna RAM
    D - pamiec DATA
    S - rejestr SFR
DL - pokaz wyswietlacz LCD
M - Modify - modyfikacja pamieci, rej.
M<C|R|D|S> <adres> <ciag hex> 
    - madyfik, pamieci:
    C - kodu
    R - pamiec wewnetrzna RAM
    D - pamiec DATA
    S - rejestr SFR
MP <wartosc> modyfikuj rejestr PC.
MO <wartosc> modyfikuj rejestr DPTR.
MT <wartosc> modyfikuj rejestr SP.
L - Load - wczytaj z pliku.
L<C|R|D|S> - wczytaj z pliku do pam.:
    C - kodu
    R - pamiec wewnetrzna RAM
    D - pamiec DATA
    S - rejestr SFR
L<C|R|D|S> H <nazwa pliku>
    - wczyt. z pliku HEX
L<C|R|D|S> <adres> <nawa pliku>
    - wvzyt. z pliku BIN, od podanego 
      adresu.
B - Breakpoint, wyswietl pulapiki.
BA <adres> <nr pulapki> dodaj pulapke.
    nr - 0 - F.
BD <nr pulapki> - usun pulapke o nr.
    nr - 0 - F.
BC - usun wszystkie pulapki.
C - Clear, czysc pamies/resetuj
CA - resetuj (czysc pamiec RAM/DATA,
     pamiec CODE zostaje niezmieniona)
CC - czysc pamiec CODE.
CD - czysc pamiec DATA.
CL - czysc LCD.
P - Params, wyswietl paramety.
PM <0/1> wspoldzielona pamiec 
    CODE/DATA.
    0 - nie, oddzielna pamiec
        DATA (6kB) i CODE (6kB).
    1 - tak, wspoldzielona pamiec
        DATA i CODE (12kB)
PC <kolor hex> - zmien kolor ekranu.
Q - Quit - zakoncz program.
--------------------------------------
Emulowane funkcje EPROM DSM-51
(nazwa)       (adres)
WRITE_TEXT     8100
WRITE_DATA     8102
WRITE_HEX      8104
WRITE_INSTR    8106 (atrapa)
LCD_INIT       8108
LCD_OFF        810A
LCD_CLR        810C
DELAY_US       810E
DELAY_MS       8110
DELAY_100MS    8112
WAIT_ENTER     8114
WAIT_ENTER_NW  8116
TEST_ENTER     8118
WAIT_ENT_ESC   811A
WAIT_KEY       811C
GET_NUM        811E
BCD_HEX        8120
HEX_BCD        8122
MUL_2_2        8124
MUL_3_1        8126
DIV_2_1        8128
DIV_4_2        812A

Dołączam źródła, oryginalne źródła emulatora 8051 w TP i przykłady z lekcji DSM-51. Zdaje się, że pracy dyplomowej nie mogę dołączyć.

Post's attachments

pdsm51.zip 37.33 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.