GRY-Online.pl --> Archiwum Forum

Czy ktos mi powie co mam napisac w referacie na temat: "Języki wewnętrzne i zewnętrzne procesora, kodowanie"?

03.06.2003
14:45
smile
[1]

Gokussj_4 [ Centurion ]

Czy ktos mi powie co mam napisac w referacie na temat: "Języki wewnętrzne i zewnętrzne procesora, kodowanie"?

Jak wyżej. I jezeli można to gdzie tego szukać??

03.06.2003
14:54
smile
[2]

Gokussj_4 [ Centurion ]

Błagam potrzebuję tego na jutro, pliiiiiiiiiizzzzzzzzzzzzzz, a jeszcze muszę to napisać i wydrukować.

03.06.2003
14:57
smile
[3]

BIGos [ bigos?! ale głupie ]

może zbyt dużo nie pomoge ale - łap:
www.google.pl

najlepsza wyszukliwarka, moze tam coś znajdziesz.
I zmień nicka, bo z takim to jestes tylko kolejną podróbą postaci z bajki.
Wymyśl sobie oryginalnego

03.06.2003
15:09
smile
[4]

Gokussj_4 [ Centurion ]

Wali mnie to czy jestem podróbą postaci z bajki czy nie, a na tej wyszukiwarce już szukałem i nic nie znalazłem, dokłądnie to nawet nie wiem czego szukać. Może ktoś mi pomoże.

03.06.2003
15:23
[5]

BIGos [ bigos?! ale głupie ]

po 1. jezyki zewnetrzne to moga byc jezykiwysokiego poziomu jak basic lub pascal. Chyba ze chodzi np. o kod maszynowy, albo o assemblera.
Naprawde nic na googlach nie było ?

03.06.2003
15:48
[6]

baziiii [ '87 ]

hmm ciekaw jestem ile masz lat koles bo nick mi mowi ze nie wiecej niz 13 a temat pracy na nie mniej niz 18 :o

jak mozna ogladac takie mozgojeby jak dragon bol ?? :O czy tam ball

03.06.2003
15:48
[7]

Gokussj_4 [ Centurion ]

Na serio nic nie znalazłem, ale skoro mówisz że to to, a mógłbyś mi dac jakiś link gdybyś coś znalazł??

03.06.2003
16:05
[8]

Blendon [ Generaďż˝ ]

Szczerze mowiac mialem to, ale nie pamietam. Wielkie dzieki dla autora tego watku, bo postanowilem przejrzec zeszyt i znalazlem wielkie braki;-) Jutro porzycze zeszyt od kumpla, wiec jak nic nie znajdziesz to chyba jutro bede mogl pomoc.

03.06.2003
16:15
smile
[9]

Gokussj_4 [ Centurion ]

Blendon jeżeli byś mogł to byłbym Ci bardzo wdzięczny. A tak wogóle to baziiii to pewnie jest zajebisty nick co?? A to czy mi się Dragonball podoba czy nie to Cię gówno powinno obchodzić, tak więc przypierdol się lepiej do czegoś innego, titolu jeden.

03.06.2003
18:25
[10]

baziiii [ '87 ]

aahahahahaaaaaaaa to mnie rozśmieszyłeś koleś, zamknij lepiej pysk noobie... poprostu ciekaw jestem ile masz lat :o stawiem że 14 :>

03.06.2003
19:34
[11]

TzymischePL [ Senator ]

Tu masz o rozkazach ktore wykonuje procesor. Pozniej kawalek przerwy i cos niecos o adresacji.
tylko w sumie powiedz do czego Ci to potrzebne... Bo moze niepotrzebnie grzebie po pracach ktore wykorzystywalem na studiach....



Podstawowe grupy rozkazów mikroprocesorów.
Grupy rozkazów zostaną opisane na podstawie rozkazów do mikroprocesorów 8086 / 8088 -najbardziej reprezentatywne mikroprocesory.
rozkazy transmisji danych
Rozkazy transmisji danych między rejestrami i pamięcią operacyjną:
· MOV – przesyłanie bajtu lub słowa
· PUSH – przesyłanie słowa na szczyt stosu
· POP – pobranie słowa ze szczytu stosu
· XCHG – zamiana miejscami bajtów lub słów
· XLAT – pobieraniu bajtu z tablicy
Rozkazy związane z układami wejścia wyjścia:
· IN – wprowadzenie bajtu lub słowa z układu wejściowego
· OUT – wyprowadzenie bajtu lub słowa do układu wyjściowego
Rozkazy ładowania adresów:
· LEA – załadowanie adresu efektywnego do rejestru
· LDS – załadowanie adresu logicznego do wskazanego rejestru oraz do DS
· LES – załadowanie adresu logicznego do wskazanego rejestru oraz do ES
Rozkazy związane z rejestrem znaczników:
· LAHF – załadowanie jednego bajtu słowa znaczników do rejestru AH
· SAHF – załadowanie zawartości rejestru AH do rejestru znaczników
· PUSHF – przesłanie rejestru znaczników na szczyt stosu
· POPF – pobranie znaczników ze szczytu stosu
rozkazy operacji arytmetycznych i logicznych
Rozkazy dodawania:
· ADD – dodawanie bajtów lub słów
· ADC – dodawanie bajtów lub słów z przeniesieniem
· INC – inkrementacja
· AAA – poprawka dziesiętna po dodaniu w rozkodowanym kodzie BCD
· DAA – poprawka dziesiętna po dodaniu w kodzie BCD
Rozkazy odejmowania:
· SUB – odejmowanie bajtów lub słów
· SBB – odejmowanie bajtów lub słów z pożyczką
· DEC – dekrementacja
· NEG – negacja lub uzupełnienie do 2 bajtu lub słowa
· CMP – porównanie bajtów lub słów
· AAS – poprawka po odejmowaniu w rozpakowanym kodzie BCD
· DAS – poprawka po odejmowaniu w kodzie BCD
Rozkazy mnożenia:
· MUL – mnożenie bajtów lub słów bez znaków
· IMUL – mnożenie całkowite bajtów lub słów ze znakami
· AAM – poprawka po mnożeniu w rozpakowanym kodzie BCD
Rozkazy dzielenia:
· DIV – dzielenie bajtów lub słów bez znaków
· IDIV – dzielenie całkowite bajtów lub słów ze znakiem
· AAD – poprawka przed dzieleniem w rozpakowanym kodzie BCD
· CBW – zamiana bajtu na słowo
· CWD – zamiana słowo na podwójne słowo
Rozkazy logiczne, działające na bitach:
· NOT – negacja logiczna bajtu lub słowa
· AND – iloczyn logiczny bajtów lub słów
· OR – suma logiczny bajtów lub słów
· XOR – nierównoważność bajtów lub słów
· TEST – testowanie (porównywanie logiczne) bajtów lub słów
Rozkazy przesunięć:
· SHL/SHR – przesunięcie logiczne w lewo (prawo) bajtu lub słowa
· SAL/SAR – przesunięcie arytmetyczne w lewo (prawo) bajtu lub słowa
· ROL/ROR - przesunięcie cykliczne w lewo (prawo) bajtu lub słowa
· RCL/RCR – przesunięcie cykliczne z przeniesieniem w lewo (prawo) bajtu lub słowa
rozkazy przetwarzające łańcuchy
Mikroprocesory 8086 i 8088 mają rozkazy umożliwiające działania w prosty sposób na łańcuchach, tablicach czy blokach danych w pamięci operacyjnej. Można je podzielić na dwie grupy: proste rozkazy realizujące pojedynczą realizację, przedrostki deklarujące powtórzenia rozkazu prostego. Rozkazy te używają zawsze tych samych rejestrów do adresowania argumentów oraz zliczania powtórzeń (kroków): DS:SI – adres źródła danych, ES:DI – adres przeznaczenia, CX – licznik powtórzeń. Rozkaz z przedrostkiem, a więc wykonywany wielokrotnie, zostanie zakończony po wyzerowaniu licznika CX, lub po spełnieniu innych warunków związanych z ustawieniem znacznika ZF.
Rozkazy realizujące pojedyncze operacje:
· MOVS – przepisanie w pamięci elementu łańcucha (tablicy, bloku)
· LODS – załadowanie elementu łańcucha (tablicy, bloku) do akumulatora (pobranie ze stosu)
· STOS – zapamiętanie w pamięci elementu łańcucha (tablicy, bloku) znajdującego się w akumulatorze (zrzucenie na stos)
· SCAS – porównanie elementu łańcucha (tablicy, bloku) z zawartością akumulatora
· CMPS – porównanie elementów dwóch łańcucha (tablic, bloków)
Przedrostki deklarujące powtórzenia:
· REP – powtarzanie pojedynczej operacji, aż do wyzerowania rejestru CX
· REPZ/REPE – powtarzanie pojedynczej operacji, aż do wyzerowania rejestru CX lub wyzerowania znacznika zera ( ZF=0 )
· REPNZ/REPNE – powtarzanie pojedynczej operacji, aż do wyzerowania rejestru CX lub ustawienia znacznika zera
rozkazy sterowania skokami
Rozkazy skoków bezwarunkowych
· JMP – skok bezwarunkowy
· CALL – wywołanie podprogramu
· RET – powrót z podprogramu do miejsca wywołania
Rozkazy testujące stan jednego znacznika
· JC – skok jeśli jest przeniesienie ( CF=1 )
· JNC – skok jeśli nie ma przeniesienia ( CF=0 )
· JO – skok jeśli jest przepełnienie ( OF=1 )
· JNO – skok jeśli nie ma przepełnienia ( OF=0 )
· JS – skok jeśli znak liczby jest ujemny ( SF=1 )
· JNS – skok jeśli znak liczby nie jest ujemny ( SF=0 )
· JP/JPE – skok gdy jest parzystość ( PF=1 )
· JNP/JPO – skok gdy nieparzystość ( PF=0 )
· JZ – skok jeśli liczba jest równa zero ( ZF=1 )
· JNZ – skok jeśli liczba jest różna od zera ( ZF=0 )
Rozkazy związane z porównaniem dwóch argumentów
· JE – skok gdy są równe ( ZF=1 )
· JNE – skok gdy nie są równe, są różne ( ZF=0 )
· JG – skok gdy jest większy (((SF+OF) mod 2) i ZF=1 )
· JNG – skok gdy nie jest większy (((SF+OF) mod 2) i ZF=0 )
· JGE – skok gdy jest większy lub równy (((SF+OF) mod 2) =1 )
· JNGE – skok gdy nie jest większy lub równy (((SF+OF) mod 2) =0 )
· JL – skok gdy jest mniejszy (((SF+OF) mod 2) =1 )
· JNL – skok gdy nie jest mniejszy (((SF+OF) mod 2) =0 )
· JLE – skok gdy jest mniejszy lub równy (((SF+OF) mod 2) i ZF=0 )
· JNLE – skok gdy nie jest mniejszy lub równy (((SF+OF) mod 2) i ZF=1 )
· JA – skok gdy jest powyżej ( CF i ZF=0 )
· JNA – skok gdy nie jest powyżej ( CF i ZF=1 )
· JAE – skok gdy jest powyżej lub równo ( CF =0 )
· JNAE – skok gdy nie jest powyżej lub równo ( CF =1 )
· JB – skok gdy jest poniżej ( CF=1 )
· JNB – skok gdy nie jest poniżej ( CF =0 )
· JBE – skok gdy jest poniżej lub równo ( CF i ZF=1 )
· JNBE – skok gdy nie jest poniżej lub równo ( CF i ZF=0 )
rozkazy organizujące pętle
Rozkazy organizujące wyliczane pętle umożliwiają tworzenie konstrukcji programowych, odpowiadających konstrukcjom typu: DO WHILE/REPEAT UNTIL w językach wysokiego poziomu. Rozkazy te, podobnie jak rozkazy skoków warunkowych, pozwalają zmieniać wskaźniki rozkazów w zakresie od –128 do nie więcej niż +127 (skoki krótkie SHORT). Licznikiem iteracji jest rejestr CX. Rozkazy te nie zmieniają stanu rejestru wskaźników i do nich należą:
· LOOP – powtórzenie sekwencji rozkazów jeśli rejestr CX<>0
· LOOPE/LOOPZ - powtórzenie sekwencji rozkazów jeśli rejestr CX<>0 lub jest równość (wartość równa zero)
· LOOPNE/LOOPNZ - powtórzenie sekwencji rozkazów jeśli rejestr CX<>0 lub jest nierówność (wartość różna od zero)
· JCXZ – skok względny, gdy rejestr CX=0
rozkazy przerwań
Rozkazy przerwań pozwalają na przekazanie sterowania do podprogramów obsługi przerwań w taki sam sposób, jak w przypadku przerwań pochodzących od urządzeń zewnętrznych. Rozkazy przerwań:
· INT – skok do podprogramu obsługi przerwania
· INTO - skok do podprogramu obsługi przerwania, jeśli wystąpiło przepełnienie
· IRET – powrót z podprogramu obsługi przerwania do miejsca jego wywołania
rozkazy sterujące procesorem
Rozkazy sterujące w programie różnymi dodatkowymi funkcjami procesora:
· STC – ustawienie znacznika przeniesienia
· CLC – wyzerowanie znacznika przeniesienia
· CMC – zanegowanie znacznika przeniesienia
· STD – ustawienie znacznika kierunku
· CLD – wyzerowanie znacznika kierunku
· STI – ustawienie znacznika przerwania
· CLI – wyzerowanie znacznika przerwania
· HLT – zatrzymanie procesora aż do wystąpienia przerwania
· WAIT – stan oczekiwania procesora dopóki wyprowadzenie TEST jest aktywne
· ESC – przełączenie sterowania do zewnętrznego procesora
· LOCK – zarezerwowanie dostępu do magistrali na czas wykonywania następnego rozkazu
· NOP – rozkaz „nic nie rób”










3. Sposoby adresacji spotykane w mikroprocesorach.
3.1. Adresacja bezpośrednia (direct addressing)
Adresowanie bezpośrednie jest najprostszą formą adresowania argumentów. Adres efektywny jest zawarty bezpośrednio w rozkazie jako 8-bitowa lub 16-bitowa wartość zwana przemieszczeniem. Adresowanie bezpośrednie jest używane zazwyczaj w przypadku działania na prostych zmiennych, kiedy jako argument występuje nazwa zmiennej. Przykład:
ADD AX,ZMIENNA1
MOV AH,ZMIENNA2
3.2. Adresacja natychmiastowa (immediate addressing)
W adresacji natychmiastowej jako argument rozkazu zamiast zmiennej podaje się od razu adres fizyczny danej zmiennej. Przykład:
MOV DS:4h,5
MOV AX,DS:4h
3.3. Adresacja względna (relative addressing)
Adresowanie względne (względem licznika rozkazów PC) odnosi się do tych rozkazów, w których adres kolejnego rozkazu określa się jako sumę części adresowej danej zmiennej i liczby całkowitej będącej offsetem innej danej względem tej zmiennej. Przykład:
MOV CL,ZMIENNA+4
MOV AX,DS:dana+3
3.4. Adresacja pośrednia (indirect addressing)
Adresacja pośrednia polega na obliczeniu adresu efektywnego poprzez wykorzystanie jednego z rejestrów bazowych (BP, BX). Nazwa rejestru musi być podana w nawiasach prostokątnych. Przykład:
MOV BP,6
MOV AX,[BP] ; do akumulatora zapisane jest to co znajduje się w segmencie danych o offsecie 6
MOV CX,[BP+4] ; do akumulatora zapisane jest to co znajduje się w segmencie danych o offsecie 12
3.5. Adresacja indeksowa (indexed addressing)
Podobnie jak w adresacji bazowej tak samo w adresacji indeksowej do obliczenia adresu efektywnego stosuje się specjalnych indeksów zwanych indeksowymi (SI, DI). Przykład:
MOV SI,6
MOV AX,[SI] ;do akumulatora zapisane jest to co znajduje się w segmencie danych o offsecie 6
MOV CX,[SI+4] ;do akumulatora zapisane jest to co znajduje się w segmencie danych o offsecie12
3.6. Adresacja pośrednio-indeksowa
MOV AX,[BX+SI]
MOV CX,[BP+DI+4]
MOV CX,ZMIENNA[BP+DI+4]

© 2000-2024 GRY-OnLine S.A.