Pobierz ze strony Microprocessor Simulator for Students symulator procesora Intel 8080/8085 SMS32v50.
http://www.softwareforeducation.com
Symulator wprowadza w ASM programowanie i architekturu mikrokomputera. Tutoriale były pierwotnie zaprojektowane do współpracy z British GCE A2 specyfikacji Computing, a także British National BTEC dla praktyków IT (Computer Systems). The simulator has enough depth and flexibility to be used with university undergraduate students studying low level programming for the first time. Symulator jest wystarczająco szeroki i elastyczny, aby być ze studentami studiów uniwersyteckich po raz pierwszy.
Data Bus - szyna danych
Address Bus - szyna adresu
Control Bus - szyna sterowania
MBR - rejestr danych
MAR - rejestr adresu
CBR - rejestr sterowania
CIR - rejestr rozkazów
IP - rejestr adresu programy (or PC - program counter)
SP -rejestr adresu stosu (wskaźnik stosu)
SR -rejestr stanu ewidencyjnego (rejestr banderów)
Central Processing Unit (CPU) - jednostka arytmetyczne-logiczna
256 bytes of random access memory (RAM) - 256 bajtów pamięci RAM
16 input output (IO) ports. Only six are used. 16 wejścia / wyjścia (We-Wy) portów. Tylko sześć są używane.
A hardware timer that triggers interrupt 02 at regular time intervals that you can pre-set using the configuration tab.
Timer, który wyzwala przerwanie sprzętowe 02 w regularnych odstępach czasu, że można wstępnie ustawić za pomocą karty konfiguracji.
A keyboard that triggers interrupt 03. Klawiatura, która wyzwala przerwanie 03.
Peripherals connected to the Ports. Urządzenia podłączony do portów.
English
The simulator is programmable in that you can run many different programs. In real life, the RAM would be replaced by read only memory (ROM) and the system would only ever run one program hard wired into the ROM. There are hundreds of examples of systems like this controlling traffic lights, CD players, simple games consoles, many children's games, TV remote controls, microwave oven timers, clock radios, car engine management systems, central heating controllers, environmental control systems and the list goes on.
The Central Processing Unit
The central processing unit is the "brain" of the computer. The CPU has storage locations called registers. It has an arithmetic and logic unit (ALU). Data is taken from the registers, processed and results go back into the registers.
General Purpose Registers
The CPU has four general-purpose registers called AL, BL, CL and DL. These are eight bits or one byte wide. Registers can hold unsigned numbers in the range 0 to +255 and signed numbers in the range –128 to +127. These are used as temporary storage locations. Registers are used in preference to RAM locations because it takes a relatively long time to transfer data between RAM and the CPU. Faster computers generally have more CPU registers or memory on the CPU chip. The registers are named AL, BL, CL and DL because the 16-bit version of this CPU has more registers called AH, BH, CH and DH. The 'L' means Low and the 'H' means High.
Special Purpose Registers
Polski
(tłumaczenie E.Ochina: bardzo proszę o korektą tłumaczenia na mój adres E.Ochin@GMail.com)
Symulator jest programowalny w które można uruchomić wiele różnych programów. W prawdziwym życiu RAM zostanie zastąpiona przez pamięć tylko do odczytu (ROM) i system będzie zawsze tylko uruchomić jeden program "zaszyty" w ROM. Istnieją setki przykładów systemów: sterowania sygnalizacją świetlną, odtwarzacze CD, prostych gier na konsole, gry wiele dzieci, piloty do telewizorów, sterowniki kuchenki mikrofalowej, radio z budzikiem, systemy zarządzania silnikiem samochodu , centralny kontroler ogrzewania, ekologiczne systemy kontroli itd
Jednostka centralna
Jednostka centralna jest "mózg" komputera. CPU ma miejsc w pamięci rejestrowej. Ma arytmetyczne i logiczne jednostki (ALU). Dane są pobierane z rejestrów, przetwarzane i wyniki z powrotem do rejestrów.
Rejestry przeznaczenia ogólnego
CPU składa się z czterech rejestrów przeznaczenia ogólnego, zwany AL, BL, CL i DL osiem bitów lub jeden bajt szerokości. Rejestry mogą przechowywać liczby bez znaku w zakresie od 0 do 255 i liczby z znakiem w zakresie od -128 do +127. Są one używane jako tymczasowe miejsce przechowywania. Rejestry są stosować się do miejsc pamięci RAM, ponieważ zajmuje stosunkowo dużo czasu na przekazywanie danych między pamięcią RAM i procesora. Szybsze komputery zazwyczaj mają więcej rejestrów procesora lub pamięci na chipie procesora. Rejestry są nazywane AL, BL, CL i DL, ponieważ 16-bitowej wersji tego procesora ma więcej rejestrów, zwanych AH, BH, CH i DH. "L" oznacza niskie i "H" oznacza wysokie.
Rejestry przeznaczenia specjalnego
Rejestry przeznaczenia specjalnego w CPU nazywa się IP (Instruction Pointer [Programm Counter]), SR (Status Register) i SP (Stack Pointer).
IP jest wskaźnik instrukcji
Rejestr ten zawiera adres instrukcji wykonywanej. Po zakończeniu realizacji, IP zwiększa się do adresu następnej instrukcji. Instrukcje skoku mogą zmienić wartości IP, dzięki czemu przepływ program skacze do nowej pozycji. CALL i INT także może zmienić wartość przechowywana w IP.
SR jest rejestrem statusu
Rejestr ten zawiera flagi, że sprawozdanie CPU.
Flaga zero "Z" jest ustawiony na jeden, jeśli obliczenia dały wynik zerowy.
Flaga znaku "S" jest ustawiony na jeden, jeśli obliczenia dały wynik negatywny.
Flaga przepełnienia "O" jest ustawiony na jeden, jeśli wynik jest zbyt duża by zmieścić się w rejestrze.
Flaga maskowania przerwania "I" jest ustawiony na jeden, jeśli przerwania są włączone. Zobacz CLI i STI.
SP jest wskaźnikiem stosu
Stos jest obszarem pamięci, zorganizowanej jako LIFO (Last Input - First Output): ostatnim przyszedł - pierwszym wyszedł. Wskaźnik stosu wskazuje na następna wolna komurka pamęci. Stos rośnie w kierunku adres zero. Dane odkładany na stos, aby go zapisać do późniejszego wykorzystania. Wskaźnik stosu SP śledzi o push (zapis, +1 w SP) i pop (-1 w SP, odczyt) elementów danych.
Pamięć z dostępem dowolnym
Symulator ma 256 bajtów pamięci RAM. Adresy są od 0 do 255 w liczbach dziesiętnych lub z [00] do [FF] w kodzie szesnastkowym. Adresy pamięci RAM są zazwyczaj podane w nawiasach kwadratowych np. [7C] gdzie 7C jest liczba szesnastkowa. Przeczytaj [7C] jako "dane przechowywane na lokalizacji 7C".
Szyny
Szyny są zbiory przewodów wykorzystywanych do przeprowadzania sygnałów. Zazwyczaj są drukowane w równoległych ścieżkach na płytkach drukowanych. Sloty są gniazda kart, które pozwalają być podłączone do magistrali systemowej. 8-bitowy komputer ma rejestry szerokości 8 bitowej i szyny danych 8 bitowe. Komputer 16-bitowy ma rejestry 16-bitowe i 16-bitowe szyny danych i adresu.Oryginalny IBM PC miał 8-bitowe szyna danych i 20-bitowe szyna adresu: jeden megabajt pamięci RAM, aby uzyskać dostęp. Komputer 32-bitowy ma rejestry 32-bitowe i 32-bitowe szyną danych i adresu (1997-2010).
The special purpose registers in the CPU are called IP (Instruction Pointer [Programm Counter]), SR (Status Register) and SP (Stack Pointer).
IP is the Instruction pointer
This register contains the address of the instruction being executed. When execution is complete, IP is increased to point to the next instruction. Jump instructions alter the value of IP so the program flow jumps to a new position. CALL and INT also change the value stored in IP.
SR is the Status Register
This register contains flags that report the CPU status.
The 'Z' zero flag is set to one if a calculation gave a zero result.
The 'S' sign flag is set to one if a calculation gave a negative result.
The 'O' overflow flag is set if a result was too big to fit in a register.
The 'I' interrupt is set if interrupts are enabled. See CLI and STI.
SP is the Stack Pointer
The stack is an area of memory organised using the LIFO last in first out rule. The stack pointer points to the next free stack location. The stack grows towards address zero. Data is pushed onto the stack to save it for later use. The stack pointer SP keeps track of where to push or pop data items.
Random Access Memory
The simulator has 256 bytes of ram. The addresses are from 0 to 255 in decimal numbers or from [00] to [FF] in hexadecimal. RAM addresses are usually given in square brackets such as [7C] where 7C is a hexadecimal number. Read [7C] as "the data stored at location 7C".
Busses
Busses are collections of wires used to carry signals around the computer. They are commonly printed as parallel tracks on circuit boards. Slots are sockets that enable cards to be connected to the system bus. An 8-bit computer typically has registers 8 bits wide and 8 wires in a bus. A 16-bit computer has 16 bit registers and 16 address and data wires and so on. The original IBM PC had 8 data wires and 20 address wires enabling one megabyte of RAM to be accessed. 32 bit registers and busses are now usual (1997-2010).
Uruchom symulator i zapoznaj się z instrukcją jego użytkowania
Dokonaj darmowej rejestracji dla studentów.
Na podstawie prostego programu 01FIRST.ASM przeanalizuj działanie symulatora.
Uruchom i przeanalizuj program instr_MOV.ASM. Zobacz jak zmienia się zawartość rejstrów oraz komórek pamięci w trakcie realizacji kolejnych instrukcji programu.
Uruchom i przeanalizuj program instr_ARYTM.ASM. Zobacz jak zmienia się zawartość rejstrów oraz komórek pamięci w trakcie realizacji kolejnych instrukcji programu.
Napisz własny program wykorzystujący znane Ci instrukcje przesłań, arytmetyczne oraz logiczne. Dokonaj symulacji zachowań procesora podczas realizacji tego programu. Pamiętaj o niedogodności tego symulatora w którym występują jedynie rejestry ośmiobitowe.
[1] Evgeny Ochin. Systemy liczbowe, Lulu Publishing, Raleigh, North Carolina, USA, 2010, http://www.lulu.com/product/paperback/systemy-liczbowe/12287451?productTrackingContext=search_results/search_shelf/center/2